Michael Stapelberg
09ad9808f6
Bugfix: Set focus to where the mouse pointer is when starting (Thanks nutron)
...
Fixes #477
2011-08-17 13:37:08 +02:00
Michael Stapelberg
2eab8d7f20
Merge branch 'master' into next
2011-08-17 12:29:15 +02:00
Michael Stapelberg
7c6f693c8a
Bugfix: Don’t consider the workspace next/prev command when looking for named workspaces
...
Fixes #469
2011-08-17 12:28:45 +02:00
Michael Stapelberg
7eacf8dd04
Merge branch 'master' into next
2011-08-17 12:17:29 +02:00
Michael Stapelberg
22882f4e89
Bugfix: Initialize verbose to 'false' (Thanks tilman)
...
Verbosity was set to 'true' when we started the tree branch.
We forgot to set it back to 'false' :-).
2011-08-17 12:16:32 +02:00
Michael Stapelberg
7a22bd1cf3
Merge branch 'master' into next
2011-08-17 12:14:17 +02:00
Peter Bui
36224f86d1
Only warp pointer once during x_push_changes()
...
- Introduce warp_to static variable in x.c that stores the coordinates
to warp to as a Rect.
- Add x_set_warp_to function to set this variable. Use in _tree_next,
workspace_show, and con_move_to_workspace.
- In x_push_chanages, if warp_to is set, then call xcb_warp_pointer_rect
and then reset it to NULL.
This fixes all know bugs for pointer warping for me.
2011-08-17 12:12:40 +02:00
Michael Stapelberg
2abe23d6ff
Merge branch 'master' into next
2011-08-17 01:52:45 +02:00
Michael Stapelberg
7951445849
xcb: use predefined XCB_ATOM_ atoms, don’t request them
2011-08-17 01:41:19 +02:00
Michael Stapelberg
d3efa73dd7
Merge branch 'master' into next
2011-08-11 22:22:44 +02:00
Valentin Voigt
bf0c67b2af
Warp cursor when changing workspace.
2011-08-11 22:13:50 +02:00
Michael Stapelberg
3af7692a92
Merge branch 'tests-optimize' into next
2011-08-10 15:57:28 +02:00
Michael Stapelberg
10f871b57b
implement "socket activation": passing IPC sockets to i3
2011-08-10 15:55:27 +02:00
Michael Stapelberg
016ecb65fb
Merge branch 'master' into next
2011-08-09 10:02:55 +02:00
Peter Bui
d8cf36ce83
Fix two focus issues when switching/moving workspaces
...
1. Fix focus when moving to same workspace.
If we have a single window on a workspace and we switch to the same
worksapce, focus_next will be the workspace container, rather than the
current window, so simply call con_descend_focused to ensure we set the
focus to a window.
2. Fix focus when moving a container to a visible workspace.
Call workspace_show before we attaching to new visible workspace, so we
don't get in the weird situation where target workspace has focused
window, but it isn't considered focused.
2011-08-09 10:01:08 +02:00
Mateusz Poszwa
42db9de7ec
Add new_float config option.
...
This option sets the default border style for containers automatically put into floating mode.
Fixes #264
2011-08-09 09:29:53 +02:00
Mateusz Poszwa
cd5ebc2dca
src/manage.c: properly set automatic flag when calling floating_enable()
2011-08-09 09:29:47 +02:00
Michael Stapelberg
eb0a56fad1
Merge branch 'get-marks' into next
2011-08-09 09:28:06 +02:00
Michael Stapelberg
4253aa4ba2
Merge branch 'master' into next
2011-08-09 09:27:55 +02:00
Michael Stapelberg
cd1add1f3c
Bugfix: don’t free the old json_output, the caller does that
2011-08-09 09:27:28 +02:00
Michael Stapelberg
95416175cd
Bugfix: use FREE to correctly handle NULL replies
2011-08-09 09:27:24 +02:00
Peter Bui
5e06b1b21d
Fix some potential memory leaks
2011-08-09 09:27:15 +02:00
Helgi Kristvin Sigurbjarnarson
3cc22dcbe4
Preserve marks between restarts.
2011-08-09 08:19:31 +02:00
Helgi Kristvin Sigurbjarnarson
35d7ef0ddd
Feature: implement GET_MARKS
2011-08-09 08:04:33 +02:00
Michael Stapelberg
e304902874
Merge branch 'master' into next
2011-08-07 20:45:20 +02:00
Michael Stapelberg
6fb5d6e313
initialize most to NULL, fixes warning
2011-08-07 20:45:06 +02:00
Michael Stapelberg
9260cd7e12
Merge branch 'master' into next
2011-08-07 17:56:37 +02:00
Michael Stapelberg
d39261a1f0
rewrite con_descend_orientation
...
It now uses the container orientation (if it is appropriate, the last focused
one otherwise) to recurse. This works better if the target workspace is in
vertical orientation when you use right/left or if it is in horizontal
orientation but you use up/down.
2011-08-07 15:57:36 +02:00
Michael Stapelberg
99ba193ce7
Bugfix: the up/down directions were swapped
...
Also compare 'output' and 'current' in the same order in both parts of the
condition to make the comparison more clear.
2011-08-07 15:46:24 +02:00
Michael Stapelberg
692d65b0fd
little style fixes
2011-08-07 15:24:51 +02:00
Peter Bui
a547365a88
Implement switching focus across screens.
...
Modify _tree_next() so that when we reach the workspace container:
1. Find the next corresponding output (screen) using the added
get_output_next().
2. If there is another output, find the visible workspace.
3. Call workspace_show on found workspace.
4. Find the appropriate window to focus (leftmost/rightmost, etc.) using
con_descend_direction, and then focus it.
I've only tested on horizontal monitors (left/right).
2011-08-07 14:33:07 +02:00
Michael Stapelberg
94ba655794
Merge branch 'master' into next
2011-08-06 18:54:50 +02:00
Michael Stapelberg
cd5e74bd8e
Bugfix: Call tree_render() before starting the dragging when dragging a floating window (Thanks eeemsi)
...
Fixes #462
2011-08-06 18:53:39 +02:00
Michael Stapelberg
2631ad4c07
Merge branch 'master' into next
2011-08-05 01:04:28 +02:00
Michael Stapelberg
ec0d67410a
Fix border rendering (Thanks Paride Legovini)
2011-08-05 01:03:56 +02:00
Michael Stapelberg
6e95004d6c
Merge branch 'master' into next
2011-08-04 23:37:40 +02:00
Michael Stapelberg
f2e1e220a4
Bugfix: Use the right format string (Thanks pnutzh4x0r)
2011-08-04 23:34:23 +02:00
Michael Stapelberg
7e0cbf18f9
Bugfix: Correctly parse the 'focused' (it’s a bool, no longer int) when restoring layout (Thanks andi)
2011-08-04 22:58:19 +02:00
Michael Stapelberg
93c3596619
Merge branch 'master' into next
2011-08-04 22:21:42 +02:00
Michael Stapelberg
1d50cff7ca
Bugfix: Fix stacking order
...
The commit 192dbdabd6
introduced a regression
here (open three floating windows and try to raise them with clicking to see
what i mean)
2011-08-04 22:19:30 +02:00
Michael Stapelberg
ecc2cae3f7
Bugfix: use ELOG to actually get the error message into the logfile shown by i3-nagbar
2011-08-04 21:43:55 +02:00
Michael Stapelberg
4e350664ae
Bugfix: Check that ->symbol != NULL before using strcasecmp()
2011-08-04 21:38:13 +02:00
Michael Stapelberg
787dd4059f
little style fixes for the previous patch
2011-08-04 21:25:47 +02:00
Radek Tříška
9d101d8473
check_for_duplicate_bindings
2011-08-04 20:37:01 +02:00
Michael Stapelberg
e9395149b9
Merge branch 'master' into next
2011-08-04 20:11:44 +02:00
Mateusz Poszwa
1913bf0e5c
Add "instance" to matching criteria
2011-08-04 20:10:31 +02:00
Simon Kampe
837bb50826
Parsing workspace name so if the first part is a number, the workspace will get this number. If no number is found it will default to -1.
2011-08-04 00:30:07 +02:00
Peter Bui
1750192f63
Modify workspace next/prev to account for workspaces on all outputs.
...
Generally, the traversal goes: numbered workspaces in order, and then
named workspaces in the order in which they appear in the tree.
Example:
Output 1: Output 2:
1 3 D C 2 4 B A
Traversal: 1, 2, 3, 4, D, C, B, A, 1, ...
Note, after the numbered workspaces, we traverse the named workspaces
from output 1, and then output 2, etc.
2011-08-04 00:12:09 +02:00
Michael Stapelberg
d0741975f1
Bugfix: Use the appropriate number when assigning numbered workspaces in randr.c
2011-08-04 00:10:23 +02:00
Michael Stapelberg
c883e7050a
Include <limits.h> in all.h
2011-08-04 00:10:04 +02:00
Michael Stapelberg
92481b133c
docs/userguide: the correct command is 'floating enable', not 'mode floating' (Thanks Sander)
...
Fixes : #453
2011-08-03 20:48:28 +02:00
Michael Stapelberg
e616b45c83
Bugfix: realloc() with size == 0 works like free() and returns NULL, so don’t die()
2011-08-03 20:43:08 +02:00
Michael Stapelberg
192dbdabd6
Bugfix: Correctly set the _NET_CLIENT_LIST_STACKING hint (fixes chromium tabbar)
...
Fixes #287
2011-08-03 20:07:03 +02:00
Michael Stapelberg
cc5f3ce95a
Bugfix: Fix 'resize' with direction != 'up' for floating windows
...
Fixes #447
2011-08-03 14:48:52 +02:00
Michael Stapelberg
9800d5286f
Bugfix: Correctly check if the workspace already exists
2011-08-03 12:18:30 +02:00
Michael Stapelberg
dcba8024de
also handle quoted workspace names, extend t/72 for that
2011-08-03 03:33:12 +02:00
Michael Stapelberg
0092b245a1
Bugfix: When looking for an unused workspace, try the named workspaces first
...
Fixes : #449
2011-08-03 03:08:59 +02:00
Michael Stapelberg
719022d80a
Bugfix: Ensure that the percentage is > 0.05 when using the 'resize' cmd (Thanks rogutes)
...
Fixes #437
2011-08-02 22:31:45 +02:00
Michael Stapelberg
554a43ca4a
Bugfix: Make the criteria rules recursive in src/cfgparse.y, too (Thanks f8l)
2011-08-02 19:46:14 +02:00
Michael Stapelberg
c9194b4297
Bugfix: Correctly bind on multiple keycodes if a symbol has more than one (Thanks ubitux)
2011-08-02 10:47:03 +02:00
Michael Stapelberg
3204caa98d
i3-migrate-config-to-v4: drop the .pl suffix
...
As lintian (a Debian package checker) mentions, it is more clever to install it
without the extension, since the implementation language might change.
2011-07-31 23:11:05 +02:00
Michael Stapelberg
bc98185f85
Bugfix: Handle (and free) the last_motion_notify
2011-07-31 21:21:45 +02:00
Michael Stapelberg
7180dca3b2
Bugfix: Correctly free the xcb_get_geometry reply when not managing a window
2011-07-31 20:39:33 +02:00
Michael Stapelberg
22de7593c5
Bugfix: free() the grab_pointer reply
2011-07-31 19:52:58 +02:00
Michael Stapelberg
6c35a0b93b
handle the xcb_grab_pointer reply
2011-07-31 19:48:39 +02:00
Michael Stapelberg
ffbcfa2c97
Bugfix: also free() X11 errors in the main loop
2011-07-31 19:41:57 +02:00
Michael Stapelberg
fdfa88586d
Forgot free(event)
2011-07-31 19:34:55 +02:00
Michael Stapelberg
fa1fe3cfed
Bugfix: Same xcb_send_event fix as 1e0033bce4
2011-07-31 19:33:56 +02:00
Michael Stapelberg
5bfc89f733
Bugfix: Correctly pass the pointer to xcb_send_event
2011-07-31 19:26:38 +02:00
Michael Stapelberg
52b3646ecc
xcb: don’t use the _unchecked variant for requests which have a reply
2011-07-31 18:19:41 +02:00
Michael Stapelberg
7f3f7c26b6
Bugfix: free replies after using them
2011-07-31 18:17:56 +02:00
Michael Stapelberg
d9ff172d36
Bugfix: load_font: free reply after using it
2011-07-31 17:57:11 +02:00
Michael Stapelberg
cbfcf5bd8b
Bugfix: free font string after using it
2011-07-31 17:54:53 +02:00
Michael Stapelberg
ee83df9684
Bugfix: cfgparse: correctly free parser/lexer
2011-07-31 17:50:54 +02:00
Michael Stapelberg
088681c781
Bugfix: property handlers: correctly free replies in all cases
2011-07-31 17:46:41 +02:00
Michael Stapelberg
1e0033bce4
Bugfix: Allocate 32 bytes for xcb_send_event, it always copies 32 bytes
...
Fixes an 'uninitialized memory' error in valgrind
2011-07-31 17:46:01 +02:00
Michael Stapelberg
4875868689
Bugfix: Free property replies in their handlers
2011-07-31 17:12:37 +02:00
Michael Stapelberg
d3e3339a05
Bugfix: Fix small memory leak when initializing output Cons
2011-07-31 17:11:51 +02:00
Michael Stapelberg
f2fc523de7
Bugfix: fix memory leak in src/cmdparse.y
2011-07-31 17:11:28 +02:00
Michael Stapelberg
3721c598bd
Bugfix: Set the cursor via the Xlib connection if XCursor is supported
...
This fixes a race where we created cursors on the Xlib connection, flushed,
then used the cursor on the XCB connection. Even though we flushed, the X
server did not process the requests yet and therefore returned a BadCursor
error.
This bugfix uses the Xlib connection for setting the root window cursor which
will ensure that the requests are properly serialized.
An easy test for this (on my machine) is the following ~/.xsession:
xsetroot -cursor_name cross
exec i3
If you see a cross cursor instead of the pointer, the race happens. You’ll see
a error_code=6 error in your ~/.xsession-errors.
2011-07-29 13:13:51 +02:00
Michael Stapelberg
bc7dec6a4c
X11 errors: also log the error_code (see X Protocol, Appendix B, Errors)
2011-07-29 13:11:02 +02:00
Fernando Tarlá Cardoso Lemos
ae9c90ba19
Don't leak the cursor_id.
...
Fixes a server-side leak. The cursor_id is not needed when we're
using themed cursors (we never freed it either).
2011-07-29 12:38:44 +02:00
Fernando Tarlá Cardoso Lemos
7a18dcc89e
Set the root window cursor. Fixes #442 .
2011-07-29 12:38:24 +02:00
Michael Stapelberg
ed30043950
Bugfix: Also abort drag_pointer after XCB_KEY_PRESS / XCB_KEY_RELEASE (Thanks eeemsi)
2011-07-28 21:01:34 +02:00
Michael Stapelberg
f84264ae41
remove _NET_WM_WORKAREA from _NET_SUPPORTED for now
...
See ticket #301 , this is a problem with Qt apps on your second monitor.
We should implement better EWMH support, but not before the release :).
2011-07-27 12:51:38 +02:00
Michael Stapelberg
18513e1638
x.c: fix warning by removing unused variable
2011-07-25 00:32:14 +02:00
Michael Stapelberg
7a7764a0d9
handlers.c: fix warnings
2011-07-25 00:32:03 +02:00
Michael Stapelberg
797ba5f7c8
remove unnecessary close, because fclose already closes the file descriptor
2011-07-24 18:42:46 +02:00
Michael Stapelberg
34eb9b2664
ipc: make 'focused' a bool
2011-07-24 15:00:09 +02:00
Michael Stapelberg
b09bb0fc2a
ipc: make 'urgent' a bool
2011-07-24 14:54:30 +02:00
Michael Stapelberg
36fde6dbe1
ipc: send 'percent': null when percent is not relevant for the container
2011-07-24 14:47:28 +02:00
Michael Stapelberg
a05a9f8dae
Set some more atoms for _NET_SUPPORTED (Thanks lexszero)
2011-07-23 22:40:47 +02:00
Michael Stapelberg
3f7c7c2e38
remove left-over wordexp.h include
2011-07-23 22:37:41 +02:00
Michael Stapelberg
ffe297f5e5
Bugfix: use the global root variable, don’t get the first one (Thanks quaec)
2011-07-23 22:29:01 +02:00
Michael Stapelberg
fdd098b010
secure strscpy by replacing with strncpy
2011-07-23 22:22:36 +02:00
Michael Stapelberg
370715d1a8
Bugfix: Don’t leak file descriptor
2011-07-23 22:11:01 +02:00
Michael Stapelberg
062ce3ef03
Bugfix: Correctly resize when clicking on the border of a stacked con
...
Runs the same code as for non-stacked / non-tabbed containers, but on the
parent of the container (which is the stacked / tabbed con, since route_click
gets called with the child).
2011-07-23 21:48:14 +02:00
Michael Stapelberg
02dfb8e891
use memmem and strndup from FreeBSD on Darwin (Thanks Marcus)
2011-07-17 15:18:45 +02:00
Michael Stapelberg
2d71102796
Bugfix: Switch to appropriate workspace when using 'focus' (+test) (Thanks rogutes)
...
Fixes #432
2011-07-14 23:45:36 +02:00
Michael Stapelberg
8c1a242f5f
reload the config after editing it through i3-nagbar
2011-07-13 18:47:08 +02:00