diff options
| author | Dana Jansens <danakj@orodu.net> | 2010-04-16 18:41:08 -0400 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2010-04-16 21:32:37 -0400 |
| commit | b05ac359b8a5a91cd2a115ba4612e8acfdf1d8d6 (patch) | |
| tree | c5c54b0d6ac48140fee0e9b687e83b5a7b094621 /openbox/focus_cycle.c | |
| parent | 56fface3a4e2b5970e4867047207da84a58adeb2 (diff) | |
show the focus cycle popup's icons in linear order when cycling in linear order (bug #2319)
Diffstat (limited to 'openbox/focus_cycle.c')
| -rw-r--r-- | openbox/focus_cycle.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/openbox/focus_cycle.c b/openbox/focus_cycle.c index d478093d..39d704cc 100644 --- a/openbox/focus_cycle.c +++ b/openbox/focus_cycle.c @@ -37,6 +37,7 @@ typedef enum { ObClient *focus_cycle_target = NULL; static ObCycleType focus_cycle_type = OB_CYCLE_NONE; +static gboolean focus_cycle_linear; static gboolean focus_cycle_iconic_windows; static gboolean focus_cycle_all_desktops; static gboolean focus_cycle_nonhilite_windows; @@ -87,7 +88,8 @@ void focus_cycle_reorder() { if (focus_cycle_type == OB_CYCLE_NORMAL) { focus_cycle_target = focus_cycle_popup_refresh(focus_cycle_target, - TRUE); + TRUE, + focus_cycle_linear); focus_cycle_update_indicator(focus_cycle_target); if (!focus_cycle_target) focus_cycle(TRUE, TRUE, TRUE, TRUE, TRUE, TRUE, @@ -126,6 +128,7 @@ ObClient* focus_cycle(gboolean forward, gboolean all_desktops, } if (focus_cycle_target == NULL) { + focus_cycle_linear = linear; focus_cycle_iconic_windows = TRUE; focus_cycle_all_desktops = all_desktops; focus_cycle_nonhilite_windows = nonhilite_windows; @@ -156,7 +159,7 @@ ObClient* focus_cycle(gboolean forward, gboolean all_desktops, focus_cycle_draw_indicator(showbar ? ft : NULL); } /* same arguments as focus_target_valid */ - focus_cycle_popup_show(ft, mode); + focus_cycle_popup_show(ft, mode, focus_cycle_linear); return focus_cycle_target; } else if (ft != focus_cycle_target) { focus_cycle_target = ft; @@ -298,6 +301,7 @@ ObClient* focus_directional_cycle(ObDirection dir, gboolean dock_windows, goto done_cycle; if (focus_cycle_target == NULL) { + focus_cycle_linear = FALSE; focus_cycle_iconic_windows = FALSE; focus_cycle_all_desktops = FALSE; focus_cycle_nonhilite_windows = TRUE; |
