]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Wed, 5 Oct 2011 19:46:47 +0000 (20:46 +0100)]
docs/testsuite: explain how socket activation works in i3
Michael Stapelberg [Tue, 4 Oct 2011 22:39:59 +0000 (23:39 +0100)]
Merge branch 'testsuite' into next
Michael Stapelberg [Tue, 4 Oct 2011 22:39:36 +0000 (23:39 +0100)]
tests: move i3test.pm from t/lib to lib/
Michael Stapelberg [Tue, 4 Oct 2011 22:36:57 +0000 (23:36 +0100)]
tests: use a lot higher timeouts
This makes the tests more robust on a machine which is loaded.
Also, it makes the tests run (significantly) longer if anything goes wrong.
Michael Stapelberg [Tue, 4 Oct 2011 22:36:43 +0000 (23:36 +0100)]
tests: don’t overwrite $timeout, kill timer when done
Michael Stapelberg [Tue, 4 Oct 2011 22:34:23 +0000 (23:34 +0100)]
tests: Convert all testcases to use the new launch_with_config API
It now returns a pid directly, not a Proc::Background object.
Michael Stapelberg [Tue, 4 Oct 2011 22:33:38 +0000 (23:33 +0100)]
tests: launch_with_config: use socket activation
Michael Stapelberg [Tue, 4 Oct 2011 22:31:33 +0000 (23:31 +0100)]
tests: SocketActivation: append to the logfile, more comments
Michael Stapelberg [Tue, 4 Oct 2011 22:31:06 +0000 (23:31 +0100)]
tests: SocketActivation: only close() and dup2() if fileno(socket) != 3
Michael Stapelberg [Tue, 4 Oct 2011 19:55:29 +0000 (20:55 +0100)]
tests: Refactor the socket activation into lib/SocketActivation.pm
Michael Stapelberg [Tue, 4 Oct 2011 19:10:11 +0000 (20:10 +0100)]
tests: re-order dependencies in complete-run, make clear which are shipped with Perl
Michael Stapelberg [Tue, 4 Oct 2011 19:05:12 +0000 (20:05 +0100)]
tests: remove unused dependency Proc::Background from complete-run
Michael Stapelberg [Tue, 4 Oct 2011 19:03:08 +0000 (20:03 +0100)]
tests: eliminate dependency on the DateTime module by using POSIX::strftime
Michael Stapelberg [Tue, 4 Oct 2011 18:58:17 +0000 (19:58 +0100)]
tests: make complete-run use POSIX::close(3) instead of reserving a file descriptor when starting
This makes it possible to run complete-run.pl with a "tainted" environment in
which fd 3 (and possibly others) are already present.
Michael Stapelberg [Mon, 3 Oct 2011 20:54:36 +0000 (21:54 +0100)]
Bugfix: Warp pointer to the correct window when using the 'focus' command
Comment in the code makes the fix clear, I think.
Steps to reproduce the issue:
1) On the right monitor, open two terminals (h-split workspace)
2) 'i3 mark foo' on the right terminal
3) Focus the left terminal
4) Switch to the left monitor
5) i3 '[con_mark="foo"] focus'
6) the left window will contain the pointer (and is focused for a short period
of time, or even permanently due to race conditions)
Michael Stapelberg [Mon, 3 Oct 2011 18:31:12 +0000 (19:31 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Mon, 3 Oct 2011 18:31:09 +0000 (19:31 +0100)]
Merge branch 'fix-i3bar-man'
Noe Rubinstein [Sun, 2 Oct 2011 22:54:24 +0000 (00:54 +0200)]
escape font name
The double-dash gets scrambled by a2x otherwise
Michael Stapelberg [Sun, 2 Oct 2011 21:22:03 +0000 (22:22 +0100)]
Merge branch 'ws_next' into next
Michael Stapelberg [Sun, 2 Oct 2011 21:21:38 +0000 (22:21 +0100)]
Mention 'move workspace next/prev' in the userguide
Michael Stapelberg [Sun, 2 Oct 2011 21:18:21 +0000 (22:18 +0100)]
add a test for the 'move workspace next/prev' command
Noe Rubinstein [Sun, 2 Oct 2011 15:55:19 +0000 (17:55 +0200)]
add "move workspace next" and "move workspace prev"
some factorization would be better here, however I don't really know my
way around bison
Michael Stapelberg [Sun, 2 Oct 2011 21:03:16 +0000 (22:03 +0100)]
rename the internal function to _workspace_show, add a comment to workspace_show_by_name
Noe Rubinstein [Sun, 2 Oct 2011 15:54:23 +0000 (17:54 +0200)]
refactor workspace_show and friends
Michael Stapelberg [Sun, 2 Oct 2011 18:21:27 +0000 (19:21 +0100)]
Merge branch 'msg' into next
Michael Stapelberg [Sun, 2 Oct 2011 18:20:43 +0000 (19:20 +0100)]
Make i3 send arguments as command to a running i3 instance (like i3-msg)
From i3 --help:
If you pass plain text arguments, i3 will interpret them as a command
to send to a currently running i3 (like i3-msg). This allows you to
use nice and logical commands, such as:
i3 border none
i3 floating toggle
i3 kill window
Michael Stapelberg [Sun, 2 Oct 2011 17:55:15 +0000 (18:55 +0100)]
Cleanup i3 --help
Michael Stapelberg [Sun, 2 Oct 2011 17:33:10 +0000 (18:33 +0100)]
Move ipc_send_message and ipc_recv_message to libi3
Make i3-msg and src/ipc.c use it
Michael Stapelberg [Sun, 2 Oct 2011 17:11:01 +0000 (18:11 +0100)]
i3-msg: use smalloc, sstrdup from libi3
Michael Stapelberg [Sun, 2 Oct 2011 17:08:49 +0000 (18:08 +0100)]
move sstrdup, scalloc, smalloc, srealloc to libi3, improve error messages
Michael Stapelberg [Sun, 2 Oct 2011 15:41:26 +0000 (16:41 +0100)]
Include libi3.h (Thanks fernandotcl)
Michael Stapelberg [Sun, 2 Oct 2011 15:36:49 +0000 (16:36 +0100)]
Makefile: include libi3/ in 'dist'
Michael Stapelberg [Sun, 2 Oct 2011 15:13:23 +0000 (16:13 +0100)]
Merge branch 'get-socketpath' into next
Michael Stapelberg [Sun, 2 Oct 2011 15:12:10 +0000 (16:12 +0100)]
Implement i3 --get-socketpath, useful for IPC scripts
In order to not depend on X11 just for getting the socket paths, scripts or
other programs can now use i3 --get-socketpath. Since i3 must be present on the
computer anyways, this saves one dependency :).
Michael Stapelberg [Sun, 2 Oct 2011 15:11:55 +0000 (16:11 +0100)]
i3-msg: use socket_path_from_x11 from libi3
Michael Stapelberg [Sun, 2 Oct 2011 15:11:30 +0000 (16:11 +0100)]
Introduce libi3, an *internal* library to eliminate code duplication
Michael Stapelberg [Sun, 2 Oct 2011 15:04:18 +0000 (16:04 +0100)]
Makefiles: prefix compilation messages (for parallel builds)
Michael Stapelberg [Sun, 2 Oct 2011 15:03:09 +0000 (16:03 +0100)]
makefile: make SUBDIRS constant
Michael Stapelberg [Sun, 2 Oct 2011 12:18:12 +0000 (13:18 +0100)]
remove obsolete comment
Michael Stapelberg [Sun, 2 Oct 2011 11:57:27 +0000 (12:57 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Sun, 2 Oct 2011 11:57:25 +0000 (12:57 +0100)]
Merge branch 'userguide-mark'
Michael Walle [Fri, 30 Sep 2011 18:46:59 +0000 (20:46 +0200)]
userguide: fix typo
Signed-off-by: Michael Walle <michael@walle.cc>
Michael Stapelberg [Sat, 1 Oct 2011 16:44:46 +0000 (17:44 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Sat, 1 Oct 2011 16:44:43 +0000 (17:44 +0100)]
Merge branch 'cloexec-errorlog'
Michael Walle [Sat, 1 Oct 2011 00:29:30 +0000 (02:29 +0200)]
set close-on-exec flag on errorlogfile
Make sure the file descriptor is closed within the child after forking.
Signed-off-by: Michael Walle <michael@walle.cc>
Michael Stapelberg [Fri, 30 Sep 2011 19:31:32 +0000 (20:31 +0100)]
Check for PCRE version and disable PCRE_UCP for <= 8.10
Michael Stapelberg [Thu, 29 Sep 2011 20:04:39 +0000 (21:04 +0100)]
Include i3-sensible-* in 'make dist'
Michael Stapelberg [Mon, 26 Sep 2011 19:12:07 +0000 (20:12 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Mon, 26 Sep 2011 19:12:03 +0000 (20:12 +0100)]
Merge branch 'fix-focus-ipc'
Michael Stapelberg [Mon, 26 Sep 2011 19:11:47 +0000 (20:11 +0100)]
Bugfix: IPC: Correctly dump the 'focus' array
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.
Michael Stapelberg [Sun, 25 Sep 2011 17:47:23 +0000 (18:47 +0100)]
Merge branch 'nagbar-wrap' into next
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'.
Michael Stapelberg [Sun, 25 Sep 2011 13:23:47 +0000 (14:23 +0100)]
docs/testsuite: a few corrections by fernandotcl
Michael Stapelberg [Sat, 24 Sep 2011 19:11:23 +0000 (20:11 +0100)]
s/This adds up quickly/Delays add up quickly (Thanks mxf)
Michael Stapelberg [Sat, 24 Sep 2011 19:10:21 +0000 (20:10 +0100)]
Merge branch 'testsuite' into next
Michael Stapelberg [Sat, 24 Sep 2011 16:20:36 +0000 (17:20 +0100)]
Add docs/testsuite
Michael Stapelberg [Sat, 24 Sep 2011 15:28:21 +0000 (16:28 +0100)]
tests: make sure to leave no tempfiles behind
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 :)
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)
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
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.
Michael Stapelberg [Sat, 24 Sep 2011 12:13:26 +0000 (13:13 +0100)]
tests: complete-run: remove debugging messages
Michael Stapelberg [Sat, 24 Sep 2011 12:13:09 +0000 (13:13 +0100)]
tests: complete-run: display time i3 took for starting up
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.
Michael Stapelberg [Sat, 24 Sep 2011 12:08:02 +0000 (13:08 +0100)]
tests: use wait_for_{map,unmap} to eliminate more sleep()s
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
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
Michael Stapelberg [Thu, 22 Sep 2011 21:11:11 +0000 (22:11 +0100)]
lib/i3test.pm: reformat exports list
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.
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
Michael Stapelberg [Thu, 22 Sep 2011 22:11:14 +0000 (23:11 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Thu, 22 Sep 2011 22:11:11 +0000 (23:11 +0100)]
Merge branch 'fix-dragging-fullscreen'
Yves Fischer [Thu, 22 Sep 2011 20:22:37 +0000 (22:22 +0200)]
Skip dragging of floating cons in fullscreen mode
Michael Stapelberg [Thu, 22 Sep 2011 19:11:44 +0000 (20:11 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Thu, 22 Sep 2011 19:10:59 +0000 (20:10 +0100)]
Merge branch 'fix-close-focus'
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/
Michael Stapelberg [Tue, 20 Sep 2011 21:37:08 +0000 (22:37 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Tue, 20 Sep 2011 21:37:00 +0000 (22:37 +0100)]
Merge branch 'fix-variables-cfg'
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
Michael Stapelberg [Tue, 20 Sep 2011 20:42:51 +0000 (21:42 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Tue, 20 Sep 2011 20:42:48 +0000 (21:42 +0100)]
Merge branch 'fix-variables-cfg'
Michael Stapelberg [Tue, 20 Sep 2011 20:42:26 +0000 (21:42 +0100)]
A bit more boundary-checking when replacing variables.
Makes valgrind happy
Michael Stapelberg [Tue, 20 Sep 2011 20:42:09 +0000 (21:42 +0100)]
Bugfix: Correctly split key/value when parsing variables (Thanks xeen)
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
Michael Stapelberg [Mon, 19 Sep 2011 22:18:40 +0000 (23:18 +0100)]
mention the force_xinerama configfile directive in the userguide
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>
Michael Stapelberg [Mon, 19 Sep 2011 18:20:18 +0000 (19:20 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Mon, 19 Sep 2011 18:20:16 +0000 (19:20 +0100)]
Merge branch 'fix-i3bar-x11'
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
Michael Stapelberg [Sun, 18 Sep 2011 16:44:00 +0000 (17:44 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Sun, 18 Sep 2011 16:43:57 +0000 (17:43 +0100)]
Merge branch 'fix-focus'
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…
Michael Stapelberg [Sun, 18 Sep 2011 16:02:52 +0000 (17:02 +0100)]
Merge branch 'master' into next
Michael Stapelberg [Sun, 18 Sep 2011 16:02:49 +0000 (17:02 +0100)]
Merge branch 'fix-floating-move'
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).
Michael Stapelberg [Sun, 18 Sep 2011 15:10:05 +0000 (16:10 +0100)]
Merge branch 'role-criterion' into next
Michael Stapelberg [Sun, 18 Sep 2011 15:06:52 +0000 (16:06 +0100)]
docs/userguide: document the window_role criterion
Michael Stapelberg [Sun, 18 Sep 2011 15:05:54 +0000 (16:05 +0100)]
t/65-for_window: add tests for 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.