]> git.sur5r.net Git - i3/i3/log
i3/i3
12 years agoImplement smart popup_during_fullscreen mode
Michael Stapelberg [Wed, 24 Oct 2012 17:59:09 +0000 (19:59 +0200)]
Implement smart popup_during_fullscreen mode

With this commit, the default behavior is to display popups while there
is a fullscreen application only if the popup belongs to that
application (as determined by the WM_TRANSIENT_FOR hint which
applications have to set properly).

fixes #663

12 years agospelling error: s/implementaiton/implementation/g
Michael Stapelberg [Wed, 24 Oct 2012 05:58:03 +0000 (07:58 +0200)]
spelling error: s/implementaiton/implementation/g

12 years agokeycode default config: s/bindcode/bindsym (Thanks Tim)
Michael Stapelberg [Fri, 19 Oct 2012 17:26:05 +0000 (19:26 +0200)]
keycode default config: s/bindcode/bindsym (Thanks Tim)

12 years agodocs/userguide: use $mod consistently (Thanks Conley)
Michael Stapelberg [Tue, 16 Oct 2012 21:02:04 +0000 (23:02 +0200)]
docs/userguide: use $mod consistently (Thanks Conley)

12 years agoSkip floating windows in the focus stack when moving through the tree
Deiz [Mon, 15 Oct 2012 00:40:34 +0000 (20:40 -0400)]
Skip floating windows in the focus stack when moving through the tree

Includes a test for the new behaviour

12 years agoFocus windows when middle-clicking (X paste)
Deiz [Sun, 14 Oct 2012 18:24:37 +0000 (14:24 -0400)]
Focus windows when middle-clicking (X paste)

As with most click-based focusing, this only has an effect when
focus_follows_mouse is disabled.

12 years agoSkip floating cons in focus (child|parent) and stop them from being split
Deiz [Tue, 16 Oct 2012 15:50:39 +0000 (11:50 -0400)]
Skip floating cons in focus (child|parent) and stop them from being split

Focusing child from a workspace should now skip over the floating con and
go directly to its child. Focusing parent from that grandchild should leave
the workspace focused again.

12 years agobugfix: don’t send workspace command when at beginning/end of workspaces (Thanks...
Michael Stapelberg [Sun, 14 Oct 2012 19:05:44 +0000 (21:05 +0200)]
bugfix: don’t send workspace command when at beginning/end of workspaces (Thanks whitequark)

fixes #843

12 years agoexit with a proper error message when there are no outputs available (Thanks flo)
Michael Stapelberg [Sun, 14 Oct 2012 18:56:13 +0000 (20:56 +0200)]
exit with a proper error message when there are no outputs available (Thanks flo)

fixes #842

12 years agoconfig parser: make newlines okay before opening braces (Thanks aksr)
Michael Stapelberg [Wed, 10 Oct 2012 06:18:15 +0000 (08:18 +0200)]
config parser: make newlines okay before opening braces (Thanks aksr)

12 years agoBugfix: Actually set border width in config_directives.c (Thanks strcat)
Michael Stapelberg [Tue, 9 Oct 2012 20:06:36 +0000 (22:06 +0200)]
Bugfix: Actually set border width in config_directives.c (Thanks strcat)

12 years agoAllow 'focus $dir' to move out of non-global fullscreen containers
Deiz [Mon, 8 Oct 2012 16:28:08 +0000 (12:28 -0400)]
Allow 'focus $dir' to move out of non-global fullscreen containers

12 years agoAllow workspace contents to be moved if there are only floating children
Deiz [Thu, 4 Oct 2012 18:10:10 +0000 (14:10 -0400)]
Allow workspace contents to be moved if there are only floating children

12 years agoFix fullscreen focus bug and corresponding test flaw
Deiz [Sat, 6 Oct 2012 20:41:04 +0000 (16:41 -0400)]
Fix fullscreen focus bug and corresponding test flaw

As the workspace might be reached via recursion (e.g. moving from the edge
of a fullscreen split container), it's necessary to check for a fullscreen
container whenever a workspace is reached.

12 years agoGrab keys with all permutations of lock and numlock
Deiz [Tue, 9 Oct 2012 17:26:33 +0000 (13:26 -0400)]
Grab keys with all permutations of lock and numlock

This should prevent all cases of caps lock (or shift lock, on some
keyboards) from interfering with i3 key bindings.

12 years agotests: fix error messages, add 'bind' as synonym to mode blocks
Michael Stapelberg [Tue, 9 Oct 2012 12:11:35 +0000 (14:11 +0200)]
tests: fix error messages, add 'bind' as synonym to mode blocks

12 years agoFix warning: exclude NULL parameters from format string (Thanks knopwob)
Michael Stapelberg [Tue, 9 Oct 2012 12:08:14 +0000 (14:08 +0200)]
Fix warning: exclude NULL parameters from format string (Thanks knopwob)

12 years agoaccept ctrl as synonym of control (Thanks SardemFF7)
Michael Stapelberg [Tue, 9 Oct 2012 12:05:49 +0000 (14:05 +0200)]
accept ctrl as synonym of control (Thanks SardemFF7)

12 years agoerror out instead of accepting invalid key bindings (Thanks SardemFF7)
Michael Stapelberg [Tue, 9 Oct 2012 12:05:37 +0000 (14:05 +0200)]
error out instead of accepting invalid key bindings (Thanks SardemFF7)

12 years agoadd missing include/config_parser.h (Thanks slowpoke)
Michael Stapelberg [Mon, 8 Oct 2012 14:28:32 +0000 (16:28 +0200)]
add missing include/config_parser.h (Thanks slowpoke)

12 years agobugfix: config-parser: bind is a synonym for bindcode
Michael Stapelberg [Mon, 8 Oct 2012 11:40:44 +0000 (13:40 +0200)]
bugfix: config-parser: bind is a synonym for bindcode

12 years agofix warning about printf() field length
Michael Stapelberg [Mon, 8 Oct 2012 11:30:14 +0000 (13:30 +0200)]
fix warning about printf() field length

12 years agoadd test.config_parser to .gitignore
Michael Stapelberg [Mon, 8 Oct 2012 11:27:42 +0000 (13:27 +0200)]
add test.config_parser to .gitignore

12 years agouse the new parser by default
Michael Stapelberg [Mon, 8 Oct 2012 11:26:42 +0000 (13:26 +0200)]
use the new parser by default

you can force the old parser with the command line flag
--force-old-config-parser-v4.4-only (which will be present in v4.4 only,
as the name suggests)

12 years agomove owindow definition into the command parser
Michael Stapelberg [Mon, 8 Oct 2012 11:26:24 +0000 (13:26 +0200)]
move owindow definition into the command parser

12 years agolink the parser test binaries with -g
Michael Stapelberg [Mon, 8 Oct 2012 11:25:57 +0000 (13:25 +0200)]
link the parser test binaries with -g

12 years agochange the commands_parser prefix to 'command' for consistency
Michael Stapelberg [Mon, 8 Oct 2012 11:25:32 +0000 (13:25 +0200)]
change the commands_parser prefix to 'command' for consistency

12 years agot/201-config-parser: test more directives, test error handling
Michael Stapelberg [Mon, 8 Oct 2012 11:24:47 +0000 (13:24 +0200)]
t/201-config-parser: test more directives, test error handling

12 years agoport the entire old config parser to the new one
Michael Stapelberg [Mon, 8 Oct 2012 11:23:48 +0000 (13:23 +0200)]
port the entire old config parser to the new one

12 years agoconfig_parser: implement <number>s, proper error handling
Michael Stapelberg [Mon, 8 Oct 2012 11:23:06 +0000 (13:23 +0200)]
config_parser: implement <number>s, proper error handling

12 years agotests: use new assign syntax, drop legacy test
Michael Stapelberg [Mon, 8 Oct 2012 11:21:48 +0000 (13:21 +0200)]
tests: use new assign syntax, drop legacy test

12 years agogenerate-command-parser: support <number>s, state ID replacing and…
Michael Stapelberg [Mon, 8 Oct 2012 11:19:33 +0000 (13:19 +0200)]
generate-command-parser: support <number>s, state ID replacing and…

…determining the next state within a function like cfg_criteria_pop() by
passing next_state in the ConfigResult (or CommandResult) and using it
after calling.

12 years agoadd first bits of a (custom) config parser
Michael Stapelberg [Sun, 7 Oct 2012 14:32:50 +0000 (16:32 +0200)]
add first bits of a (custom) config parser

12 years agogenerate-command-parser: make input/output configurable
Michael Stapelberg [Sun, 7 Oct 2012 14:30:34 +0000 (16:30 +0200)]
generate-command-parser: make input/output configurable

12 years agoi3-msg.man: fix reference to the "reply section" (Thanks slowpoke)
Michael Stapelberg [Sat, 6 Oct 2012 20:27:57 +0000 (22:27 +0200)]
i3-msg.man: fix reference to the "reply section" (Thanks slowpoke)

12 years agoallow floating cons to be reached using 'focus parent'
Michael Stapelberg [Thu, 4 Oct 2012 16:50:33 +0000 (18:50 +0200)]
allow floating cons to be reached using 'focus parent'

I suppose this was just an oversight. Let’s see if it causes any issues.

fixes #831

12 years agoImprove startup sequence termination conditions
Deiz [Thu, 4 Oct 2012 01:06:04 +0000 (21:06 -0400)]
Improve startup sequence termination conditions

If a window with _NET_STARTUP_ID set is moved to another workspace, it
will delete any associated startup sequence immediately. This will also
occur if a window has a leader with _NET_STARTUP_ID set, if the leader
has no container (never been mapped).

A startup sequence may also be deleted if it's matched by
startup_workspace_for_window() and its 30-second timeout has elapsed.

12 years agoReplace the discrete 'split' Con property with a simple function.
Deiz [Wed, 3 Oct 2012 17:10:48 +0000 (13:10 -0400)]
Replace the discrete 'split' Con property with a simple function.

12 years agoUn-fullscreen as needed when moving fullscreen containers
Deiz [Thu, 4 Oct 2012 08:22:41 +0000 (04:22 -0400)]
Un-fullscreen as needed when moving fullscreen containers

This avoids a case where a fullscreen container could be moved onto a
workspace that already had its own fullscreen container, leading to
two fullscreen containers on top of each other.

12 years agoshmlog: Remove O_TRUNC flag for shm_open, we truncate ourselves
Michael Stapelberg [Thu, 4 Oct 2012 15:05:08 +0000 (17:05 +0200)]
shmlog: Remove O_TRUNC flag for shm_open, we truncate ourselves

12 years agorelease-notes: s/mod+l/mod+e/ (Thanks hax404)
Michael Stapelberg [Thu, 4 Oct 2012 15:04:37 +0000 (17:04 +0200)]
release-notes: s/mod+l/mod+e/ (Thanks hax404)

12 years agodocs/ipc: add a warning to use an existing library (Thanks slowpoke)
Michael Stapelberg [Wed, 3 Oct 2012 21:59:33 +0000 (23:59 +0200)]
docs/ipc: add a warning to use an existing library (Thanks slowpoke)

12 years agodocs/ipc: remove unnecessary newline (Thanks Merovius)
Michael Stapelberg [Wed, 3 Oct 2012 21:54:35 +0000 (23:54 +0200)]
docs/ipc: remove unnecessary newline (Thanks Merovius)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 3 Oct 2012 13:08:31 +0000 (15:08 +0200)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-ws-layout'
Michael Stapelberg [Wed, 3 Oct 2012 13:08:31 +0000 (15:08 +0200)]
Merge branch 'fix-ws-layout'

12 years agoset workspace_layout in create_workspace_on_output
Sascha Kruse [Wed, 3 Oct 2012 01:52:57 +0000 (03:52 +0200)]
set workspace_layout in create_workspace_on_output

fixes #835

12 years agoFocus the relevant workspace when clicking any container.
Deiz [Sun, 30 Sep 2012 09:26:38 +0000 (05:26 -0400)]
Focus the relevant workspace when clicking any container.

12 years agoMaintain relative positioning when moving floating windows between outputs.
Deiz [Sun, 30 Sep 2012 04:30:03 +0000 (00:30 -0400)]
Maintain relative positioning when moving floating windows between outputs.

12 years agotestsuite: add 'new-test' helper script
Michael Stapelberg [Tue, 2 Oct 2012 22:13:30 +0000 (00:13 +0200)]
testsuite: add 'new-test' helper script

12 years agoadd test for previous commit
Michael Stapelberg [Tue, 2 Oct 2012 22:04:05 +0000 (00:04 +0200)]
add test for previous commit

12 years agoOnly re-focus the workspace when moving a con if the target ws is hidden.
Deiz [Mon, 1 Oct 2012 02:44:19 +0000 (22:44 -0400)]
Only re-focus the workspace when moving a con if the target ws is hidden.

12 years agoImplement moving workspaces as if they're regular containers
Deiz [Fri, 28 Sep 2012 17:54:24 +0000 (13:54 -0400)]
Implement moving workspaces as if they're regular containers

12 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 28 Sep 2012 22:03:42 +0000 (00:03 +0200)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-move'
Michael Stapelberg [Fri, 28 Sep 2012 22:03:25 +0000 (00:03 +0200)]
Merge branch 'fix-floating-move'

12 years agoBugfix: Correctly move floating windows to invisible workspaces cross-output (Thanks...
Michael Stapelberg [Fri, 28 Sep 2012 22:02:41 +0000 (00:02 +0200)]
Bugfix: Correctly move floating windows to invisible workspaces cross-output (Thanks swh)

12 years agoBugfix: with one ws per output, don’t crash on cross-output moves (Thanks moju)
Michael Stapelberg [Fri, 28 Sep 2012 21:04:37 +0000 (23:04 +0200)]
Bugfix: with one ws per output, don’t crash on cross-output moves (Thanks moju)

fixes #827

12 years agoMake the resize command honor criteria (Thanks Tblue)
Michael Stapelberg [Fri, 28 Sep 2012 18:36:25 +0000 (20:36 +0200)]
Make the resize command honor criteria (Thanks Tblue)

fixes #816

12 years agoMerge branch 'fix-indicator-pos'
Michael Stapelberg [Fri, 28 Sep 2012 17:47:16 +0000 (19:47 +0200)]
Merge branch 'fix-indicator-pos'

12 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 28 Sep 2012 17:47:16 +0000 (19:47 +0200)]
Merge branch 'master' into next

12 years agoBugfix: Draw h-split indicator at the right position
Michael Stapelberg [Fri, 28 Sep 2012 17:46:50 +0000 (19:46 +0200)]
Bugfix: Draw h-split indicator at the right position

fixes #817

12 years agoFix 'border toggle' (it "skipped" 1px border) (Thanks joepd)
Michael Stapelberg [Fri, 28 Sep 2012 17:29:14 +0000 (19:29 +0200)]
Fix 'border toggle' (it "skipped" 1px border) (Thanks joepd)

fixes #818

12 years agoMerge branch 'fix-floating-move'
Michael Stapelberg [Fri, 28 Sep 2012 16:24:04 +0000 (18:24 +0200)]
Merge branch 'fix-floating-move'

12 years agoMerge branch 'master' into next
Michael Stapelberg [Fri, 28 Sep 2012 16:24:04 +0000 (18:24 +0200)]
Merge branch 'master' into next

12 years agoBugfix: don’t crash when dragged floating window closes (Thanks darkraven)
Michael Stapelberg [Fri, 28 Sep 2012 16:23:01 +0000 (18:23 +0200)]
Bugfix: don’t crash when dragged floating window closes (Thanks darkraven)

Previously, while the loop would not be executed anymore, the callback
(for actually repositioning the window after a MotionNotify) would still
get called once. This commit avoids that, thus fixing the crash.

fixes #819

12 years agouserguide: document how to "un-scratchpad" a window (Thanks knopwob)
Michael Stapelberg [Fri, 28 Sep 2012 16:03:36 +0000 (18:03 +0200)]
userguide: document how to "un-scratchpad" a window (Thanks knopwob)

12 years agofix crash: send non-floating window with floating parent to scratchpad (thanks pkordy)
Simon Elsbrock [Thu, 27 Sep 2012 22:38:02 +0000 (00:38 +0200)]
fix crash: send non-floating window with floating parent to scratchpad (thanks pkordy)

Fix a crash that occured when moving a window to the scratchpad that is
seemingly floating to the user, but actually a descendant of a floating
parent con (and itself non-floating). If that is the case, move the
floating parent container to scratchpad instead of the window.

fixes #740

12 years agoRevert "raise floating windows when focusing (Thanks Marcos)"
Michael Stapelberg [Fri, 28 Sep 2012 15:57:17 +0000 (17:57 +0200)]
Revert "raise floating windows when focusing (Thanks Marcos)"

This commit breaks floating window keyboard focus order
(t/135-floating-focus.t) when you have > 2 floating windows. Since
keyboard focus is more important than saving one click to raise floating
windows, I revert the commit.

Note that we cannot implement this without keeping a third list (beneath
floating_windows and focus) for the z coordinate of a floating window.
This seems not worth it.

This reverts commit 064be457e59603e1d4a4b45b4bf138dcc231a849.

12 years agoraise floating windows when focusing (Thanks Marcos)
Michael Stapelberg [Thu, 27 Sep 2012 10:41:38 +0000 (12:41 +0200)]
raise floating windows when focusing (Thanks Marcos)

12 years agoadd testcase for commit 87525ad
Michael Stapelberg [Thu, 27 Sep 2012 10:37:38 +0000 (12:37 +0200)]
add testcase for commit 87525ad

12 years agoremove async-unsafe functions from signal handler
Michael Stapelberg [Thu, 27 Sep 2012 10:37:27 +0000 (12:37 +0200)]
remove async-unsafe functions from signal handler

12 years agoRevert "Use ev_signal to avoid async-unsafe functions (Thanks Markus)"
Michael Stapelberg [Thu, 27 Sep 2012 10:34:09 +0000 (12:34 +0200)]
Revert "Use ev_signal to avoid async-unsafe functions (Thanks Markus)"

This makes our signal handler useless and leads to infinite SIGSEGV
loops because the ev callback handler gets called only from within the
event loop, and control doesn’t necessary get to the event loop…

This reverts commit 514265b529ac78b7778eeee2db3dddb6f3a1c24c.

12 years agofix crash: urgent floating con on separate workspace (thanks Piotr)
Simon Elsbrock [Thu, 27 Sep 2012 06:35:09 +0000 (08:35 +0200)]
fix crash: urgent floating con on separate workspace (thanks Piotr)

If there is a single floating con on a separate workspace that is not
focused, and this con becomes urgent, switching back to that workspace
may result in a crash of i3. This is because while setting the urgency
of parent containers, 'parent' may become NULL in case of floating
containers. This commit checks the validity of parent.

fixes #821

12 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 27 Sep 2012 10:10:14 +0000 (12:10 +0200)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-manage-unmap'
Michael Stapelberg [Thu, 27 Sep 2012 10:10:08 +0000 (12:10 +0200)]
Merge branch 'fix-manage-unmap'

12 years agoBugfix: properly react to windows being unmapped before we can reparent (Thanks xeen...
Michael Stapelberg [Thu, 27 Sep 2012 10:09:06 +0000 (12:09 +0200)]
Bugfix: properly react to windows being unmapped before we can reparent (Thanks xeen, darkraven)

We need to verify that setting the event mask works, and we need to
include StructureNotify to get unmap events at any point in time.
Thanks darkraven for the pointer.

fixes #718

12 years agoBugfix: Correctly clear the urgency hint when the window is underneath a split-con...
Michael Stapelberg [Tue, 25 Sep 2012 13:40:08 +0000 (15:40 +0200)]
Bugfix: Correctly clear the urgency hint when the window is underneath a split-con (+test)

Previously, when you had an urgent container in a stack on some
invisible workspace (say urxvt) and you switched to it, the urgency hint
was not properly cleared.

12 years agoMerge branch 'fix-assign-render'
Michael Stapelberg [Mon, 24 Sep 2012 21:59:30 +0000 (23:59 +0200)]
Merge branch 'fix-assign-render'

12 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 24 Sep 2012 21:59:30 +0000 (23:59 +0200)]
Merge branch 'master' into next

12 years agoBugfix: Render workspaces created by assignments to use correct coordinates (Thanks...
Michael Stapelberg [Mon, 24 Sep 2012 21:57:58 +0000 (23:57 +0200)]
Bugfix: Render workspaces created by assignments to use correct coordinates (Thanks meaneye)

Previously, i3 would send width=0, height=0 to windows which were put on
workspaces created by an assignment (that is, invisible workspaces,
which do not get rendered normally).

fixes #653

12 years agorendering: fix bottom line of tabbed borders decoration not continuous
noxxun [Sat, 22 Sep 2012 15:59:33 +0000 (17:59 +0200)]
rendering: fix bottom line of tabbed borders decoration not continuous

fixes #814

Signed-off-by: noxxun <noxxun@gmail.com>
12 years agoImplement variable border widths for pixel/normal
Yaroslav Molochko [Sun, 23 Sep 2012 23:14:00 +0000 (02:14 +0300)]
Implement variable border widths for pixel/normal

fixes #325

12 years agoDisplay appropriate cursors when resizing or moving floating windows.
Deiz [Sun, 23 Sep 2012 19:43:43 +0000 (15:43 -0400)]
Display appropriate cursors when resizing or moving floating windows.

12 years agoClicking the root window should try to focus the relevant workspace.
Deiz [Sun, 23 Sep 2012 14:35:52 +0000 (10:35 -0400)]
Clicking the root window should try to focus the relevant workspace.

12 years agoReplace duplicate "__" workspace prefix checks with a single function.
Deiz [Sun, 23 Sep 2012 12:56:56 +0000 (08:56 -0400)]
Replace duplicate "__" workspace prefix checks with a single function.

12 years agodraw empty title if WM_NAME is empty
Sascha Kruse [Sun, 23 Sep 2012 04:09:34 +0000 (06:09 +0200)]
draw empty title if WM_NAME is empty

fixes #811

12 years agoadd descriptive titles to split containers
Sascha Kruse [Sun, 9 Sep 2012 04:37:51 +0000 (06:37 +0200)]
add descriptive titles to split containers

12 years agotestcase for propagating urgency
Sascha Kruse [Sun, 9 Sep 2012 16:08:55 +0000 (18:08 +0200)]
testcase for propagating urgency

12 years agomark parents of urgent container also as urgent
Sascha Kruse [Mon, 3 Sep 2012 14:05:44 +0000 (16:05 +0200)]
mark parents of urgent container also as urgent

12 years agoUserguide: Added link from 7.2 to 6.6
Pauli Ervi [Sat, 22 Sep 2012 16:19:53 +0000 (19:19 +0300)]
Userguide: Added link from 7.2 to 6.6

The multiple monitors section (7) is probably the most
likely place for someone to go look for how to move
workspaces between monitors (6.6).

12 years agoClose empty workspaces after cross-output move (+test) (Thanks chrysn)
Michael Stapelberg [Sat, 22 Sep 2012 17:03:19 +0000 (19:03 +0200)]
Close empty workspaces after cross-output move (+test) (Thanks chrysn)

fixes #795

12 years agoremove unnecessary code in render_con().
darkraven [Thu, 6 Sep 2012 15:27:23 +0000 (23:27 +0800)]
remove unnecessary code in render_con().

The removed code was add by commit 61b8a62 to fix #564. That bug is cause
by rendering the mplayer window again as a floating window (even if it
has been rendered before as a fullscreen window, at line 202). So simply
checking for fullscreen window is enough to solve this problem. Treating
floating/tiling fullscreen window differently is not needed.

12 years agoIn get_output_next(), avoid an off-by-one for adjacent outputs and || mutually-exclus...
Deiz [Sat, 22 Sep 2012 16:05:22 +0000 (12:05 -0400)]
In get_output_next(), avoid an off-by-one for adjacent outputs and || mutually-exclusive failure conditions.

12 years agot/506-focus-right: also verify that focus up/down is a no-op (Thanks swh)
Michael Stapelberg [Sat, 22 Sep 2012 15:30:44 +0000 (17:30 +0200)]
t/506-focus-right: also verify that focus up/down is a no-op (Thanks swh)

12 years agoMake get_output_next() work with non-aligned RandR setups (+test) (Thanks Feh, swh...
Michael Stapelberg [Sat, 22 Sep 2012 14:49:37 +0000 (16:49 +0200)]
Make get_output_next() work with non-aligned RandR setups (+test) (Thanks Feh, swh, Moritz)

A good visualization of the new algorithm is this:

           +--------+
           |        |
+--------+=|   S1   |========================
|        | |        |
|   S0   | +--------+
|        |         +--------+
+--------+=========|        |================
                   |   S2   | +--------+
                   |        | |        |
                   +--------+ |   S3   |
                              |        |
                              +--------+

When focus is on S0, 'focus output right' will first match S1 (the
closest output which overlaps in the highlighted area), then S2, but not
S3 (since S3 does not overlap into the highlighted area).

fixes #669
fixes #771

12 years agoi3bar: Honor "urgent" protocol hint by unhiding
Quentin Glidic [Tue, 21 Aug 2012 11:52:15 +0000 (13:52 +0200)]
i3bar: Honor "urgent" protocol hint by unhiding

12 years agoi3bar: Allow to force unhide with draw_bars
Quentin Glidic [Tue, 21 Aug 2012 11:51:40 +0000 (13:51 +0200)]
i3bar: Allow to force unhide with draw_bars

12 years agoi3bar: Allow child to specify signals to use
Quentin Glidic [Mon, 20 Aug 2012 20:20:37 +0000 (22:20 +0200)]
i3bar: Allow child to specify signals to use

We now wait for the child process to send the first line before stopping
it to use the signal which might be specified in the i3bar protocol
header
Since clients might use the same signal for both stop and cont, we also
save the stopped state of the child to avoid stopping it while hidden!

12 years agoi3bar: Fully parse the JSON header
Quentin Glidic [Mon, 3 Sep 2012 08:43:29 +0000 (10:43 +0200)]
i3bar: Fully parse the JSON header

12 years agoi3bar: Introduce i3bar_child struct
Quentin Glidic [Mon, 3 Sep 2012 08:23:25 +0000 (10:23 +0200)]
i3bar: Introduce i3bar_child struct

12 years agoi3bar: Handle the first line with another callback
Quentin Glidic [Mon, 3 Sep 2012 08:11:01 +0000 (10:11 +0200)]
i3bar: Handle the first line with another callback