Michael Stapelberg
1481cd95c9
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.
2011-09-22 23:13:12 +01:00
Michael Stapelberg
daebe28b09
Merge branch 'master' into next
2011-09-22 23:11:14 +01:00
Yves Fischer
0c367f9e4c
Skip dragging of floating cons in fullscreen mode
2011-09-22 23:10:48 +01:00
Michael Stapelberg
1717b88174
Merge branch 'master' into next
2011-09-22 20:11:44 +01:00
Michael Stapelberg
4dbda73114
Bugfix: Correctly revert focus to other floating windows when closing a floating window
...
Uncovered by the testsuite \o/
2011-09-22 20:10:51 +01:00
Michael Stapelberg
143663f031
Merge branch 'master' into next
2011-09-20 22:37:08 +01:00
Michael Stapelberg
77ae3cd8f7
Bugfix: use bufcopy instead of buf when boundary checking (Thanks thomasba)
...
Also replace the useless (bufcopy + (next - bufcopy)) with next
2011-09-20 22:36:23 +01:00
Michael Stapelberg
de7c2841ed
Merge branch 'master' into next
2011-09-20 21:42:51 +01:00
Michael Stapelberg
cd6c3fedcb
A bit more boundary-checking when replacing variables.
...
Makes valgrind happy
2011-09-20 21:42:26 +01:00
Michael Stapelberg
e1949aa694
Bugfix: Correctly split key/value when parsing variables (Thanks xeen)
2011-09-20 21:42:09 +01:00
Michael Walle
5aa43d61f8
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>
2011-09-19 23:10:38 +01:00
Michael Stapelberg
05c0a8985b
Merge branch 'master' into next
2011-09-18 17:44:00 +01:00
Michael Stapelberg
2fe0949abd
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…
2011-09-18 17:43:02 +01:00
Michael Stapelberg
46409ad656
Merge branch 'master' into next
2011-09-18 17:02:52 +01:00
Michael Stapelberg
a82f5750de
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).
2011-09-18 17:00:29 +01:00
Michael Stapelberg
b3adaa2983
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.
2011-09-18 16:05:10 +01:00
Michael Stapelberg
c88425147e
Merge branch 'master' into next
2011-09-18 14:39:33 +01:00
Michael Stapelberg
7a2e92a116
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().
2011-09-18 14:38:39 +01:00
Michael Stapelberg
0bc44ffc37
Merge branch 'master' into next
2011-09-18 00:40:42 +01:00
Peter Bui
a5012f6021
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.
2011-09-18 00:38:32 +01:00
Michael Stapelberg
b4ab4703c9
Merge branch 'master' into next
2011-09-17 20:55:13 +01:00
Michael Stapelberg
755c618cd4
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.
2011-09-17 20:53:24 +01:00
Michael Stapelberg
e6a854a742
Remove obsolete code for floating focus
2011-09-17 19:29:06 +01:00
Michael Stapelberg
172f3563f7
Implement focus switching (focus left/right) for floating windows
...
Fixes : #475
2011-09-17 19:28:41 +01:00
Michael Stapelberg
fe35c80741
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.
2011-09-17 17:55:36 +01:00
Michael Stapelberg
7a38d8ac56
Merge branch 'master' into next
2011-09-17 14:13:05 +01:00
Michael Stapelberg
deab3ac338
Send the correct X11 border_width in faked ConfigureNotifys
2011-09-17 14:11:55 +01:00
Michael Stapelberg
f2f636f9e7
Bugfix: Honor the X11 window border in ConfigureRequests
2011-09-17 14:11:01 +01:00
Michael Stapelberg
983a679537
Bugfix: Honor the X11 window border when calculating dimensions for floating windows
2011-09-17 14:10:35 +01:00
Michael Stapelberg
f6eaa8a580
Bugfix: Don’t use top border height twice when calculating dimensions for floating windows
2011-09-17 14:09:57 +01:00
Michael Stapelberg
5a85c9efd2
fix build in 'next' (Thanks thomasba)
2011-09-14 23:16:23 +01:00
Michael Stapelberg
ad568aa8c1
Merge branch 'master' into next
2011-09-14 23:00:02 +01:00
Michael Stapelberg
b1aa8107b3
Bugfix: Correctly handle ConfigureRequests for floating windows in multi-monitor setups (Thanks thomasba)
...
Fixes #519
2011-09-14 22:59:19 +01:00
Michael Stapelberg
6b541d382b
Bugfix: Don’t fix floating coordinates when reassigning (fixes flickering)
...
This fixes flickering when moving floating windows between different monitors.
2011-09-14 22:58:51 +01:00
Michael Stapelberg
dc790cfa32
Bugfix: Correctly free old assignments when reloading
...
Fixes #516
2011-09-11 23:41:46 +01:00
Michael Stapelberg
f3716e45cf
re-indent load_configuration()
2011-09-11 23:31:06 +01:00
Michael Stapelberg
2c7148c46e
Same bugfix as 2a215fd
, but for assignments with invalid criteria
2011-09-11 22:54:41 +01:00
Michael Stapelberg
717ae819c5
Merge branch 'master' into next
2011-09-11 22:52:44 +01:00
Michael Stapelberg
2a215fd7e2
Bugfix: Ignore for_window commands with empty (invalid) criteria (+test) (Thanks aksr)
2011-09-11 22:52:33 +01:00
Michael Stapelberg
a41bfba47a
finally remove the deprecated 'screen' keyword from cfgparse.l
2011-09-11 22:27:31 +01:00
Michael Stapelberg
d82698efa7
make the old assign syntax trigger an i3-nagbar warning (it’s deprecated), adjust test
2011-09-11 22:01:36 +01:00
Michael Stapelberg
e47e100819
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?).
2011-09-11 21:54:13 +01:00
Michael Stapelberg
d03dffe012
Kill left-over i3-nagbar processes on 'exit'
2011-09-11 21:49:35 +01:00
Michael Stapelberg
b3e1fb1f3b
Make the old 'assign' case-insensitive again (+test) (Thanks aksr)
2011-09-11 21:16:45 +01:00
Michael Stapelberg
c1c1730516
pcre: enable UCP, UTF-8 (if available), extend t/19-match
2011-09-11 11:40:51 +01:00
Michael Stapelberg
2fc54aadf1
Implement support for PCRE regular expressions for all criteria (for_window, commands, assignments)
2011-09-10 23:53:11 +01:00
Michael Stapelberg
77ae771476
Restrict 'resize' command to left/right for horizontal cons, up/down for vertical cons
...
This makes the interface much clearer and avoids confusion about which key to
press in which situation.
2011-09-05 22:36:04 +02:00
Michael Stapelberg
8928b5f55d
Bugfix: Correctly handle workspace names which do not start with a zero
2011-09-05 22:21:10 +02:00
Michael Stapelberg
b4809e9ba7
Merge branch 'master' into next
2011-08-31 14:45:14 +02:00
Michael Stapelberg
e1631d6320
properly free memory/close fd upon errors (Thanks xeen)
...
Found with the static analyzer cppcheck
2011-08-31 14:44:48 +02:00