9d15a00ba8
introduce sasprintf() in libi3, use it everywhere
2011-10-23 13:16:56 +01:00
10d3281b0f
remove/shorten a lot of debugging messages
...
Some of them are useless nowadays, others very unlikely to be a problem.
Those which might still be interesting somewhen in the future are just
commented out.
2011-10-23 00:15:13 +01:00
42d355f2b7
normalize modelines/headers across src/*.c
2011-10-22 23:40:02 +01:00
9d67ae2202
Focus new window only if it is on a visible workspace on the current focused output.
2011-10-18 18:56:39 +01:00
4204b8e2b0
Get the _NET_STARTUP_ID in manage_window, get the corresponding workspace
2011-10-10 15:54:17 +01:00
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
6d91a6248e
Merge branch 'master' into next
2011-08-26 02:02:50 +02:00
7741608a9d
Bugfix: Only consider tiling windows when attaching tiling windows to workspaces (Thanks Tucos)
...
Fixes #436
2011-08-26 02:01:06 +02:00
22e30061f3
Merge branch 'master' into next
2011-08-17 16:37:09 +02:00
f172359ba5
Bugfix: Don’t change focus when assigned windows start on invisible workspaces (+test) (Thanks ioflag)
...
Fixes #468
2011-08-17 16:36:19 +02:00
2abe23d6ff
Merge branch 'master' into next
2011-08-17 01:52:45 +02:00
7951445849
xcb: use predefined XCB_ATOM_ atoms, don’t request them
2011-08-17 01:41:19 +02:00
cd5ebc2dca
src/manage.c: properly set automatic flag when calling floating_enable()
2011-08-09 09:29:47 +02:00
7180dca3b2
Bugfix: Correctly free the xcb_get_geometry reply when not managing a window
2011-07-31 20:39:33 +02:00
52b3646ecc
xcb: don’t use the _unchecked variant for requests which have a reply
2011-07-31 18:19:41 +02:00
7f3f7c26b6
Bugfix: free replies after using them
2011-07-31 18:17:56 +02:00
71741d7620
Bugfix: Only set ENTER_WINDOW event mask for mapped windows (fixes focus problems)
...
Fixes focus problems when switching to empty workspaces or when going in/out of
fullscreen.
2011-07-04 13:41:02 +02:00
fb9d77305e
Implement 'fullscreen global'
2011-06-10 18:27:20 +02:00
58e02e84e2
Bugfix: Don’t break focus stack when inplace restarting with fullscreen windows (Thanks mike)
2011-06-03 01:48:55 +02:00
1585d942ea
Make workspace_layout handle all cons at workspace level, not only the first one (+test)
...
This makes opening new windows on workspace level and moving windows to the
right/left more like in the old i3.
2011-06-02 17:21:38 +02:00
18ec15b0f9
x: fix race condition where the new event mask was not set directly after reparenting
2011-05-29 13:20:41 +02:00
7ae0c9c973
Bugfix: Check swallows before assignments when managing windows (Thanks julien)
...
Fixes #395 (empty containers on restart when assigned windows are visible)
2011-05-25 21:00:53 +02:00
7208d01048
remove unused code from manage.c
2011-05-25 20:47:47 +02:00
2c68c234ea
Implement assignments for (named) workspaces, with '~' compatibility (floating)
2011-05-23 18:41:17 +02:00
5ae4620a24
Time Lord technology: for_window config directive to run arbitrary cmds
...
An example to set all XTerms floating:
for_window [class="XTerm"] mode floating
To make all urxvts use a 1-pixel border:
for_window [class="urxvt"] border 1pixel
A less useful, but rather funny example:
for_window [title="x200: ~/work"] mode floating
The commands are not completely arbitrary. The commands above were tested,
others may need some fixing. Internally, windows are compared against your
criteria (class, title, …) when they are initially managed and whenever one of
the relevant values change. Then, the specified command is run *once* (per
window). It gets prefixed with a criteria to make it match only the specific
window that triggered it. So, if you configure "mode floating", i3 runs
something like '[id="8393923"] mode floating'.
2011-05-15 20:10:25 +02:00
3d1acd6c2f
re-implement assigning windows to workspaces
2011-05-02 23:29:26 +02:00
6419e42f6d
bugfix: fix race condition where window titles were not correctly updated
...
Fixes : #351
2011-04-01 21:39:58 +02:00
82e286ed7c
Only send WM_TAKE_FOCUS when the client supports it in the protocols atom
...
Fixes opening xterm, for example
2011-03-18 17:07:56 +01:00
0639a7d95b
Make i3 compatible with the very latest xcb
...
This involves:
• Compiling with xcb-util instead of xcb-{atom,aux} (they merged the libraries)
• Not using xcb-{event,property} anymore (code removed upstream)
• Not using the predefined WINDOW, CARDINEL, … atoms (removed upstream)
• Using the new xcb_icccm_* data types/functions instead of just xcb_*
(for example xcb_icccm_get_wm_hints instead of xcb_get_wm_hints)
Also I refactored the atoms to use x-macros.
2011-03-18 14:39:27 +01:00
b4e3dfd76b
Add the "created" parameter to workspace_get.
...
If created is not NULL, *created is set to whether or not the
workspace has been just created.
2011-03-14 17:07:53 +01:00
0a24057241
When leaving fullscreen, set focus to con which was opened during fullscreen (+testcase) (Thanks dothebart)
2011-03-07 00:06:27 +01:00
287d7f9527
Bugfix: Don’t focus new cons when there is a fullscreen con (Thanks dothebart)
...
Also, remove the focus_it parameter from tree_open_con, it makes more sense to
call con_focus outside of the function.
2011-03-06 23:26:02 +01:00
8ce5f2a21b
Bugfix: Fix crash with transient dock clients caused by 7154fecbb
2011-03-06 22:02:02 +01:00
7154fecbbf
Implement the popup_during_fullscreen option, set default to leave_fullscreen
...
Fixes #333
2011-03-06 15:46:06 +01:00
caa1ac1a9f
Use the original geometry for floating windows
2011-03-03 16:22:22 +01:00
ffc71859a3
Implement support for top/bottom dock clients (according to _NET_WM_STRUT_PARTIAL or requested position)
2011-02-21 14:27:32 +01:00
b6f81fe43c
Bugfix: restore the original width/height with X11 border when restarting (Thanks Merovius)
2011-02-21 03:13:27 +01:00
35e79c87c8
Place dock clients on the output corresponding to their geometry request
2011-02-21 01:28:29 +01:00
9a0bc77baf
bugfix: dock clients cannot be floating
2011-02-21 00:23:07 +01:00
7f89c71689
Implement dock mode, update testsuite
...
Currently, dock clients are only possible at the top.
2011-02-20 23:43:03 +01:00
228b5c51ff
change many LOG/printf messages to use DLOG
2011-01-07 20:58:58 +01:00
cbd53e8a7f
bugfix: check if the client leader is a managed window (Thanks fernandotcl)
2010-11-14 23:55:53 +01:00
76c07900c2
take into account x11 border_width settings (fixes uxterm border issue)
2010-11-14 23:44:13 +01:00
e8b5a802e2
Bugfix: only set clients to floating which have a leader that is not their own window (Thanks fernandotcl)
2010-11-14 22:49:05 +01:00
33eb00d6ae
automatically set windows with client_leader to floating
2010-11-14 20:15:51 +01:00
945632ddcb
Implement setting the WM_NAME of i3 container windows for debugging
2010-11-14 16:41:46 +01:00
432073dbe5
implement support for WM_TRANSIENT_FOR, expand testcase
2010-11-13 01:19:21 +01:00
ad9be5402a
Implement support for WM_CLIENT_LEADER
2010-11-12 23:46:03 +01:00
57e602a97c
respect position in geometry of floating windows
2010-11-12 20:55:26 +01:00
5c2758af26
Implement support for size hints (including test case)
2010-10-11 21:32:29 +02:00