Michael Stapelberg
21c7a69812
optimization: when moving floating windows, render/push only the floatingcon
2011-04-01 22:40:12 +02:00
Michael Stapelberg
d8bf633e56
Bugfix: Flush the Xlib connection after creating cursors
...
Fixes a race condition where the cursors were created after we were already
using them.
2011-04-01 21:57:08 +02:00
Michael Stapelberg
26635a7595
x: skip creating pixmaps when the rect is actually invisible
...
This fixes a few X11 errors.
2011-04-01 21:54:45 +02:00
Michael Stapelberg
6419e42f6d
bugfix: fix race condition where window titles were not correctly updated
...
Fixes : #351
2011-04-01 21:39:58 +02:00
Michael Stapelberg
57447112ba
x: skip x_draw_decoration when con is not mapped
...
This commit makes workspace switching completely free of cache misses, so
decorations are not re-rendered when switching workspaces.
2011-04-01 20:41:08 +02:00
Michael Stapelberg
b644fb5f26
x: recurse x_push_node in focus order. reduces flickering when switching workspaces
2011-04-01 20:40:32 +02:00
Michael Stapelberg
20b1fd4293
Skip FocusIn events with mode == NOTIFY_MODE_GRAB or NOTIFY_MODE_UNGRAB
...
According to the Xlib Programming Manual section 10.7.2 [1], these events are
generated when keyboard grabs activate/deactivate, while we are only interested
in focus changes which are done by other programs independend from the
keyboard.
[1] http://tronche.com/gui/x/xlib/events/input-focus/grab.html
2011-03-30 23:00:48 +02:00
Michael Stapelberg
4fd4e619ec
little coding style fixes, fix compilation warning
2011-03-21 23:54:13 +01:00
Fernando Tarlá Cardoso Lemos
f0f7cb7478
If the socket path isn't specified, write it to /tmp.
2011-03-21 23:49:39 +01:00
Michael Stapelberg
39ee97fd82
FREE() already nulls the pointer
2011-03-21 23:49:16 +01:00
Fernando Tarlá Cardoso Lemos
6d8784af98
Set the I3_SOCKET_PATH atom to the expanded path.
2011-03-21 23:46:03 +01:00
Michael Stapelberg
99ce340fea
Focus cons when moving to a visible workspace on a different output (Thanks mseed)
...
Fixes : #355
2011-03-20 19:32:00 +01:00
Michael Stapelberg
67b37551d8
Bugfix: Fix switching workspaces on multi-monitor setups (Thanks mseed)
...
Fixes #356
2011-03-20 18:27:14 +01:00
Michael Stapelberg
38173749f8
Bugfix: Also invalidate caches of the following cons in a split con on cache miss (Thanks fernandotcl)
2011-03-20 18:17:18 +01:00
Michael Stapelberg
b3ee50b184
Bugfix: Also update pixmaps when the position of the deco_rect has changed (Thanks fernandotcl)
2011-03-20 18:07:07 +01:00
Michael Stapelberg
e913e519f2
refactor handlers.{c,h}: declare the handlers static, remove unnecessary parameters
2011-03-20 16:53:12 +01:00
Michael Stapelberg
5e42863c7d
remove unused struct Colorpixel
2011-03-20 16:35:08 +01:00
Michael Stapelberg
c130cefa93
Handle FocusIn events generated by clients and update decoration accordingly (Thanks mseed)
2011-03-20 16:26:36 +01:00
Michael Stapelberg
144deaaaf6
Remove debugging syncs
2011-03-20 14:29:48 +01:00
Michael Stapelberg
b25477b15e
Re-implement rendering to pixmaps (double-buffering) and caching decorations
2011-03-20 14:25:09 +01:00
Michael Stapelberg
e835888a9e
Bugfix: Actually re-attach dock clients when outputs get disabled (Thanks phnom)
...
Fixes : #348
2011-03-20 01:07:21 +01:00
Michael Stapelberg
e9a9a46795
Bugfix: Don’t use the workspace where focus is for deleting workspaces when switching (Thanks mseed)
...
Fixes : #353
2011-03-19 23:19:42 +01:00
Michael Stapelberg
03ea7cea28
Bugfix: also invalidate focused_id when the to_focus window is not mapped
...
This fixes a bug where focus might not be set correctly when changing workspaces
2011-03-19 22:54:53 +01:00
Michael Stapelberg
b342d387a8
Handle saved_configpath in get_config_path, fix memleak in current_configpath handling, update atoms after reloading (Thanks fernandotcl)
2011-03-19 22:26:15 +01:00
Michael Stapelberg
626c65b0d8
Bugfix: correctly store the config path for using it for I3_CONFIG_PATH later
2011-03-19 21:50:13 +01:00
Michael Stapelberg
9344b9790c
Bugfix: fix null-pointer dereference when IPC is disabled (Thanks Merovius)
2011-03-19 21:37:27 +01:00
Michael Stapelberg
307a036d5c
i3-msg, i3-input: get the I3_SOCKET_PATH atoms if socket path was not specified
2011-03-19 21:23:55 +01:00
Michael Stapelberg
65a3259b3c
Set the I3_SOCKET_PATH and I3_CONFIG_PATH atoms on the X11 root window
2011-03-19 21:20:38 +01:00
Michael Stapelberg
8b9aedd2bf
Bugfix: When there’s nothing to focus, focus the root window (Thanks fernandotcl, ThePub)
2011-03-19 20:43:06 +01:00
Michael Stapelberg
9723366eff
tests: add testcase for WM_TAKE_FOCUS
...
requires the very latest checkout of X11::XCB
2011-03-19 02:21:46 +01:00
Michael Stapelberg
fd7e4b08f3
rendering: correctly draw background rect (Thanks phnom)
...
Fixes #347
2011-03-18 20:47:59 +01:00
Michael Stapelberg
a2e87f69ac
remove hard-coded paths since we now use pkg-config for all the dependencies
2011-03-18 18:11:02 +01:00
Michael Stapelberg
696d3cb88f
remove obsolete xcb-property line (Thanks SardemFF7)
2011-03-18 18:07:04 +01:00
Michael Stapelberg
cd0b7282e0
i3-input: remove dependency on xcb-event
2011-03-18 17:32:37 +01:00
Michael Stapelberg
3282bb4069
remove obsolete comment
2011-03-18 17:08:48 +01:00
Michael Stapelberg
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
Michael Stapelberg
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
Michael Stapelberg
36664c6289
Send WM_TAKE_FOCUS to clients when setting focus (fixes java swing problems)
2011-03-17 22:27:59 +01:00
Michael Stapelberg
c1a9e1593d
remove orientation and fall back to default behaviour
2011-03-17 21:52:12 +01:00
Michael Stapelberg
65b05169d3
change the config parser to use default_orientation instead of new_container_orientation
...
It’s a shorter and probably more meaningful description as it is not
immediately clear what a container exactly is when first installing i3.
2011-03-17 17:55:53 +01:00
Michael Stapelberg
eeb5bdd66f
cleanup code of workspace rotation on output changes
2011-03-17 17:53:56 +01:00
Simon Kampe
2f992f5c0e
Added config key for default orientation of containers (new_container_orientation) and added support in randr.c for automatically changing the orientation when user does a xrandr rotate.
2011-03-17 17:43:35 +01:00
Michael Stapelberg
b484ed5f9d
When making floating cons tiling, re-insert next to the next focused *tiling* con (Thanks mseed)
...
Fixes : #337 and #350
2011-03-14 23:50:29 +01:00
Michael Stapelberg
76e978bfb3
fix small warnings when compiling with DEBUG=0
2011-03-14 23:17:52 +01:00
Michael Stapelberg
7100d32971
cmdparse: correctly parse con_id/id (fixes warning)
2011-03-14 23:14:40 +01:00
Michael Stapelberg
b21137b2c0
cmdparse: expect 4 shift/reduce conflicts
2011-03-14 23:08:33 +01:00
Michael Stapelberg
f900fab453
cmdparse: don’t allow empty operations
2011-03-14 23:03:25 +01:00
Michael Stapelberg
627683c053
cmdparse: don’t allow empty commands
2011-03-14 23:03:13 +01:00
Michael Stapelberg
8928823e07
remove usless 'operation' token, already handled by 'operation optwhitespace'
2011-03-14 22:29:07 +01:00
Michael Stapelberg
18215445f8
remove unused current_bindings (left-over from cfgparse.y)
2011-03-14 22:28:55 +01:00