Commit Graph

134 Commits

Author SHA1 Message Date
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
b6f81fe43c Bugfix: restore the original width/height with X11 border when restarting (Thanks Merovius) 2011-02-21 03:13:27 +01:00
35e79c87c8 Place dock clients on the output corresponding to their geometry request 2011-02-21 01:28:29 +01:00
9a0bc77baf bugfix: dock clients cannot be floating 2011-02-21 00:23:07 +01:00
7f89c71689 Implement dock mode, update testsuite
Currently, dock clients are only possible at the top.
2011-02-20 23:43:03 +01:00
228b5c51ff change many LOG/printf messages to use DLOG 2011-01-07 20:58:58 +01:00
cbd53e8a7f bugfix: check if the client leader is a managed window (Thanks fernandotcl) 2010-11-14 23:55:53 +01:00
76c07900c2 take into account x11 border_width settings (fixes uxterm border issue) 2010-11-14 23:44:13 +01:00
e8b5a802e2 Bugfix: only set clients to floating which have a leader that is not their own window (Thanks fernandotcl) 2010-11-14 22:49:05 +01:00
33eb00d6ae automatically set windows with client_leader to floating 2010-11-14 20:15:51 +01:00
945632ddcb Implement setting the WM_NAME of i3 container windows for debugging 2010-11-14 16:41:46 +01:00
432073dbe5 implement support for WM_TRANSIENT_FOR, expand testcase 2010-11-13 01:19:21 +01:00
ad9be5402a Implement support for WM_CLIENT_LEADER 2010-11-12 23:46:03 +01:00
57e602a97c respect position in geometry of floating windows 2010-11-12 20:55:26 +01:00
5c2758af26 Implement support for size hints (including test case) 2010-10-11 21:32:29 +02:00
160c12ed9a recognize dock windows (and support matching them) 2010-08-15 12:18:27 +02:00
c33d352fd2 floating: re-implement floating_modifier + left/right mouse button to drag/resize 2010-06-28 22:23:32 +02:00
84e78c6dba automatically set dialog windows to floating 2010-06-28 21:40:36 +02:00
14a312c152 more debug output 2010-06-02 17:04:26 +02:00
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
8c5d824fa8 Ignore UnmapNotify events generated by reparenting 2010-05-14 23:37:56 +02:00
b0f47b25a0 throw out some old code from manage.c, cleanups 2010-04-17 18:26:46 +02:00
68542f3c22 When assigning children to containers, reset their x window state 2010-04-17 16:41:20 +02:00
53dcebfd8a put container in fullscreen mode if the fullscreen state is set when mapping 2010-04-17 14:21:34 +02:00
dd7acf73e9 re-add support for legacy window titles (WM_NAME) 2010-04-13 17:46:54 +02:00
fd8735a6fd correctly update/display window title/class 2010-04-13 17:22:34 +02:00
bcfb0d2505 more reformatting 2010-04-13 16:48:42 +02:00
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
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
f9e6f8ba4b Bugfix: Correctly stack windows when new windows are opened while in fullscreen mode
This fixes ticket #195.
2010-03-15 22:17:00 +01:00
c367eaa369 put windows with WM_CLIENT_LEADER on the workspace of their leader
This fixes ticket #163
2010-03-05 18:01:32 +01:00
b53c5861a2 Restore geometry of all windows before exiting/restarting (Thanks Sasha)
This fixes ticket #185
2010-03-02 15:25:08 +01:00
d08ec00329 use scalloc instead of some places where calloc was still used 2010-03-02 14:42:24 +01:00
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
e7e9e8e49d ewmh: correctly set _NET_ACTIVE_WINDOW 2009-12-25 15:19:39 +01:00
e900a8d23d xinerama: correctly put windows which are assigned to a specific screen on that screen when it becomes available (Thanks badboy) 2009-12-21 22:30:08 +01:00
6ef0d1fa79 Touch each log message and classify it as DLOG (debug), ELOG (error) or LOG (verbose) 2009-12-19 22:40:23 +01:00
c6c0862e24 Bugfix: Correctly check for fullscreen windows when mapping new clients
CUR_CELL only works if you currently are in that container (not for
windows which are assigned to invisible workspaces, for example).
2009-12-12 21:31:41 +01:00
ffe925f733 Bugfix: Fix assignments to not yet visible workspaces
This was broken by commit 5a1668db3
2009-12-12 18:43:30 +01:00
5a1668db36 Bugfix: Render containers after setting the client active (Thanks Mirko)
This lead to race conditions when the window did not change its title
after mapping and was displayed in a tabbed container.
2009-11-26 21:32:53 +01:00
f1ecf08df5 s/for(/for (/ 2009-11-08 12:45:33 +01:00
64c99cb235 Implement configuration setting to change the default border of windows 2009-11-08 12:43:01 +01:00
2b70e05ee9 Refactor workspaces to be stored in a TAILQ instead of an array
This fixes many problems we were having with a dynamically growing
array because of the realloc (pointers inside the area which was
allocated were no longer valid as soon as the realloc moved the
memory to another address).

Again, this is a rather big change, so expect problems and enable
core-dumps.
2009-09-29 19:45:41 +02:00
f38809288a Make number of workspaces dynamic (no longer limited by 10)
Warning: This is not yet thoroughly tested, so be prepared to
encounter some segfaults. Please enable logging and coredumps,
so we can fix bugs quickly.
2009-09-27 14:00:54 +02:00
7be41492c6 Obey the client’s border_width setting (Thanks shatter)
xterm by default sets a border_width of 2. This was not taken into
account when determining the size of the window by i3. Still, you
probably want to set this to 0 in your .Xresources as the pixels
are just lost.
2009-09-26 13:47:48 +02:00
2ff2a6a315 Implement the urgency hint for windows/workspaces
Thanks to Mikael for bringing it to my mind. This change introduces
two new color classes, client.urgent and bar.urgent. By default,
urgent clients are drawn in red (colors by Atsutane).
2009-09-06 22:40:11 +02:00
ca8a194c56 Bugfix: Correctly grab the right mouse button for resizing windows (Thanks xeen) 2009-09-05 17:32:26 +02:00
c7ba95e79d Implement resizing floating clients with Mod1 + right mouse button 2009-08-22 07:49:28 +02:00
012f618c85 Bugfix: Map window when it got the fullscreen hint set 2009-08-21 12:19:04 +02:00
44d9111d65 More log cleanups 2009-08-11 15:23:58 +02:00