Michael Stapelberg
e73c171e0d
Bugfix: assign BORDER_BOTTOM instead of BORDER_RIGHT (Thanks Jan)
2011-05-06 13:09:50 +02:00
Michael Stapelberg
7e51f626ef
Bugfix: Before rendering, attach the con to its floating_con
...
Otherwise, the rendering will produce negative coordinates.
2011-05-02 11:06:13 +02:00
Michael Stapelberg
b2754fd679
Bugfix: When re-assigning floating windows to a different output, use the last focused workspace, not the first
2011-05-02 11:05:50 +02:00
Michael Stapelberg
d28008aa63
Bugfix: Correctly render decorations in tabbed containers (don’t overlap)
...
This fixes a regression introduced in b644fb5f26
.
2011-05-01 18:48:30 +02:00
Michael Stapelberg
3d5af35fa4
Bugfix: Center floating windows with invalid coordinates on current ws
2011-04-18 19:36:10 +02:00
Michael Stapelberg
f613df48d2
Bugfix: Check if a floating window’s coordinates are within a different workspace when managing (Thanks Merovius)
...
Fixes : #297
2011-04-18 19:28:03 +02:00
Michael Stapelberg
60532a90e7
Bugfix: Assign floating cons to correct workspace when moving between monitors (Thanks dothebart)
...
Fixes : #371
2011-04-18 18:44:39 +02:00
Michael Stapelberg
21c7a69812
optimization: when moving floating windows, render/push only the floatingcon
2011-04-01 22:40:12 +02: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
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
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
51ff0f80a6
Obey minimum size when resizing floating windows
...
Fixes #285
2011-03-06 14:15:46 +01:00
Michael Stapelberg
4514146ed9
Use the combined geometry of children when setting a split container to floating (+testcase) (Thanks mseed)
...
Fixes #332
2011-03-06 02:39:15 +01:00
Michael Stapelberg
caa1ac1a9f
Use the original geometry for floating windows
2011-03-03 16:22:22 +01:00
Michael Stapelberg
b484b9ab32
Don’t create floating containers from whole workspaces when they are empty (Thanks mseed)
...
This fixes #327
2011-03-03 14:55:02 +01:00
Michael Stapelberg
33c2b4e582
Bugfix: Correctly fix the percent values for resizing when making a floating con tiling (Thanks mseed) (+testcase)
2011-02-28 23:59:56 +01:00
Michael Stapelberg
d80105103c
Bugfix: Re-attach floating cons to the right container (Thanks mseed)
...
This fixes #315 .
2011-02-28 17:23:50 +01:00
Michael Stapelberg
a5e075c154
Automatically close empty parent cons when making their last child floating (Thanks mseed)
...
This fixes #313
2011-02-14 16:43:41 +01:00
Michael Stapelberg
7b01bc5eb7
Bugfix: use the global root variable, don’t get the first one (Thanks quaec)
...
The case of an X11 server having multiple displays is handled correctly by the
code in src/mainx.c. However, due to some functions not being correctly
refactored and still getting the first screen (and also the first root window)
from the XCB connection, i3 was operating on the wrong root window.
2011-01-28 00:41:53 +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
2f5d111936
when re-inserting a floating con, start with a more fair percent value
2011-01-27 15:53:14 +01:00
Fernando Tarlá Cardoso Lemos
07eb20851f
Fix floating mode according to the new requirements.
...
At all times any given non-leaf container should have the sum of
the percentages of its children == 1.0, otherwise we'll crash on
an assertion failure.
2011-01-27 13:00:14 +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
81ff1f976d
Bugfix: Don’t send fake configure notify with not yet rendered rect for floating windows
...
This fixes a bug where opening the Xpdf find dialog when Xpdf is in fullscreen
mode would crash Xpdf due to a zero-width and zero-height ConfigureNotify rect.
2011-01-21 21:01:02 +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
e4bb6d859e
Bugfix: Correctly maintain focus when setting a workspace to floating
2011-01-08 00:10:30 +01:00
Michael Stapelberg
2d05c3a37d
Fix dragging floating containers / click handling
2010-12-31 01:38:17 +01:00
Michael Stapelberg
daf00a932f
For floating mode on workspace level, create a container around the content (Thanks Merovius)
...
Like when setting a workspace to stacked, we need to create a new container
around the content and set *that* to floating.
2010-12-30 23:09:18 +01:00
Michael Stapelberg
529bdf833f
floating.c: remove obsolete code, fix indenting
2010-11-29 22:23:49 +01:00
Fernando Tarlá Cardoso Lemos
ea1e9b20be
Get rid of the remaining hardcoded height.
2010-11-15 12:25:06 +01:00
Michael Stapelberg
a27af52706
fix floating focus behaviour, extend testcase
2010-11-14 22:35:44 +01:00
Michael Stapelberg
d760a1c7b2
Bugfix: don’t kill parent when currently in tree_close() for a child of this parent
2010-11-14 20:14:09 +01:00
Michael Stapelberg
945632ddcb
Implement setting the WM_NAME of i3 container windows for debugging
2010-11-14 16:41:46 +01:00
Michael Stapelberg
ad9be5402a
Implement support for WM_CLIENT_LEADER
2010-11-12 23:46:03 +01:00
Michael Stapelberg
0723876429
only re-position floating clients mapped to (0, 0), add pixels for decoration
2010-11-12 20:55:43 +01:00
Michael Stapelberg
bd9e5c0bc4
parser: implement explicit "mode floating"/"mode tiling"
2010-06-30 15:54:34 +02:00
Michael Stapelberg
2f4210d3cf
floating: use con_fix_percent
2010-06-28 22:36:08 +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
69e1975e29
split up toggle_floating_mode into floating_enable and floating_disable
2010-06-28 21:40:17 +02:00
Michael Stapelberg
143622d2d7
Reposition floating windows while dragging
2010-05-31 23:01:08 +02:00
Michael Stapelberg
71e0e49c0e
Implement mode toggle
2010-05-31 22:48:28 +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
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
Axel Wagner
9cb35383a8
Implement proportional floating-resize.
2010-03-13 13:22:39 +01:00
Axel Wagner
0f5256dc72
Floating resize uses arbitrary corners
...
This closes ticket #121
2010-03-12 03:11:20 +01:00
Michael Stapelberg
7c1be83692
Update comment (Thanks Merovius)
2010-03-12 02:59:16 +01:00
Michael Stapelberg
85308715ea
Turn nested functions into real functions or macros
...
This enables compilation with llvm-clang and thus closes ticket #101 .
While it makes the code more ugly, I don’t see a beautiful solution
which would enable us to stay with the more elegant solution of
nested functions and still allow compilation with any other compiler
than gcc.
2010-03-07 19:00:34 +01:00
Michael Stapelberg
818e02ef35
huge change: implement RandR instead of Xinerama
...
Thanks to Merovius for doing a proof of concept on this one and
being a driving force behind the idea.
Using RandR instead of Xinerama means that we are now able to use
the full potential of the modern way of configuring screens. That
means, i3 now has an idea of the outputs your graphic driver
provides, which allowed us to get rid of the ugly way of detecting
changes in the screen configuration which we used before. Now, your
workspaces should not be confused when changing output modes anymore.
Also, instead of having ugly heuristics to assign your workspaces
to (the screen at position X or the second screen in the list of
screens) you will be able to just specify an output name.
As this change basically touches everything, you should be prepared
for bugs. Please test and report them!
2010-03-02 12:47:21 +01:00
Michael Stapelberg
87f8c501da
Bugfix: Correctly do boundary checking/moving to other workspaces when moving floating clients via keyboard (Thanks sasha)
2010-02-12 13:06:59 +01:00
Michael Stapelberg
65cae2cad1
Bugfix: Don’t put dock clients into floating mode (Thanks xeen)
2010-01-01 16:19:42 +01:00