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>
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).
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.
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.
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?).