Michael Stapelberg
2da4173144
parser: implement "reload"
2010-06-30 15:31:29 +02:00
Michael Stapelberg
ea30fdc327
parser: call tree_close_con() instead of tree_close() when run interactively
2010-06-30 15:27:18 +02:00
Michael Stapelberg
4eace6f886
Go down the tree when moving windows, add testcase for moving
2010-06-29 19:05:31 +02:00
Michael Stapelberg
948378fa55
floating: correctly kill floating containers when closing
2010-06-28 22:37:35 +02:00
Michael Stapelberg
2f4210d3cf
floating: use con_fix_percent
2010-06-28 22:36:08 +02:00
Michael Stapelberg
574e6b51d1
re-implement click to focus
2010-06-28 22:26:23 +02:00
Michael Stapelberg
c33d352fd2
floating: re-implement floating_modifier + left/right mouse button to drag/resize
2010-06-28 22:23:32 +02:00
Michael Stapelberg
84e78c6dba
automatically set dialog windows to floating
2010-06-28 21:40:36 +02:00
Michael Stapelberg
69e1975e29
split up toggle_floating_mode into floating_enable and floating_disable
2010-06-28 21:40:17 +02:00
Michael Stapelberg
6897e15e72
Implement mark/goto, modify testcase
2010-06-02 23:32:05 +02:00
Michael Stapelberg
780e773a6a
split containers do not directly accepts windows (they only have children)
2010-06-02 22:35:37 +02:00
Michael Stapelberg
5bff638ea0
bugfix: the layout command needs to change the layout of the parent container
2010-06-02 18:58:52 +02:00
Michael Stapelberg
32be3af109
Re-implement support for the urgency hint, extend t/13-urgent.t
...
The actual rendering will follow
2010-06-02 17:55:10 +02:00
Michael Stapelberg
7c3e88ad93
parser: implement matching on the window id
2010-06-02 17:20:32 +02:00
Michael Stapelberg
14a312c152
more debug output
2010-06-02 17:04:26 +02:00
Michael Stapelberg
1c5adc6c35
Don’t ignore sequence in UnmapNotify, there might be multiple windows in one sequence
...
This would lead to i3 thinking that a new window was already managed if it
has the same X-ID as the old window. Instead, we need to fix the EnterNotify
problem in a different way.
2010-06-02 17:03:26 +02:00
Michael Stapelberg
a7d2c5942a
Clear event mask while reparenting
...
This way, we can avoid to ignore UnmapNotify events generated by reparenting.
It is generally considerable to have as little ignored events as possible
due to side-effects.
2010-06-02 17:02:10 +02:00
Michael Stapelberg
cea8f91e18
parser: implement 'layout'
2010-06-01 23:20:57 +02:00
Michael Stapelberg
b467242d69
Make splitting a container which was already split a noop
2010-06-01 22:45:18 +02:00
Michael Stapelberg
0ce62a755e
"Re-parent" floating clients whose old_parent is being closed (makes t/27 pass)
2010-06-01 21:36:02 +02:00
Michael Stapelberg
712605e69f
ipc: include floating-nodes in tree reply
2010-06-01 20:50:23 +02:00
Michael Stapelberg
a25dc3e988
Implement focus command (and extend t/21-next-prev.t to test it)
2010-06-01 18:49:43 +02:00
Michael Stapelberg
67a6bd5589
bugfix: allocate one more zero-byte to definitely get a zero-terminated string
2010-06-01 18:46:14 +02:00
Michael Stapelberg
935b8e05ff
Implement correct removal of floating containers
2010-05-31 23:16:20 +02:00
Michael Stapelberg
b14fa457e7
fix: to always abort we need to assert(false)
2010-05-31 23:08:16 +02:00
Michael Stapelberg
143622d2d7
Reposition floating windows while dragging
2010-05-31 23:01:08 +02:00
Michael Stapelberg
246d4627be
re-enable sending fake configure notifies
2010-05-31 23:00:36 +02:00
Michael Stapelberg
71e0e49c0e
Implement mode toggle
2010-05-31 22:48:28 +02:00
Michael Stapelberg
e67c712f31
cleanup: introduce CT_WORKSPACE as type to avoid having to check parent->type
2010-05-31 00:11:11 +02:00
Michael Stapelberg
a45dc6b3ad
Update _NET_WM_STATE after fullscreen state changes
2010-05-26 23:21:37 +02:00
Michael Stapelberg
be357a1aaa
Set up _NET_WM_SUPPORTED and window manager name again
...
This fixes MPlayer fullscreen mode
2010-05-15 00:28:10 +02:00
Michael Stapelberg
2d52ecf071
Add parameter to reparent windows instead of killing them when closing a container
...
Necessary because when windows are unmapped, they are not necessary to
be killed (an application can unmap it temporarily).
2010-05-15 00:16:59 +02:00
Michael Stapelberg
def41582d1
re-render the three after calling parse_cmd
2010-05-14 23:41:17 +02:00
Michael Stapelberg
8c5d824fa8
Ignore UnmapNotify events generated by reparenting
2010-05-14 23:37:56 +02:00
Michael Stapelberg
7adf921bc3
use the new parser for handling keybindings
2010-05-11 23:04:47 +02:00
Michael Stapelberg
5eae706427
grammar: s/layout_mode/window_mode
2010-05-11 23:04:21 +02:00
Michael Stapelberg
c75a6732bf
Implement 'restore' in new parser
2010-05-11 23:00:31 +02:00
Michael Stapelberg
a0e33c1d68
implement 'move' command in the new parser
2010-05-11 22:46:49 +02:00
Michael Stapelberg
98dbe63e35
Implement exec, exit, level, restart (without testcases for now)
2010-05-10 10:12:35 +02:00
Michael Stapelberg
6a1c34d2c5
Implement 'split'
2010-05-10 09:33:10 +02:00
Michael Stapelberg
145ebc7584
Implement 'prev', extend testcase
2010-05-10 09:08:31 +02:00
Michael Stapelberg
d8307f4b4a
implement 'next' in the new command parser (testcase unfinished)
2010-05-10 00:06:24 +02:00
Michael Stapelberg
f10a3d9b75
bugfix: really return focus list in IPC tree dump (instead of nodes list)
2010-05-10 00:00:43 +02:00
Michael Stapelberg
09523f36f5
also re-render the tree for commands using the new parser
2010-05-09 23:24:03 +02:00
Michael Stapelberg
65e9036837
bugfix: don’t clean up workspace when switching to the same workspace
2010-05-09 23:20:49 +02:00
Michael Stapelberg
0ea85c1b9d
implement 'fullscreen' command
2010-04-17 19:29:44 +02:00
Michael Stapelberg
b0f47b25a0
throw out some old code from manage.c, cleanups
2010-04-17 18:26:46 +02:00
Michael Stapelberg
7f3a77ac6a
loglevel bitmasks needs to be larger because we got more than 32 files
2010-04-17 17:46:11 +02:00
Michael Stapelberg
b93413ca49
remove old fullscreen code
2010-04-17 17:43:50 +02:00
Michael Stapelberg
6bf55dc356
implement con_toggle_fullscreen
2010-04-17 17:40:41 +02:00
Michael Stapelberg
c4d87e2f81
handle destroynotify events
2010-04-17 17:27:53 +02:00
Michael Stapelberg
d973f30fc2
push X11 changes after a window is mapped
2010-04-17 16:43:34 +02:00
Michael Stapelberg
68542f3c22
When assigning children to containers, reset their x window state
2010-04-17 16:41:20 +02:00
Michael Stapelberg
53dcebfd8a
put container in fullscreen mode if the fullscreen state is set when mapping
2010-04-17 14:21:34 +02:00
Michael Stapelberg
c56867792a
handle client messages (fullscreen window state)
2010-04-17 13:54:45 +02:00
Michael Stapelberg
22f38ebde4
clear current_match when dropping state
2010-04-17 12:57:06 +02:00
Michael Stapelberg
77ec4219c9
make floating an enum (we need three states, not only two)
2010-04-16 22:57:21 +02:00
Michael Stapelberg
8d05039b04
move match_* to match.c
2010-04-16 22:51:25 +02:00
Michael Stapelberg
bb220b27d7
check for empty matches
2010-04-16 22:50:20 +02:00
Michael Stapelberg
e0b7ae872e
move con_focus to con.c
2010-04-16 21:04:36 +02:00
Michael Stapelberg
4796798074
better debug messages
2010-04-16 21:02:34 +02:00
Michael Stapelberg
138a790cd0
clean up old workspace when switching (makes test 2 of t/16-*.t pass)
2010-04-16 20:59:21 +02:00
Michael Stapelberg
2534f21940
ignore sequence of unmapnotify events (generates enternotify events)
2010-04-16 20:56:49 +02:00
Michael Stapelberg
93600ce0fd
implement con_id for matching containers, extend testcase
2010-04-16 15:30:07 +02:00
Michael Stapelberg
769501420d
add first version of a new flex/bison based command parser
2010-04-14 20:26:56 +02:00
Michael Stapelberg
24725cd94a
re-add fullscreen mode
2010-04-13 20:51:43 +02:00
Michael Stapelberg
8959c5005f
cleanups
2010-04-13 19:33:40 +02:00
Michael Stapelberg
8e5a831e27
re-add focus follows mouse handling
2010-04-13 18:43:37 +02:00
Michael Stapelberg
eec762ea8f
more reformatting/cleanups
2010-04-13 17:52:23 +02:00
Michael Stapelberg
dd7acf73e9
re-add support for legacy window titles (WM_NAME)
2010-04-13 17:46:54 +02:00
Michael Stapelberg
fd8735a6fd
correctly update/display window title/class
2010-04-13 17:22:34 +02:00
Michael Stapelberg
bcfb0d2505
more reformatting
2010-04-13 16:48:42 +02:00
Michael Stapelberg
4206db2839
workspace.c: update header, reformat
2010-04-13 16:43:08 +02:00
Michael Stapelberg
6aa6fa0af0
correctly focus workspaces
2010-04-13 16:41:23 +02:00
Michael Stapelberg
c145f7e529
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.
2010-04-13 13:17:39 +02:00
Michael Stapelberg
41b6631f68
Bugfix: null-terminate buffer
2010-03-26 03:04:54 +01:00
Michael Stapelberg
a542515f9e
Fix memory leaks
2010-03-26 01:52:39 +01:00
Michael Stapelberg
7bd4ea3699
randr: Don’t enable outputs with mode 0x0
...
Just a sanity check for some possibly broken drivers.
2010-03-26 01:52:08 +01:00
Michael Stapelberg
a151fd95a8
remove newlines
2010-03-26 00:28:30 +01:00
Michael Stapelberg
6fd56757f0
Bugfix: Assign all workspace to new outputs as new outputs get available (Thanks badboy)
2010-03-26 00:13:28 +01:00
Michael Stapelberg
1b8299002e
Bugfix: Translate keysyms to keycodes before entering mode (Thanks fallen)
2010-03-25 21:18:46 +01:00
Michael Stapelberg
6699d54640
Fix rendering of workspace names after "reload" (Thanks fallen)
2010-03-25 19:08:37 +01:00
Michael Stapelberg
469f22caeb
Bugfix: Correctly switch workspace when using the "jump" command (Thanks fallen)
2010-03-25 18:07:40 +01:00
Michael Stapelberg
2c42c0c760
Bugfix: Correctly check bitmask for floating_modifier
2010-03-25 02:53:53 +01:00
Michael Stapelberg
46e7cf5fe1
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).
2010-03-24 16:52:16 +01:00
Michael Stapelberg
e90e80c87d
Bugfix: fix state of keypresses in sighandler (like in i3-input)
2010-03-24 16:10:47 +01:00
Michael Stapelberg
7eea1067f8
Bugfix: correctly translate coordinates for floating windows when outputs change
2010-03-24 16:09:43 +01:00
Michael Stapelberg
0f7ac09c7b
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
2010-03-24 16:06:21 +01:00
Michael Stapelberg
56139f3656
Bugfix: only restore focus if the workspace is focused, not if it is visible
2010-03-23 14:43:35 +01:00
Michael Stapelberg
42b638eac0
Bugfix: Don’t enter BIND_A2WS_COND state too early (Thanks fallen)
2010-03-22 15:12:37 +01:00
Michael Stapelberg
77efb29d9f
ipc: send a workspace event when the urgency flag changes
2010-03-20 03:09:42 +01:00
Michael Stapelberg
35a791f7e6
ipc: also send workspace event when initializing a workspace for an output
2010-03-20 02:56:23 +01:00
Michael Stapelberg
46bd9ac58a
Bugfix: correctly re-assign dock clients when output goes inactive
2010-03-20 02:52:06 +01:00
Michael Stapelberg
aec40126b4
ipc: implement output event
2010-03-19 22:40:43 +01:00
Michael Stapelberg
4ce0d6f014
ipc: implement GET_OUTPUTS
2010-03-19 22:24:52 +01:00
Michael Stapelberg
a607eae53a
ipc: include the urgent flag in the workspaces reply
2010-03-19 22:01:21 +01:00
Michael Stapelberg
fdcbec248a
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.
2010-03-19 21:44:36 +01:00
Michael Stapelberg
3c8c426011
Disable RandR if no outputs are found (Thanks fallen)
2010-03-19 18:51:19 +01:00
Michael Stapelberg
ee76b2ebf6
Bugfix: When disabling RandR/Xinerama, give a name to the pseudo-output (Thanks fallen)
2010-03-19 18:51:01 +01:00
Michael Stapelberg
af00df9321
Use DLOG for debug messages instead of printf (Thanks kruM)
2010-03-19 18:48:36 +01:00