Revert previous commit

This commit is contained in:
Bastien Dejean 2012-09-29 17:32:22 +02:00
parent b9cb79f55d
commit eaba8c6715
7 changed files with 10 additions and 22 deletions

View file

@ -155,8 +155,8 @@ The following messages are handled:
toggle_locked toggle_locked
Toggle the locked state of the current window (locked windows will not respond to the 'close' command). Toggle the locked state of the current window (locked windows will not respond to the 'close' command).
rule PATTERN [DESKTOP_NAME] [floating] rule PATTERN floating
Make a new rule that will apply the given states to the windows whose class name or instance name equals PATTERN (switch to the given desktop). Make a new rule that will float the windows whose class name or instance name equals PATTERN.
reload_autostart reload_autostart
Reload the autostart file. Reload the autostart file.

View file

@ -70,12 +70,8 @@ void map_request(xcb_generic_event_t *evt)
update_floating_rectangle(c); update_floating_rectangle(c);
bool floating = false, transient = false, fullscreen = false, takes_focus = true; bool floating = false, transient = false, fullscreen = false, takes_focus = true;
desktop_t *send_to = desk;
handle_rules(win, &floating, &transient, &fullscreen, &takes_focus, &send_to); handle_rules(win, &floating, &transient, &fullscreen, &takes_focus);
if (send_to != desk)
select_desktop(send_to);
xcb_icccm_get_wm_class_reply_t reply; xcb_icccm_get_wm_class_reply_t reply;
if (xcb_icccm_get_wm_class_reply(dpy, xcb_icccm_get_wm_class(dpy, win), &reply, NULL) == 1) { if (xcb_icccm_get_wm_class_reply(dpy, xcb_icccm_get_wm_class(dpy, win), &reply, NULL) == 1) {
@ -92,13 +88,13 @@ void map_request(xcb_generic_event_t *evt)
if (floating) if (floating)
split_mode = MODE_MANUAL; split_mode = MODE_MANUAL;
insert_node(send_to, birth); insert_node(desk, birth);
if (floating) if (floating)
toggle_floating(birth); toggle_floating(birth);
if (send_to->focus != NULL && send_to->focus->client->fullscreen) if (desk->focus != NULL && desk->focus->client->fullscreen)
toggle_fullscreen(send_to->focus->client); toggle_fullscreen(desk->focus->client);
if (fullscreen) if (fullscreen)
toggle_fullscreen(birth->client); toggle_fullscreen(birth->client);
@ -106,9 +102,9 @@ void map_request(xcb_generic_event_t *evt)
c->transient = transient; c->transient = transient;
if (takes_focus) if (takes_focus)
focus_node(send_to, birth, false); focus_node(desk, birth, false);
apply_layout(send_to, send_to->root, root_rect); apply_layout(desk, desk->root, root_rect);
window_show(c->window); window_show(c->window);

View file

@ -168,8 +168,6 @@ void process_message(char *msg, char *rsp)
while (arg != NULL) { while (arg != NULL) {
if (strcmp(arg, "floating") == 0) if (strcmp(arg, "floating") == 0)
rule->effect.floating = true; rule->effect.floating = true;
else
rule->effect.send_to = find_desktop(arg);
arg = strtok(NULL, TOKEN_SEP); arg = strtok(NULL, TOKEN_SEP);
} }
rule->next = rule_head; rule->next = rule_head;

View file

@ -19,7 +19,7 @@ bool is_match(rule_t *r, xcb_window_t win)
return false; return false;
} }
void handle_rules(xcb_window_t win, bool *floating, bool *transient, bool *fullscreen, bool *takes_focus, desktop_t **send_to) void handle_rules(xcb_window_t win, bool *floating, bool *transient, bool *fullscreen, bool *takes_focus)
{ {
xcb_ewmh_get_atoms_reply_t win_type; xcb_ewmh_get_atoms_reply_t win_type;
@ -60,10 +60,6 @@ void handle_rules(xcb_window_t win, bool *floating, bool *transient, bool *fulls
if (is_match(rule, win)) { if (is_match(rule, win)) {
if (rule->effect.floating) if (rule->effect.floating)
*floating = true; *floating = true;
if (rule->effect.send_to != NULL) {
*send_to = rule->effect.send_to;
rule->effect.send_to = NULL; /* serve only once */
}
} }
rule = rule->next; rule = rule->next;
} }

View file

@ -2,6 +2,6 @@
#define _RULES_H #define _RULES_H
bool is_match(rule_t *, xcb_window_t); bool is_match(rule_t *, xcb_window_t);
void handle_rules(xcb_window_t, bool *, bool *, bool *, bool *, desktop_t **); void handle_rules(xcb_window_t, bool *, bool *, bool *, bool *);
#endif #endif

View file

@ -40,7 +40,6 @@ rule_t *make_rule(void)
{ {
rule_t *r = malloc(sizeof(rule_t)); rule_t *r = malloc(sizeof(rule_t));
r->effect.floating = false; r->effect.floating = false;
r->effect.send_to = NULL;
r->next = NULL; r->next = NULL;
return r; return r;
} }

View file

@ -110,7 +110,6 @@ typedef struct {
typedef struct { typedef struct {
bool floating; bool floating;
desktop_t *send_to;
} rule_effect_t; } rule_effect_t;
typedef struct rule_t rule_t; typedef struct rule_t rule_t;