]> git.sur5r.net Git - i3/i3/log
i3/i3
12 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 26 Sep 2011 19:12:07 +0000 (20:12 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-focus-ipc'
Michael Stapelberg [Mon, 26 Sep 2011 19:12:03 +0000 (20:12 +0100)]
Merge branch 'fix-focus-ipc'

12 years agoBugfix: IPC: Correctly dump the 'focus' array
Michael Stapelberg [Mon, 26 Sep 2011 19:11:47 +0000 (20:11 +0100)]
Bugfix: IPC: Correctly dump the 'focus' array

12 years agotests: Use AnyEvent::I3’s get_marks (requires AE::I3 >=0.08)
Michael Stapelberg [Mon, 26 Sep 2011 18:36:27 +0000 (19:36 +0100)]
tests: Use AnyEvent::I3’s get_marks (requires AE::I3 >=0.08)

We also don’t bother with timeouts anymore. It’s expected to run the tests with
a sufficiently recent version of i3. The tests will just hang if it doesn’t
work.

12 years agoMerge branch 'nagbar-wrap' into next
Michael Stapelberg [Sun, 25 Sep 2011 17:47:23 +0000 (18:47 +0100)]
Merge branch 'nagbar-wrap' into next

12 years agoIntroduce the i3-sensible-{pager,editor,terminal} scripts
Michael Stapelberg [Sun, 25 Sep 2011 17:45:51 +0000 (18:45 +0100)]
Introduce the i3-sensible-{pager,editor,terminal} scripts

The former two provide fallbacks in case $PAGER or $EDITOR is not set (which
might be more common than you think, because they have to be set in
~/.xsession, not in the shell configuration!) while the latter tries to launch
a terminal emulator. The scripts are most prominently used in i3-nagbar, which
alerts the user when the configuration is broken for some reason. Also,
i3-sensible-terminal is used in the default configuration.

This commit does not rely on the shell supporting ${PAGER:-less} anymore, which
is not the case for 'fish'.

12 years agodocs/testsuite: a few corrections by fernandotcl
Michael Stapelberg [Sun, 25 Sep 2011 13:23:47 +0000 (14:23 +0100)]
docs/testsuite: a few corrections by fernandotcl

12 years agos/This adds up quickly/Delays add up quickly (Thanks mxf)
Michael Stapelberg [Sat, 24 Sep 2011 19:11:23 +0000 (20:11 +0100)]
s/This adds up quickly/Delays add up quickly (Thanks mxf)

12 years agoMerge branch 'testsuite' into next
Michael Stapelberg [Sat, 24 Sep 2011 19:10:21 +0000 (20:10 +0100)]
Merge branch 'testsuite' into next

12 years agoAdd docs/testsuite
Michael Stapelberg [Sat, 24 Sep 2011 16:20:36 +0000 (17:20 +0100)]
Add docs/testsuite

12 years agotests: make sure to leave no tempfiles behind
Michael Stapelberg [Sat, 24 Sep 2011 15:28:21 +0000 (16:28 +0100)]
tests: make sure to leave no tempfiles behind

12 years agotests: Bugfix: 11-goto.t: use mktemp for generating a random mark, not base64
Michael Stapelberg [Sat, 24 Sep 2011 14:56:43 +0000 (15:56 +0100)]
tests: Bugfix: 11-goto.t: use mktemp for generating a random mark, not base64

The base64 string could contain / and + which is treated specially since we
implemented PCRE support :)

12 years agotests: lib/i3test: Use //= instead of unless exists $args{key} (Thanks mxf)
Michael Stapelberg [Sat, 24 Sep 2011 14:44:42 +0000 (15:44 +0100)]
tests: lib/i3test: Use //= instead of unless exists $args{key} (Thanks mxf)

12 years agotests: refactor t/58-wm_take_focus to use wait_for_event
Michael Stapelberg [Sat, 24 Sep 2011 14:38:31 +0000 (15:38 +0100)]
tests: refactor t/58-wm_take_focus to use wait_for_event

12 years agotests: lib/i3test: Remove open_standard_window, introduce open_window
Michael Stapelberg [Sat, 24 Sep 2011 14:11:37 +0000 (15:11 +0100)]
tests: lib/i3test: Remove open_standard_window, introduce open_window

open_window has a better API than open_standard_window. It uses named
parameters and supplies default values for everything you don’t specify. This
way, you can use every feature which X11::XCB::Window supports.

12 years agotests: complete-run: remove debugging messages
Michael Stapelberg [Sat, 24 Sep 2011 12:13:26 +0000 (13:13 +0100)]
tests: complete-run: remove debugging messages

12 years agotests: complete-run: display time i3 took for starting up
Michael Stapelberg [Sat, 24 Sep 2011 12:13:09 +0000 (13:13 +0100)]
tests: complete-run: display time i3 took for starting up

12 years agotests: complete_run: directly use X11::XCB instead of ::Connection
Michael Stapelberg [Sat, 24 Sep 2011 12:09:20 +0000 (13:09 +0100)]
tests: complete_run: directly use X11::XCB instead of ::Connection

This saves about 0.5s wallclock time due to not starting up Moose/Mouse.
This is worthwhile when you develop a new feature and you are often invoking
complete_run for one specific test.

12 years agotests: use wait_for_{map,unmap} to eliminate more sleep()s
Michael Stapelberg [Sat, 24 Sep 2011 12:08:02 +0000 (13:08 +0100)]
tests: use wait_for_{map,unmap} to eliminate more sleep()s

12 years agotests: lib/i3test: provide wait_for_map and wait_for_unmap
Michael Stapelberg [Sat, 24 Sep 2011 12:07:05 +0000 (13:07 +0100)]
tests: lib/i3test: provide wait_for_map and wait_for_unmap

These functions should be used instead of calling wait_for_event directly when
waiting for MAP_NOTIFY or UNMAP_NOTIFY

12 years agotests: implement sync_with_i3 and use it instead of sleep()
Michael Stapelberg [Fri, 23 Sep 2011 19:37:45 +0000 (20:37 +0100)]
tests: implement sync_with_i3 and use it instead of sleep()

Also use open_standard_window() in a few more places where appropriate

12 years agolib/i3test.pm: reformat exports list
Michael Stapelberg [Thu, 22 Sep 2011 21:11:11 +0000 (22:11 +0100)]
lib/i3test.pm: reformat exports list

12 years agoImplement the I3_SYNC client protocol
Michael Stapelberg [Thu, 22 Sep 2011 21:08:42 +0000 (22:08 +0100)]
Implement the I3_SYNC client protocol

This is mainly useful for the testsuite. The tests can wait until i3 processed
all X11 events and then continue. This eliminates sleep() calls which leads to
a more robust and faster testsuite.

12 years agolib/i3test.pm: Don’t sleep(0.25), but wait until the window was mapped
Michael Stapelberg [Thu, 22 Sep 2011 19:30:24 +0000 (20:30 +0100)]
lib/i3test.pm: Don’t sleep(0.25), but wait until the window was mapped

This makes it faster and less racey

12 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 22 Sep 2011 22:11:14 +0000 (23:11 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-dragging-fullscreen'
Michael Stapelberg [Thu, 22 Sep 2011 22:11:11 +0000 (23:11 +0100)]
Merge branch 'fix-dragging-fullscreen'

12 years agoSkip dragging of floating cons in fullscreen mode
Yves Fischer [Thu, 22 Sep 2011 20:22:37 +0000 (22:22 +0200)]
Skip dragging of floating cons in fullscreen mode

12 years agoMerge branch 'master' into next
Michael Stapelberg [Thu, 22 Sep 2011 19:11:44 +0000 (20:11 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-close-focus'
Michael Stapelberg [Thu, 22 Sep 2011 19:10:59 +0000 (20:10 +0100)]
Merge branch 'fix-close-focus'

12 years agoBugfix: Correctly revert focus to other floating windows when closing a floating...
Michael Stapelberg [Wed, 21 Sep 2011 22:28:01 +0000 (23:28 +0100)]
Bugfix: Correctly revert focus to other floating windows when closing a floating window

Uncovered by the testsuite \o/

12 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 20 Sep 2011 21:37:08 +0000 (22:37 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-variables-cfg'
Michael Stapelberg [Tue, 20 Sep 2011 21:37:00 +0000 (22:37 +0100)]
Merge branch 'fix-variables-cfg'

12 years agoBugfix: use bufcopy instead of buf when boundary checking (Thanks thomasba)
Michael Stapelberg [Tue, 20 Sep 2011 21:36:23 +0000 (22:36 +0100)]
Bugfix: use bufcopy instead of buf when boundary checking (Thanks thomasba)

Also replace the useless (bufcopy + (next - bufcopy)) with next

12 years agoMerge branch 'master' into next
Michael Stapelberg [Tue, 20 Sep 2011 20:42:51 +0000 (21:42 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-variables-cfg'
Michael Stapelberg [Tue, 20 Sep 2011 20:42:48 +0000 (21:42 +0100)]
Merge branch 'fix-variables-cfg'

12 years agoA bit more boundary-checking when replacing variables.
Michael Stapelberg [Tue, 20 Sep 2011 20:42:26 +0000 (21:42 +0100)]
A bit more boundary-checking when replacing variables.

Makes valgrind happy

12 years agoBugfix: Correctly split key/value when parsing variables (Thanks xeen)
Michael Stapelberg [Tue, 20 Sep 2011 20:42:09 +0000 (21:42 +0100)]
Bugfix: Correctly split key/value when parsing variables (Thanks xeen)

12 years agoupdate docs/multi-monitor to include the output names and refer to the force_xinerama...
Michael Stapelberg [Mon, 19 Sep 2011 22:21:38 +0000 (23:21 +0100)]
update docs/multi-monitor to include the output names and refer to the force_xinerama config directive

12 years agomention the force_xinerama configfile directive in the userguide
Michael Stapelberg [Mon, 19 Sep 2011 22:18:40 +0000 (23:18 +0100)]
mention the force_xinerama configfile directive in the userguide

12 years agoAdd force_xinerama configuration option
Michael Walle [Mon, 19 Sep 2011 20:43:25 +0000 (22:43 +0200)]
Add force_xinerama configuration option

The configuration option does the same as the commandline parameter, except
it can be easily set by the user (e.g. you are using KDM and can't start a
session through ~/.xsession).

Signed-off-by: Michael Walle <michael@walle.cc>
12 years agoMerge branch 'master' into next
Michael Stapelberg [Mon, 19 Sep 2011 18:20:18 +0000 (19:20 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-i3bar-x11'
Michael Stapelberg [Mon, 19 Sep 2011 18:20:16 +0000 (19:20 +0100)]
Merge branch 'fix-i3bar-x11'

12 years agoi3bar: Bugfix: Check if the X11 connection is unavailable
Michael Stapelberg [Mon, 19 Sep 2011 18:17:25 +0000 (19:17 +0100)]
i3bar: Bugfix: Check if the X11 connection is unavailable

This fixes the condition where the i3 socket for some reason did not produce an
error, but the X server exited (earlier than i3?) and the left-over i3bar
process would consume 100% CPU.

How to reproduce the problem:
1) Start ./testcases/Xdummy :8
2) Start DISPLAY=:8 i3bar -s <socket path to i3 on :0>
3) Kill the Xdummy

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Sep 2011 16:44:00 +0000 (17:44 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-focus'
Michael Stapelberg [Sun, 18 Sep 2011 16:43:57 +0000 (17:43 +0100)]
Merge branch 'fix-focus'

12 years agoBugfix: Only change focus in tree_close() when the container was focused before
Michael Stapelberg [Sun, 18 Sep 2011 16:43:02 +0000 (17:43 +0100)]
Bugfix: Only change focus in tree_close() when the container was focused before

Fixes: #441
I’m not sure if that’s really all there is to it. Seems a bit too simple :).
We’ll see if I missed some corner cases in the next few days…

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Sep 2011 16:02:52 +0000 (17:02 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-move'
Michael Stapelberg [Sun, 18 Sep 2011 16:02:49 +0000 (17:02 +0100)]
Merge branch 'fix-floating-move'

12 years agoBugfix: Avoid out of bounds coordinates when moving floating windows (Thanks eeemsi)
Michael Stapelberg [Sun, 18 Sep 2011 16:00:29 +0000 (17:00 +0100)]
Bugfix: Avoid out of bounds coordinates when moving floating windows (Thanks eeemsi)

This commit makes the coordinates proportional when moving floating windows.
That is, if you have a window at the bottom of your 1920 px monitor and move it
to your 800 px monitor, it will be at the bottom of the 800 px monitor (and not
out of bounds).

12 years agoMerge branch 'role-criterion' into next
Michael Stapelberg [Sun, 18 Sep 2011 15:10:05 +0000 (16:10 +0100)]
Merge branch 'role-criterion' into next

12 years agodocs/userguide: document the window_role criterion
Michael Stapelberg [Sun, 18 Sep 2011 15:06:52 +0000 (16:06 +0100)]
docs/userguide: document the window_role criterion

12 years agot/65-for_window: add tests for window_role
Michael Stapelberg [Sun, 18 Sep 2011 15:05:54 +0000 (16:05 +0100)]
t/65-for_window: add tests for window_role

12 years agoImplement the window_role criterion (checks WM_WINDOW_ROLE)
Michael Stapelberg [Sun, 18 Sep 2011 15:05:10 +0000 (16:05 +0100)]
Implement the window_role criterion (checks WM_WINDOW_ROLE)

Closes: #446
This is handy for matching specific windows of a multi-window application, for
example only Pidgin’s buddy list window.

12 years agotests: also make launch_with_config() log to LOGPATH
Michael Stapelberg [Sun, 18 Sep 2011 14:35:04 +0000 (15:35 +0100)]
tests: also make launch_with_config() log to LOGPATH

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 18 Sep 2011 13:39:33 +0000 (14:39 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-output-focus'
Michael Stapelberg [Sun, 18 Sep 2011 13:39:30 +0000 (14:39 +0100)]
Merge branch 'fix-output-focus'

12 years agoBugfix: Use con_orientation(). Fixes switching between different outputs
Michael Stapelberg [Sun, 18 Sep 2011 13:38:39 +0000 (14:38 +0100)]
Bugfix: Use con_orientation(). Fixes switching between different outputs

Fixes: #518
For stacking containers, direct access using con->orientation is wrong, we need
to use con_orientation().

12 years agoMerge branch 'i3-input-fmt' into next
Michael Stapelberg [Sun, 18 Sep 2011 12:58:08 +0000 (13:58 +0100)]
Merge branch 'i3-input-fmt' into next

12 years agoi3-input: update manpage
Michael Stapelberg [Sun, 18 Sep 2011 12:57:39 +0000 (13:57 +0100)]
i3-input: update manpage

12 years agoi3-input: implement -F (format) option, deprecate -p (prefix)
Michael Stapelberg [Sun, 18 Sep 2011 12:51:11 +0000 (13:51 +0100)]
i3-input: implement -F (format) option, deprecate -p (prefix)

This introduces the '-F format' parameter, which takes a format and replaces %s
in it with the user input. An example: The user should enter the target
workspace name. The appropriate i3-input invocation looks like this:

    i3-input -F 'workspace "%s"' -P 'Switch to workspace: '

12 years agoi3-input: add missing \n in --help
Michael Stapelberg [Sun, 18 Sep 2011 12:21:45 +0000 (13:21 +0100)]
i3-input: add missing \n in --help

12 years agoi3-input: reformat main.c
Michael Stapelberg [Sun, 18 Sep 2011 12:20:59 +0000 (13:20 +0100)]
i3-input: reformat main.c

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 17 Sep 2011 23:40:42 +0000 (00:40 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-move'
Michael Stapelberg [Sat, 17 Sep 2011 23:40:39 +0000 (00:40 +0100)]
Merge branch 'fix-floating-move'

12 years agofix-bug-515: always adjust floating position when moving to another output
Peter Bui [Mon, 12 Sep 2011 00:14:20 +0000 (20:14 -0400)]
fix-bug-515: always adjust floating position when moving to another output

Floating con position needs to be adjusted when moving to another
output, regardless of whether or not the target workspace is visible.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 17 Sep 2011 19:55:13 +0000 (20:55 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-warp-same'
Michael Stapelberg [Sat, 17 Sep 2011 19:55:10 +0000 (20:55 +0100)]
Merge branch 'fix-warp-same'

12 years agoBugfix: Don’t warp the pointer if it already is on the target output (Thanks cls...
Michael Stapelberg [Sat, 17 Sep 2011 19:53:24 +0000 (20:53 +0100)]
Bugfix: Don’t warp the pointer if it already is on the target output (Thanks cls, pnutzh4x0r)

My testcase was putting a floating window on the left output, but overlapping a
little to the right output. Then switch to a workspace on the right output.

12 years agoMerge branch 'floating-focus' into next
Michael Stapelberg [Sat, 17 Sep 2011 18:29:52 +0000 (19:29 +0100)]
Merge branch 'floating-focus' into next

12 years agotests: extend t/35-floating-focus to use focus left/right on floating windows
Michael Stapelberg [Sat, 17 Sep 2011 18:29:23 +0000 (19:29 +0100)]
tests: extend t/35-floating-focus to use focus left/right on floating windows

12 years agoRemove obsolete code for floating focus
Michael Stapelberg [Sat, 17 Sep 2011 18:29:06 +0000 (19:29 +0100)]
Remove obsolete code for floating focus

12 years agoImplement focus switching (focus left/right) for floating windows
Michael Stapelberg [Sat, 17 Sep 2011 18:28:41 +0000 (19:28 +0100)]
Implement focus switching (focus left/right) for floating windows

Fixes: #475
12 years agoAlso make compilation possible on systems with libev 3
Michael Stapelberg [Sat, 17 Sep 2011 16:55:36 +0000 (17:55 +0100)]
Also make compilation possible on systems with libev 3

From the source:

    We need ev >= 4 for the following code. Since it is not *that* important
    (it only makes sure that there are no i3-nagbar instances left behind) we
    still support old systems with libev 3.

12 years agodocument the dependency on libev >=4.0 for ev_cleanup (Thanks phnom)
Michael Stapelberg [Sat, 17 Sep 2011 16:49:12 +0000 (17:49 +0100)]
document the dependency on libev >=4.0 for ev_cleanup (Thanks phnom)

libev 4.00 was released 2010-10-25, so nearly a year ago.

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sat, 17 Sep 2011 13:13:05 +0000 (14:13 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-float-size'
Michael Stapelberg [Sat, 17 Sep 2011 13:12:47 +0000 (14:12 +0100)]
Merge branch 'fix-float-size'

12 years agoTests: fix floating size, add a test to check floating size when starting in tiling
Michael Stapelberg [Sat, 17 Sep 2011 13:12:16 +0000 (14:12 +0100)]
Tests: fix floating size, add a test to check floating size when starting in tiling

12 years agoSend the correct X11 border_width in faked ConfigureNotifys
Michael Stapelberg [Sat, 17 Sep 2011 13:11:55 +0000 (14:11 +0100)]
Send the correct X11 border_width in faked ConfigureNotifys

12 years agoBugfix: Honor the X11 window border in ConfigureRequests
Michael Stapelberg [Sat, 17 Sep 2011 13:11:01 +0000 (14:11 +0100)]
Bugfix: Honor the X11 window border in ConfigureRequests

12 years agoBugfix: Honor the X11 window border when calculating dimensions for floating windows
Michael Stapelberg [Sat, 17 Sep 2011 13:10:35 +0000 (14:10 +0100)]
Bugfix: Honor the X11 window border when calculating dimensions for floating windows

12 years agoBugfix: Don’t use top border height twice when calculating dimensions for floating...
Michael Stapelberg [Sat, 17 Sep 2011 13:09:57 +0000 (14:09 +0100)]
Bugfix: Don’t use top border height twice when calculating dimensions for floating windows

12 years agofix build in 'next' (Thanks thomasba)
Michael Stapelberg [Wed, 14 Sep 2011 22:16:23 +0000 (23:16 +0100)]
fix build in 'next' (Thanks thomasba)

12 years agoMerge branch 'master' into next
Michael Stapelberg [Wed, 14 Sep 2011 22:00:02 +0000 (23:00 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-floating-confreq'
Michael Stapelberg [Wed, 14 Sep 2011 21:59:59 +0000 (22:59 +0100)]
Merge branch 'fix-floating-confreq'

12 years agoBugfix: Correctly handle ConfigureRequests for floating windows in multi-monitor...
Michael Stapelberg [Wed, 14 Sep 2011 21:59:19 +0000 (22:59 +0100)]
Bugfix: Correctly handle ConfigureRequests for floating windows in multi-monitor setups (Thanks thomasba)

Fixes #519

12 years agoBugfix: Don’t fix floating coordinates when reassigning (fixes flickering)
Michael Stapelberg [Wed, 14 Sep 2011 21:58:51 +0000 (22:58 +0100)]
Bugfix: Don’t fix floating coordinates when reassigning (fixes flickering)

This fixes flickering when moving floating windows between different monitors.

12 years agoMerge branch 'fix-reload-assignments' into next
Michael Stapelberg [Sun, 11 Sep 2011 22:42:12 +0000 (23:42 +0100)]
Merge branch 'fix-reload-assignments' into next

12 years agoBugfix: Correctly free old assignments when reloading
Michael Stapelberg [Sun, 11 Sep 2011 22:41:46 +0000 (23:41 +0100)]
Bugfix: Correctly free old assignments when reloading

Fixes #516

12 years agore-indent load_configuration()
Michael Stapelberg [Sun, 11 Sep 2011 22:31:06 +0000 (23:31 +0100)]
re-indent load_configuration()

12 years agoupdate changelog (no, not releasing anytime soon)
Michael Stapelberg [Sun, 11 Sep 2011 22:19:59 +0000 (23:19 +0100)]
update changelog (no, not releasing anytime soon)

12 years agoSame bugfix as 2a215fd, but for assignments with invalid criteria
Michael Stapelberg [Sun, 11 Sep 2011 21:54:41 +0000 (22:54 +0100)]
Same bugfix as 2a215fd, but for assignments with invalid criteria

12 years agoMerge branch 'master' into next
Michael Stapelberg [Sun, 11 Sep 2011 21:52:44 +0000 (22:52 +0100)]
Merge branch 'master' into next

12 years agoMerge branch 'fix-empty-criteria'
Michael Stapelberg [Sun, 11 Sep 2011 21:52:41 +0000 (22:52 +0100)]
Merge branch 'fix-empty-criteria'

12 years agoBugfix: Ignore for_window commands with empty (invalid) criteria (+test) (Thanks...
Michael Stapelberg [Sun, 11 Sep 2011 21:51:59 +0000 (22:51 +0100)]
Bugfix: Ignore for_window commands with empty (invalid) criteria (+test) (Thanks aksr)

12 years agofinally remove the deprecated 'screen' keyword from cfgparse.l
Michael Stapelberg [Sun, 11 Sep 2011 21:27:31 +0000 (22:27 +0100)]
finally remove the deprecated 'screen' keyword from cfgparse.l

12 years agoMerge branch 'new-assign' into next
Michael Stapelberg [Sun, 11 Sep 2011 21:15:51 +0000 (22:15 +0100)]
Merge branch 'new-assign' into next

12 years agodocs/userguide: fix the for_window syntax
Michael Stapelberg [Sun, 11 Sep 2011 21:15:14 +0000 (22:15 +0100)]
docs/userguide: fix the for_window syntax

12 years agodocs/userguide: document the new assign syntax
Michael Stapelberg [Sun, 11 Sep 2011 21:15:05 +0000 (22:15 +0100)]
docs/userguide: document the new assign syntax

12 years agomake the old assign syntax trigger an i3-nagbar warning (it’s deprecated), adjust...
Michael Stapelberg [Sun, 11 Sep 2011 21:01:36 +0000 (22:01 +0100)]
make the old assign syntax trigger an i3-nagbar warning (it’s deprecated), adjust test

12 years agoIntroduce a new syntax for the 'assign' command:
Michael Stapelberg [Sun, 11 Sep 2011 20:54:13 +0000 (21:54 +0100)]
Introduce a new syntax for the 'assign' command:

Instead of using a quoted string to specify the class / title, the assign
command now uses criteria, just like the for_window command or the command
scopes.

An example comes here:

    # Assign all Chromium windows (including popups) to workspace 1: www
    assign [class="^Chromium$"] → 1: www

    # Make the main browser window borderless
    for_window [class="^Chromium$" title=" - Chromium$"] border none

This gives you more control over the matching process due to various reasons:

1) Criteria work case-sensitive by default. Use the (?i) option if you want a
   case-insensitive match, like this:
   assign [class="(?i)^ChroMIUM$"] → 1

2) class and instance of WM_CLASS can now be matched separately. For example,
   when starting urxvt -name irssi, xprop will report this:
   WM_CLASS(STRING) = "irssi", "URxvt"
   The first part of this is the instance ("irssi"), the second part is the
   class ("URxvt").
   An appropriate assignment looks like this:
   assign [class="^URxvt$" instance="irssi"] → 2

3) You can now freely use a forward slash (/) in all strings since that is no
   longer used to separate class from title (in-band signaling is bad, mhkay?).