]> git.sur5r.net Git - i3/i3/log
i3/i3
14 years agocleanups
Michael Stapelberg [Tue, 13 Apr 2010 17:33:40 +0000 (19:33 +0200)]
cleanups

14 years agore-add focus follows mouse handling
Michael Stapelberg [Tue, 13 Apr 2010 16:43:37 +0000 (18:43 +0200)]
re-add focus follows mouse handling

14 years agomore reformatting/cleanups
Michael Stapelberg [Tue, 13 Apr 2010 15:52:23 +0000 (17:52 +0200)]
more reformatting/cleanups

14 years agore-add support for legacy window titles (WM_NAME)
Michael Stapelberg [Tue, 13 Apr 2010 15:46:54 +0000 (17:46 +0200)]
re-add support for legacy window titles (WM_NAME)

14 years agocorrectly update/display window title/class
Michael Stapelberg [Tue, 13 Apr 2010 15:22:34 +0000 (17:22 +0200)]
correctly update/display window title/class

14 years agomore reformatting
Michael Stapelberg [Tue, 13 Apr 2010 14:48:42 +0000 (16:48 +0200)]
more reformatting

14 years agoworkspace.c: update header, reformat
Michael Stapelberg [Tue, 13 Apr 2010 14:43:08 +0000 (16:43 +0200)]
workspace.c: update header, reformat

14 years agocorrectly focus workspaces
Michael Stapelberg [Tue, 13 Apr 2010 14:41:23 +0000 (16:41 +0200)]
correctly focus workspaces

14 years agofirst step of the big refactoring ("tree" branch).
Michael Stapelberg [Sat, 27 Mar 2010 14:25:51 +0000 (15:25 +0100)]
first step of the big refactoring ("tree" branch).

From here on, we can track changes. It made no sense to put the
development up to this point into git.

14 years agoBugfix: null-terminate buffer
Michael Stapelberg [Fri, 26 Mar 2010 02:04:54 +0000 (03:04 +0100)]
Bugfix: null-terminate buffer

14 years agoFix memory leaks
Michael Stapelberg [Fri, 26 Mar 2010 00:52:39 +0000 (01:52 +0100)]
Fix memory leaks

14 years agorandr: Don’t enable outputs with mode 0x0
Michael Stapelberg [Fri, 26 Mar 2010 00:52:08 +0000 (01:52 +0100)]
randr: Don’t enable outputs with mode 0x0

Just a sanity check for some possibly broken drivers.

14 years agoremove newlines
Michael Stapelberg [Thu, 25 Mar 2010 23:28:30 +0000 (00:28 +0100)]
remove newlines

14 years agoBugfix: Assign all workspace to new outputs as new outputs get available (Thanks...
Michael Stapelberg [Thu, 25 Mar 2010 23:13:28 +0000 (00:13 +0100)]
Bugfix: Assign all workspace to new outputs as new outputs get available (Thanks badboy)

14 years agoBugfix: Translate keysyms to keycodes before entering mode (Thanks fallen)
Michael Stapelberg [Thu, 25 Mar 2010 20:18:46 +0000 (21:18 +0100)]
Bugfix: Translate keysyms to keycodes before entering mode (Thanks fallen)

14 years agoFix rendering of workspace names after "reload" (Thanks fallen)
Michael Stapelberg [Thu, 25 Mar 2010 18:08:37 +0000 (19:08 +0100)]
Fix rendering of workspace names after "reload" (Thanks fallen)

14 years agoBugfix: Correctly switch workspace when using the "jump" command (Thanks fallen)
Michael Stapelberg [Thu, 25 Mar 2010 17:07:40 +0000 (18:07 +0100)]
Bugfix: Correctly switch workspace when using the "jump" command (Thanks fallen)

14 years agodocs: add/cleanup references
Michael Stapelberg [Thu, 25 Mar 2010 02:26:59 +0000 (03:26 +0100)]
docs: add/cleanup references

14 years agomakefile: install i3-wsbar
Michael Stapelberg [Thu, 25 Mar 2010 02:11:31 +0000 (03:11 +0100)]
makefile: install i3-wsbar

14 years agoBugfix: Correctly check bitmask for floating_modifier
Michael Stapelberg [Thu, 25 Mar 2010 01:53:53 +0000 (02:53 +0100)]
Bugfix: Correctly check bitmask for floating_modifier

14 years agoAdd documentation for the workspace_bar option
Michael Stapelberg [Thu, 25 Mar 2010 01:47:01 +0000 (02:47 +0100)]
Add documentation for the workspace_bar option

14 years agoAdd initial version of i3-wsbar
Michael Stapelberg [Wed, 24 Mar 2010 18:13:19 +0000 (19:13 +0100)]
Add initial version of i3-wsbar

14 years agoHandle destroy notify events like unmap notify events
Michael Stapelberg [Wed, 24 Mar 2010 15:52:16 +0000 (16:52 +0100)]
Handle destroy notify events like unmap notify events

This helps for windows which are immediately destroyed instead of
unmapped, like when starting i3status | ./foobar | dzen2 -dock
and foobar does not exist (i3status and dzen2 will get a SIGPIPE).

14 years agoBugfix: fix state of keypresses in sighandler (like in i3-input)
Michael Stapelberg [Wed, 24 Mar 2010 15:10:47 +0000 (16:10 +0100)]
Bugfix: fix state of keypresses in sighandler (like in i3-input)

14 years agoBugfix: correctly translate coordinates for floating windows when outputs change
Michael Stapelberg [Wed, 24 Mar 2010 15:09:43 +0000 (16:09 +0100)]
Bugfix: correctly translate coordinates for floating windows when outputs change

14 years agoBugfix: Don’t unmap windows when current workspace gets reassigned
Michael Stapelberg [Wed, 24 Mar 2010 15:06:21 +0000 (16:06 +0100)]
Bugfix: Don’t unmap windows when current workspace gets reassigned

Steps to reproduce were:
1) xrandr --output VGA1 --auto --left-of LVDS1
2) open a terminal on VGA1
3) xrandr --output VGA1 --off

14 years agoFix numlock state
Michael Stapelberg [Wed, 24 Mar 2010 02:28:38 +0000 (03:28 +0100)]
Fix numlock state

Apparantly, after activating numlock once, the numlock modifier
stays turned on (use xev(1) to verify). So, to resolve useful
keysyms, we remove the numlock flag from the event state. What
currently does not work is actually using your keypad.

14 years agoBugfix: only restore focus if the workspace is focused, not if it is visible
Michael Stapelberg [Tue, 23 Mar 2010 13:43:35 +0000 (14:43 +0100)]
Bugfix: only restore focus if the workspace is focused, not if it is visible

14 years agoBugfix: Don’t enter BIND_A2WS_COND state too early (Thanks fallen)
Michael Stapelberg [Mon, 22 Mar 2010 14:10:26 +0000 (15:10 +0100)]
Bugfix: Don’t enter BIND_A2WS_COND state too early (Thanks fallen)

14 years agoremove superflous newlines (breaks asciidoc)
Michael Stapelberg [Sun, 21 Mar 2010 00:55:02 +0000 (01:55 +0100)]
remove superflous newlines (breaks asciidoc)

14 years agodocs: merge spelling and grammar fixes by sasha (Thanks!)
Michael Stapelberg [Sun, 21 Mar 2010 00:50:10 +0000 (01:50 +0100)]
docs: merge spelling and grammar fixes by sasha (Thanks!)

14 years agoipc: send a workspace event when the urgency flag changes
Michael Stapelberg [Sat, 20 Mar 2010 02:09:42 +0000 (03:09 +0100)]
ipc: send a workspace event when the urgency flag changes

14 years agoipc: also send workspace event when initializing a workspace for an output
Michael Stapelberg [Sat, 20 Mar 2010 01:56:23 +0000 (02:56 +0100)]
ipc: also send workspace event when initializing a workspace for an output

14 years agoBugfix: correctly re-assign dock clients when output goes inactive
Michael Stapelberg [Sat, 20 Mar 2010 01:52:06 +0000 (02:52 +0100)]
Bugfix: correctly re-assign dock clients when output goes inactive

14 years agoipc: implement output event
Michael Stapelberg [Fri, 19 Mar 2010 21:40:43 +0000 (22:40 +0100)]
ipc: implement output event

14 years agoipc: implement GET_OUTPUTS
Michael Stapelberg [Fri, 19 Mar 2010 21:24:52 +0000 (22:24 +0100)]
ipc: implement GET_OUTPUTS

14 years agoipc: include the urgent flag in the workspaces reply
Michael Stapelberg [Fri, 19 Mar 2010 21:01:21 +0000 (22:01 +0100)]
ipc: include the urgent flag in the workspaces reply

14 years agoStart dock clients on the output they request to be started on according to their...
Michael Stapelberg [Fri, 19 Mar 2010 20:44:36 +0000 (21:44 +0100)]
Start dock clients on the output they request to be started on according to their geometry

Use dzen2’s -xs option to use this, or specify the coordinates using
-x manually.

14 years agoDisable RandR if no outputs are found (Thanks fallen)
Michael Stapelberg [Fri, 19 Mar 2010 17:51:19 +0000 (18:51 +0100)]
Disable RandR if no outputs are found (Thanks fallen)

14 years agoBugfix: When disabling RandR/Xinerama, give a name to the pseudo-output (Thanks fallen)
Michael Stapelberg [Fri, 19 Mar 2010 17:51:01 +0000 (18:51 +0100)]
Bugfix: When disabling RandR/Xinerama, give a name to the pseudo-output (Thanks fallen)

14 years agoUse DLOG for debug messages instead of printf (Thanks kruM)
Michael Stapelberg [Fri, 19 Mar 2010 17:48:36 +0000 (18:48 +0100)]
Use DLOG for debug messages instead of printf (Thanks kruM)

14 years agoFix compilation with the old xcb keysyms api
Michael Stapelberg [Fri, 19 Mar 2010 15:02:12 +0000 (16:02 +0100)]
Fix compilation with the old xcb keysyms api

14 years agolittle style fix for the last commit
Michael Stapelberg [Fri, 19 Mar 2010 00:43:11 +0000 (01:43 +0100)]
little style fix for the last commit

14 years agoBugfix: Take window out of fullscreen before entering floating mode.
Helgi Kristvin Sigurbjarnarson [Fri, 19 Mar 2010 00:18:25 +0000 (00:18 +0000)]
Bugfix: Take window out of fullscreen before entering floating mode.

14 years agorandr: use effective CRTC width/height, not its mode (Thanks moemoe)
Michael Stapelberg [Wed, 17 Mar 2010 14:56:26 +0000 (15:56 +0100)]
randr: use effective CRTC width/height, not its mode (Thanks moemoe)

This fixes setups which use panning and cloning.

14 years agomake pointer follow the focus when moving to a different screen also for floating...
Michael Stapelberg [Wed, 17 Mar 2010 02:18:13 +0000 (03:18 +0100)]
make pointer follow the focus when moving to a different screen also for floating windows

14 years agoBugfix: configure floating windows above tiling windows when moving them to another...
Michael Stapelberg [Tue, 16 Mar 2010 23:36:08 +0000 (00:36 +0100)]
Bugfix: configure floating windows above tiling windows when moving them to another workspaces (Thanks Sasha)

14 years agodocs/userguide: merge little corrections (Thanks fallen)
Michael Stapelberg [Tue, 16 Mar 2010 19:28:43 +0000 (20:28 +0100)]
docs/userguide: merge little corrections (Thanks fallen)

14 years agoipc: correctly shutdown IPC sockets when exiting/restarting
Michael Stapelberg [Tue, 16 Mar 2010 01:44:47 +0000 (02:44 +0100)]
ipc: correctly shutdown IPC sockets when exiting/restarting

14 years agodocs/ipc: document C header file
Michael Stapelberg [Mon, 15 Mar 2010 23:13:40 +0000 (00:13 +0100)]
docs/ipc: document C header file

14 years agomanpage: correctly document the search order for XDG
Michael Stapelberg [Mon, 15 Mar 2010 23:12:01 +0000 (00:12 +0100)]
manpage: correctly document the search order for XDG

14 years agomakefiles: support PREFIX and SYSCONFDIR
Michael Stapelberg [Mon, 15 Mar 2010 23:08:54 +0000 (00:08 +0100)]
makefiles: support PREFIX and SYSCONFDIR

14 years agomakefile: install header file i3/ipc.h
Michael Stapelberg [Mon, 15 Mar 2010 23:00:27 +0000 (00:00 +0100)]
makefile: install header file i3/ipc.h

14 years agoAdd document about the current multi-monitor situation with RandR
Michael Stapelberg [Mon, 15 Mar 2010 22:04:32 +0000 (23:04 +0100)]
Add document about the current multi-monitor situation with RandR

14 years agoUpdate i3.man
Michael Stapelberg [Mon, 15 Mar 2010 21:41:39 +0000 (22:41 +0100)]
Update i3.man

14 years agoBugfix: Correctly stack windows when new windows are opened while in fullscreen mode
Michael Stapelberg [Mon, 15 Mar 2010 21:17:00 +0000 (22:17 +0100)]
Bugfix: Correctly stack windows when new windows are opened while in fullscreen mode

This fixes ticket #195.

14 years agoFix spelling errors/strange sentences in the user’s guide
Michael Stapelberg [Mon, 15 Mar 2010 17:23:12 +0000 (18:23 +0100)]
Fix spelling errors/strange sentences in the user’s guide

Proof-reading is very appreciated.

14 years agoDon’t use SYNC key bindings for Mode_switch but re-grab keys
Michael Stapelberg [Sun, 14 Mar 2010 21:35:51 +0000 (22:35 +0100)]
Don’t use SYNC key bindings for Mode_switch but re-grab keys

Before this commit, i3 used key bindings in SYNC mode for bindings
like Mode_switch + <a> and replayed the key if the current state
did not include Mode_switch. This had some problems:

1) The WM needed to acknowledge much more key presses than you
   actually had bindings for, thus making the system a bit laggy
   sometimes.
2) Users of layouts who constantly type in the third level (like
   russian layouts) did not get their cyrillic symbols correctly
   (they were not replayed right), neither did the keybindings
   work in both modes.

So, the current implementation uses the following approach: XKB
provides an event which contains the current state (including
the current level). i3 signs up for this event and upon receival,
it re-maps the bindings using Mode_switch (enables them when the
level goes to the third level and disables them as soon as the
level goes back to normal). This fixes both problems.

14 years agoImplement disabling the internal workspace bar
Michael Stapelberg [Sun, 14 Mar 2010 11:59:45 +0000 (12:59 +0100)]
Implement disabling the internal workspace bar

14 years agoAdd configuration option to turn off workspace bar
Michael Stapelberg [Sat, 13 Mar 2010 18:15:28 +0000 (19:15 +0100)]
Add configuration option to turn off workspace bar

14 years agoUpdate IPC documentation
Michael Stapelberg [Sat, 13 Mar 2010 18:09:49 +0000 (19:09 +0100)]
Update IPC documentation

14 years agoipc: correctly set "focused" for workspaces
Michael Stapelberg [Sat, 13 Mar 2010 15:27:03 +0000 (16:27 +0100)]
ipc: correctly set "focused" for workspaces

Didn’t work on empty workspaces before

14 years agoipc: change message type of events (first bit set high)
Michael Stapelberg [Sat, 13 Mar 2010 14:04:23 +0000 (15:04 +0100)]
ipc: change message type of events (first bit set high)

14 years agoMention proportional resizing in userguide
Michael Stapelberg [Sat, 13 Mar 2010 12:24:26 +0000 (13:24 +0100)]
Mention proportional resizing in userguide

14 years agoImplement proportional floating-resize.
Axel Wagner [Sat, 13 Mar 2010 09:38:22 +0000 (10:38 +0100)]
Implement proportional floating-resize.

14 years agoAdd documentation for floating resize
Axel Wagner [Fri, 12 Mar 2010 23:59:16 +0000 (00:59 +0100)]
Add documentation for floating resize

14 years agoipc: implement events, cleanup the code a bit
Michael Stapelberg [Fri, 12 Mar 2010 20:05:05 +0000 (21:05 +0100)]
ipc: implement events, cleanup the code a bit

14 years agohacking-howto: add tabbed layout (Thanks msi)
Michael Stapelberg [Fri, 12 Mar 2010 17:17:27 +0000 (18:17 +0100)]
hacking-howto: add tabbed layout (Thanks msi)

14 years agohacking-howto: add tabbed layout (Thanks msi)
Michael Stapelberg [Fri, 12 Mar 2010 16:51:53 +0000 (17:51 +0100)]
hacking-howto: add tabbed layout (Thanks msi)

14 years agoipc: return logical workspace numbers, not internal ones
Michael Stapelberg [Fri, 12 Mar 2010 14:59:38 +0000 (15:59 +0100)]
ipc: return logical workspace numbers, not internal ones

14 years agoi3-msg: Initialize message_type (Thanks badboy)
Michael Stapelberg [Fri, 12 Mar 2010 14:45:36 +0000 (15:45 +0100)]
i3-msg: Initialize message_type (Thanks badboy)

14 years agoi3-msg: read replies, implement get_workspaces command
Michael Stapelberg [Fri, 12 Mar 2010 14:30:09 +0000 (15:30 +0100)]
i3-msg: read replies, implement get_workspaces command

14 years agoipc: also send a reply for COMMAND messages
Michael Stapelberg [Fri, 12 Mar 2010 14:29:44 +0000 (15:29 +0100)]
ipc: also send a reply for COMMAND messages

14 years agoipc: Correctly deal with SIGPIPE/failing write()s
Michael Stapelberg [Fri, 12 Mar 2010 14:02:00 +0000 (15:02 +0100)]
ipc: Correctly deal with SIGPIPE/failing write()s

If a client disconnects while i3 still wants to write the reply, this
could lead to exits of i3 before.

14 years agoFloating resize uses arbitrary corners
Axel Wagner [Fri, 12 Mar 2010 00:31:48 +0000 (01:31 +0100)]
Floating resize uses arbitrary corners

This closes ticket #121

14 years agocommitted the wrong file
Michael Stapelberg [Fri, 12 Mar 2010 02:06:40 +0000 (03:06 +0100)]
committed the wrong file

14 years agoAdd documentation for the IPC interface
Michael Stapelberg [Fri, 12 Mar 2010 02:05:42 +0000 (03:05 +0100)]
Add documentation for the IPC interface

14 years agoipc: change active to visible, introduce focused
Michael Stapelberg [Fri, 12 Mar 2010 02:01:34 +0000 (03:01 +0100)]
ipc: change active to visible, introduce focused

visible == currently visible on the output it is on
(multiple workspaces can be visible at the same time)
focused == has the focus (only one workspace can be focused)

14 years agoUpdate comment (Thanks Merovius)
Michael Stapelberg [Fri, 12 Mar 2010 01:59:16 +0000 (02:59 +0100)]
Update comment (Thanks Merovius)

14 years agobugfix: don’t remap stack windows errnously when changing workspaces
Michael Stapelberg [Thu, 11 Mar 2010 23:41:40 +0000 (00:41 +0100)]
bugfix: don’t remap stack windows errnously when changing workspaces

This fixes ticket #193 (long-standing rendering bug).

14 years agoBugfix: Don’t mess up x/y coordinates in configurerequests for floating windows
Michael Stapelberg [Thu, 11 Mar 2010 22:34:29 +0000 (23:34 +0100)]
Bugfix: Don’t mess up x/y coordinates in configurerequests for floating windows

This was the cause for ticket #93, which actually has a false
conclusion for the reason of this bug.

This code needs to be refactored.

14 years agoipc: add active flag
Michael Stapelberg [Thu, 11 Mar 2010 15:48:48 +0000 (16:48 +0100)]
ipc: add active flag

14 years agoipc: implement GET_WORKSPACES message type
Michael Stapelberg [Thu, 11 Mar 2010 14:58:39 +0000 (15:58 +0100)]
ipc: implement GET_WORKSPACES message type

This is the foundation to use dzen2 or similar as a complete
replacement for the internal workspaces bar.

A testcase is included, more documentation about the IPC interface
will follow.

14 years agoRemove -ftrampolines as we don’t have nested functions anymore
Michael Stapelberg [Thu, 11 Mar 2010 14:36:54 +0000 (15:36 +0100)]
Remove -ftrampolines as we don’t have nested functions anymore

14 years agoSelect containers above or near the whole snapped width/height
Michael Stapelberg [Wed, 10 Mar 2010 23:15:34 +0000 (00:15 +0100)]
Select containers above or near the whole snapped width/height

This fixes ticket #100, and is best explained using a little example.
Consider the following layout:

+---+---+
|   | X |
+---+---+
|   X   |
+---+---+

Where X marks a window, so you have an empty container in the upper
left, the container on the bottom is snapped to the right. Before
this commit, nothing would happen when focusing "above". After
this commit, the upper window gets focused.

14 years agoFix predict_text_width by using xcb_query_text_extents
Michael Stapelberg [Wed, 10 Mar 2010 22:27:24 +0000 (23:27 +0100)]
Fix predict_text_width by using xcb_query_text_extents

This fixes ticket #173, at least for the rendering errors.
I don’t really know why I implemented predict_text_width like it
was before (querying the whole table and pulling out information
one by one). Maybe I have overlooked xcb_query_text_extents. In
any case, it works better now.

14 years agoreformat docs/debugging
Michael Stapelberg [Wed, 10 Mar 2010 12:01:27 +0000 (13:01 +0100)]
reformat docs/debugging

14 years agodebian: re-require libxcb-xinerama0-dev
Michael Stapelberg [Wed, 10 Mar 2010 11:36:22 +0000 (12:36 +0100)]
debian: re-require libxcb-xinerama0-dev

14 years agoRe-add old Xinerama code for the poor nvidia users
Michael Stapelberg [Tue, 9 Mar 2010 19:00:56 +0000 (20:00 +0100)]
Re-add old Xinerama code for the poor nvidia users

Add --force-xinerama when starting i3 to use Xinerama instead of RandR.
This should *ONLY* be done if you have no other choice (nvidia’s
binary driver uses twinview and does not expose the monitor information
through RandR).

14 years agoFixes for the last commit: check outputs instead of workspaces, correctly reset state...
Michael Stapelberg [Mon, 8 Mar 2010 10:12:02 +0000 (11:12 +0100)]
Fixes for the last commit: check outputs instead of workspaces, correctly reset state when switching workspaces, little style fixes

14 years agoImplement screen-spanning fullscreen-mode (command: 'fg')
Axel Wagner [Mon, 8 Mar 2010 01:02:35 +0000 (02:02 +0100)]
Implement screen-spanning fullscreen-mode (command: 'fg')

This closes ticket #188

14 years agoInclude graphic of the default keyboard layout in user’s guide
Michael Stapelberg [Sun, 7 Mar 2010 20:12:59 +0000 (21:12 +0100)]
Include graphic of the default keyboard layout in user’s guide

This closes ticket #166

14 years agoTurn nested functions into real functions or macros
Michael Stapelberg [Sun, 7 Mar 2010 18:00:34 +0000 (19:00 +0100)]
Turn nested functions into real functions or macros

This enables compilation with llvm-clang and thus closes ticket #101.
While it makes the code more ugly, I don’t see a beautiful solution
which would enable us to stay with the more elegant solution of
nested functions and still allow compilation with any other compiler
than gcc.

14 years agoUpdate userguide, explain comments and normalize the paragraph about fonts (Thanks...
Michael Stapelberg [Sat, 6 Mar 2010 23:00:04 +0000 (00:00 +0100)]
Update userguide, explain comments and normalize the paragraph about fonts (Thanks kraM)

14 years agoFor num_clients == 0, the last fix is also valid
Michael Stapelberg [Sat, 6 Mar 2010 15:58:20 +0000 (16:58 +0100)]
For num_clients == 0, the last fix is also valid

14 years agoAvoid more errors by not trying to re-create a stack win with height == 0
Michael Stapelberg [Sat, 6 Mar 2010 15:51:17 +0000 (16:51 +0100)]
Avoid more errors by not trying to re-create a stack win with height == 0

14 years agoDon’t render if no stack_window has been opened
Michael Stapelberg [Sat, 6 Mar 2010 15:34:07 +0000 (16:34 +0100)]
Don’t render if no stack_window has been opened

This could happen when you have only one client in a stacking/tabbed
container. While not being a critical bug, this avoids X errors.

14 years agoRemove trailing whitespace
Michael Stapelberg [Fri, 5 Mar 2010 22:26:45 +0000 (23:26 +0100)]
Remove trailing whitespace

14 years agoChanging to stacking/tabbing toggles mode to default if already in stacking/tiling.
Thorsten Töpper [Fri, 5 Mar 2010 22:09:51 +0000 (23:09 +0100)]
Changing to stacking/tabbing toggles mode to default if already in stacking/tiling.

14 years agoClear urgency hints set by i3 (see HEAD~2)
Michael Stapelberg [Fri, 5 Mar 2010 19:03:38 +0000 (20:03 +0100)]
Clear urgency hints set by i3 (see HEAD~2)