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
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
89ef41dadf
re-implement support for MappingNotifys
2011-03-14 17:20:04 +01:00
Fernando Tarlá Cardoso Lemos
77db9f937f
Make it easier to use other atoms.
2011-03-14 17:13:17 +01:00
Fernando Tarlá Cardoso Lemos
c0563af3e2
Bring back some more EWMH support.
2011-03-14 17:11:33 +01:00
Fernando Tarlá Cardoso Lemos
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
Michael Stapelberg
f162e7efaa
refactor font caching to just save the ID instead of mainting a cache with pattern→id-mapping
2011-03-10 23:20:17 +01:00
Michael Stapelberg
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
Michael Stapelberg
1585c36ab2
x: remove XCB_EVENT_MASK_ENTER_WINDOW from child event mask, already handled in parent
...
This prevents unwanted EnterNotifys when switching cons in a stacked con with
an h-split as second child in the stacked con.
2011-03-06 21:49:53 +01:00
Michael Stapelberg
7154fecbbf
Implement the popup_during_fullscreen option, set default to leave_fullscreen
...
Fixes #333
2011-03-06 15:46:06 +01:00
Michael Stapelberg
51ff0f80a6
Obey minimum size when resizing floating windows
...
Fixes #285
2011-03-06 14:15:46 +01:00
Michael Stapelberg
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
Michael Stapelberg
a92b9dca73
Bugfix: fix disabling RandR outputs
2011-02-21 01:43:39 +01:00
Michael Stapelberg
35e79c87c8
Place dock clients on the output corresponding to their geometry request
2011-02-21 01:28:29 +01:00
Michael Stapelberg
7f89c71689
Implement dock mode, update testsuite
...
Currently, dock clients are only possible at the top.
2011-02-20 23:43:03 +01:00
Michael Stapelberg
53d9072ca7
implement TAILQ_SWAP (only for consecutive elements, order relevant) and use it
2011-02-15 02:21:23 +01:00
Michael Stapelberg
834f4d7bc2
add missing function documentation
2011-02-14 23:17:30 +01:00
Michael Stapelberg
26a416e016
refactor tree_move() into src/move.c, change config (!), change testcase
...
Due to lots of cases which were added and added to tree_move(), the function
was not really easy to understand. For this refactoring, I wrote tree_move()
from scratch, thinking about (hopefully) all cases. The testsuite still passes.
The move command also has different parameters now. Instead of the hard to
understand 'before v' stuff, we use 'move [left|right|up|down]'.
2011-02-14 23:05:20 +01:00
Michael Stapelberg
28dd226259
refactor code for removing children from a con
...
Let’s see how this callback stuff will work out. If it doesn’t work out well,
we will remove it.
2011-02-14 18:08:36 +01:00
Michael Stapelberg
0238ce3c73
fix some compiler warnings
2011-02-01 15:43:59 +01:00
Michael Stapelberg
f462a9a215
re-insert floating cons next to the currently focused con of the appropriate workspace
2011-01-27 16:04:17 +01:00
Michael Stapelberg
fe851b85f0
RandR: respect primary output
2011-01-27 15:40:02 +01:00
Fernando Tarlá Cardoso Lemos
bc82fc7e9f
This parameter is no longer needed.
...
The algorithm is now always the same, doesn't matter if we're
adding or removing a container to/from its parent.
2011-01-27 13:00:14 +01:00
Michael Stapelberg
83f6e445a0
Bugfix: Don’t use ->old_parent for floating cons (Thanks eelvex)
...
Instead, we attach them to their workspace when toggling back to tiling. This
makes more sense; afterall, floating clients are always directly below a
CT_WORKSPACE container.
2011-01-08 00:44:03 +01:00
Michael Stapelberg
115462f103
Implement tree flattening to automatically solve situations of redundant chains of split containers
...
This should fix the move problems. See comment of tree_flatten() for a little
example.
2011-01-07 22:21:41 +01:00
Michael Stapelberg
23b4271e1c
fix enum value
2011-01-07 03:01:58 +01:00
Michael Stapelberg
5098e45f23
Re-Implement support for RandR changes
2011-01-05 00:16:10 +01:00
Axel Wagner
aa422c07c4
Add forgetful restart to sighandler
2010-12-31 19:36:35 +01:00
Axel Wagner
6ec468ba1e
Retab sighandler.c
2010-12-31 19:36:32 +01:00
Axel Wagner
fb6d117c42
Port sighandler to tree-branch
2010-12-31 19:36:29 +01:00
Michael Stapelberg
2d05c3a37d
Fix dragging floating containers / click handling
2010-12-31 01:38:17 +01:00
Michael Stapelberg
028f7d2ca7
Fix resize handling on click on borders (did not correctly use orientation)
2010-12-28 16:26:42 +01:00
Fernando Tarlá Cardoso Lemos
c88c3e3ab2
Default to a file in /tmp for the restart state.
...
The file is now created in /tmp using the process PID and the
username of the user running i3. The restart state file is only
loaded when restarting (the --restart option is appended to the
command line prior to the restart). That means that renaming the
old state file with the ".old" extension is no longer needed.
This "--restart" switch is supposed to be only used by i3. The
"-L" switch can be used to load a layout (and not delete it
afterwards). We unlink the state file after we load it so that
we don't keep cruft in /tmp or try to restart from an old config
file if restart_state is set.
2010-12-27 13:33:03 +01:00
Fernando Tarlá Cardoso Lemos
68f906f278
util.c is the proper place for those functions.
2010-12-27 13:28:17 +01:00
Fernando Tarlá Cardoso Lemos
3669bcbd5f
Remove some commented out code.
2010-12-27 13:27:14 +01:00
Fernando Tarlá Cardoso Lemos
a1dd74da5a
Implement default border styles (thanks litemotiv).
2010-12-27 13:10:45 +01:00
Michael Stapelberg
1a40641462
workspace.{c,h}: remove obsolete code
2010-11-29 22:32:19 +01:00
Michael Stapelberg
ee45c92564
Implement resizing (still buggy)
...
Committing basic resizing functionality. We need testcases for the bugs and
then eliminate them.
2010-11-29 10:56:16 +01:00
Michael Stapelberg
d60e8c56dc
little style fixes, add vim modeline
2010-11-28 13:02:29 +01:00
Fernando Tarlá Cardoso Lemos
69fc6449dc
libXcursor support (themed cursors).
2010-11-28 13:01:45 +01:00
Michael Stapelberg
3bab222aa7
Bugfix: Re-attach windows in correct order when switching layout (Thanks fernandotcl)
2010-11-28 01:51:16 +01:00
Fernando Tarlá Cardoso Lemos
0a17fe973c
Make the restart path configurable.
2010-11-28 01:18:10 +01:00
Michael Stapelberg
622b51a1ea
Fix switching containers by moving the mouse over their decorations when in the same container
2010-11-28 01:13:18 +01:00
Michael Stapelberg
77d0d42ed2
look and feel: create split container when switching workspace layout
...
Quote from the source:
When the container type is CT_WORKSPACE, the user wants to change the
whole workspace into stacked/tabbed mode. To do this and still allow
intuitive operations (like level-up and then opening a new window), we
need to create a new split container. */
2010-11-26 23:08:12 +01:00
Michael Stapelberg
1de97a1f1f
correctly sort numbered workspaces (+testcase)
...
Numbered workspaces (workspaces with a name containing only digits) will be
inserted in the correct order now. Named workspaces are always sorted after
numbered workspaces and in the order of creation.
2010-11-21 23:35:49 +01:00
Michael Stapelberg
fab8b84db7
ipc: fix current_workspace
2010-11-21 22:12:34 +01:00