a3f3d5670c
Bugfix: properly react to windows being unmapped before we can reparent (Thanks xeen, darkraven)
...
We need to verify that setting the event mask works, and we need to
include StructureNotify to get unmap events at any point in time.
Thanks darkraven for the pointer.
fixes #718
2012-09-27 12:09:06 +02:00
372d47842e
Bugfix: Render workspaces created by assignments to use correct coordinates (Thanks meaneye)
...
Previously, i3 would send width=0, height=0 to windows which were put on
workspaces created by an assignment (that is, invisible workspaces,
which do not get rendered normally).
fixes #653
2012-09-24 23:57:58 +02:00
884627ef20
use I3__FILE__ for DLOG, leave __FILE__ as is
...
See also commit 0e752070ac
, which broke
source code listings in gdb unless you cd into i3/src. This should give
us best of both :-).
2012-08-12 12:19:47 +02:00
91786c3801
typo: s/transiert/transient/
2012-08-11 22:53:40 +02:00
0e752070ac
explicitly set filenames to $(basename __FILE__)
...
This makes the debug log a bit more readable, especially since commit
48f1e383ca
2012-08-07 09:55:52 +02:00
206b96202c
Use (void) instead of () for functions without args (Thanks fernandotcl)
...
See also:
http://article.gmane.org/gmane.linux.kernel/1268792
The C compiler will handle (void) as "no arguments" and () as "variadic
function" (equivalent to (...)) which might lead to subtle errors, such
as the one which was fixed with commit 0ea64ae4
.
2012-03-31 10:53:04 +02:00
9d68d780e2
Use 32bit visual only when needed. Thus we could drop the --enable-32bit-visual option.
2012-03-26 16:50:44 +02:00
3b7f4d428e
Correctly restore focus after in-place restarts
...
Note: This change requires two in-place restarts when you are upgrading
in-place from an old version.
Fixes #611
2012-01-21 18:35:15 +00:00
2d14ced024
Bugfix: Respect WM_HINTS.input for WM_TAKE_FOCUS clients
...
This fixes problems with Qt apps (like Quassel) and apparently Eclipse since
the last commit.
2012-01-18 19:16:57 +00:00
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