Michael Stapelberg
6ca9210335
Bugfix: Properly integrate libxcb’s event loop into libev.
...
Fixes a race condition with GIMP (where it configured its window,
sent the map request and waited for the window to get mapped, but
i3 didn’t get the event until another one was sent (key binding for
example)).
The new solution is much better as it properly hands off all
the work to xcb_poll_for_event.
Inspired by awesome, which uses the same mechanism. Thanks.
2009-06-21 13:05:54 +02:00
Michael Stapelberg
ce97e23913
Remove getting colorpixels from the X server, saves code and round-trips. Requires truecolor displays.
...
If anyone has a serious (!) use for non-truecolor displays and
problems with i3’s colors after this commit, please send a mail.
2009-06-20 18:05:24 +02:00
Michael Stapelberg
83d3146b65
Bugfix: Correctly raise the currently focused client when going into stack mode
2009-06-20 00:31:57 +02:00
Michael Stapelberg
8e19f8dabf
floating: Don’t let clients become hidden under stack windows or fulscreen clients (Thanks Mirko)
2009-06-19 23:18:43 +02:00
Michael Stapelberg
5c0496a3ef
Bugfix: Make sure floating clients are alwalys above tiling clients (Thanks Mirko)
2009-06-19 22:57:19 +02:00
Michael Stapelberg
589a73c8ea
Bugfix: Correctly check for floating mode in the buttonpress handler (Thanks Mirko)
2009-06-19 22:48:18 +02:00
Michael Stapelberg
93ff4159c1
Bugfix: Obey colspan/rowspan when checking if containers can be snapped to the right/bottom (Thanks Mirko)
...
This fixes ticket #54 .
2009-06-19 22:39:03 +02:00
Michael Stapelberg
325d1b301f
Implement the special workspace ~ for assignments, which will set clients floating automatically
2009-06-19 20:20:00 +02:00
Michael Stapelberg
bcd479ca92
floating: nested functions make the callbacks a lot more easier & beautiful
2009-06-19 19:43:01 +02:00
Michael Stapelberg
89c0caaec4
Implement a command for hiding all floating windows (and showing them again)
2009-06-19 13:59:29 +02:00
Michael Stapelberg
5c48444b4e
Implement the possibility to set a workspace open clients automatically in floating mode
...
Use "wwt" (with workspace: toggle floating) in your configuration file
2009-06-19 13:20:10 +02:00
Michael Stapelberg
4135aaad7c
Implement moving of floating clients
2009-06-19 12:57:21 +02:00
Michael Stapelberg
51402b05f5
Bugfix: Correctly initialize automatically floating clients (some rendering issues)
2009-06-19 12:34:31 +02:00
Michael Stapelberg
a6d7f5451d
Also set DIALOG, UTILITY and SPLASH windows floating automatically
2009-06-19 12:05:55 +02:00
Michael Stapelberg
a2a8cd85d6
Bugfix: Don’t crash when programs set NULL hints (xev(1) for example)
...
This only happened if you had some assignment configured
2009-06-19 11:05:00 +02:00
Michael Stapelberg
1c02ddb4a7
Bugfix: Fix assignment of clients to other workspaces (Thanks badboy)
...
The problem was that the old_focused pointer was pointing to an element
of a different list. Using CIRCLEQ_APPEND_AFTER is not a good idea on
with such an element…
2009-06-18 01:25:46 +02:00
Michael Stapelberg
086f6a47e3
userguide: be more specific
2009-06-14 01:10:17 +02:00
Michael Stapelberg
00c6bdeb0b
Implement changing focus via keyboard between floating clients, fix several floating bugs
2009-06-14 01:04:59 +02:00
Michael Stapelberg
33b331d444
userguide: Document variables
2009-06-13 20:10:49 +02:00
Michael Stapelberg
e6d9c7bb9e
Bugfix: Don’t use the minimum amount of pixels for dock clients which don’t set size hints
2009-06-13 12:30:28 +02:00
Michael Stapelberg
56af58eb0b
Bugfix: Put floating clients into the focus stack (Thanks Mirko)
2009-06-13 12:20:39 +02:00
Michael Stapelberg
02fa3c2cb8
Bugfix: Correctly initialize the new atom, don’t float dock windows
2009-06-13 12:18:16 +02:00
Michael Stapelberg
9f9e21dc7f
debian: Include additional documentation in the package (docs/)
2009-06-13 00:34:36 +02:00
Michael Stapelberg
13002dc04e
Bugfix: Actually reconfigure unmapped windows when they request it
...
Before, we only sent a fake message. While this was sufficient for the
client side most of the time, it didn’t allow us to open floating
windows with the correct size.
2009-06-12 23:47:04 +02:00
Michael Stapelberg
052190ad05
Handle transient hint and window class dialog to mark clients as floating
2009-06-12 22:59:23 +02:00
Michael Stapelberg
cb12e205d9
Bugfix: When toggling floating, the copied size is the client’s size, not the total size
2009-06-12 22:55:56 +02:00
Michael Stapelberg
b13a43159f
Static analyzers: Add noreturn attribute to die()
2009-06-11 03:37:13 +02:00
Michael Stapelberg
6e5406167c
Bugfix: Use the correct size for the modifiers (Thanks Moredread!)
2009-06-11 03:30:56 +02:00
Michael Stapelberg
70be57352c
Fix memleak in config parsing (variables weren’t freed)
2009-06-11 03:30:42 +02:00
Michael Stapelberg
55f0aa8f28
Add a proper error message if connection to the X server can’t be established
2009-06-11 03:30:26 +02:00
Michael Stapelberg
d70ea03356
Remove some dead code, add default paths to switch() to make static analyzers happy
...
Check was done with scan-build from the LLVM suite. The remaining reports are false
positives and have been reported to llvm:
http://llvm.org/bugs/show_bug.cgi?id=4358
http://llvm.org/bugs/show_bug.cgi?id=4359
2009-06-10 19:59:36 +02:00
Michael Stapelberg
2f334c3f59
Bugfix: Don’t set focus when unmapping clients if the workspace is not active (Thanks Mirko)
...
This fixes ticket #53 because current workspace was set to the
workspace which was deleted.
2009-06-07 19:09:39 +02:00
Michael Stapelberg
2330c20092
Add new screenshot by atsutane
2009-06-05 22:56:58 +02:00
Michael Stapelberg
fb63c2ed58
Implement moving floating clients using Mod1+Left mouse button
2009-06-03 13:54:13 +02:00
Michael Stapelberg
036728c4d7
Use the size when mapping the window as size for floating (correct size for tool windows)
2009-06-02 14:24:37 +02:00
Michael Stapelberg
3f925a56d3
Fix warning about dereferencing type-punned pointers
2009-06-01 21:12:13 +02:00
Michael Stapelberg
8cda574aea
Update DEPENDS file (add libev, update URLs)
2009-06-01 21:02:32 +02:00
Michael Stapelberg
553db28664
Switch to libev for the event loop to build a base for IPC stuff. Please test!
2009-06-01 20:59:40 +02:00
Michael Stapelberg
e689be983b
Implement variables in configfile.
...
This implements ticket #42 .
Syntax is "set $key value". All further instances of $key will be
replaced with value before parsing each line of the configfile.
2009-06-01 16:19:06 +02:00
Michael Stapelberg
170ba60191
Bugfix: Rendering of the bottom border line was still off by one
2009-06-01 15:35:59 +02:00
Michael Stapelberg
e500d3fbaf
debian: Update changelog
2009-06-01 15:21:35 +02:00
Michael Stapelberg
2a67630aa6
Optimization: Get the colorpixels when loading configuration, make use of the new config struct
...
Instead of building arrays of colorpixels we can simply use a pointer
to a struct Colortriple. Furthermore, by getting the colorpixels when
loading the configuration, we save a lot of function calls in the
main code.
2009-06-01 15:14:45 +02:00
Michael Stapelberg
1fcad44f66
userguide: Document most features
2009-06-01 14:59:25 +02:00
Michael Stapelberg
c73bb1feaa
Draw the border lines in the window decoration correctly
2009-05-31 18:37:47 +02:00
Michael Stapelberg
517c47ca95
Don’t check twice for client.focused, change all places were colorcodes are used
2009-05-31 17:18:49 +02:00
Michael Stapelberg
0cb5d7448d
Implement clients going automatically into floating
2009-05-31 00:31:18 +02:00
Michael Stapelberg
706c44509e
retab! src/config.c
2009-05-30 22:24:05 +02:00
Michael Stapelberg
54fb9435f8
Add header for config.h, retab! the file
2009-05-30 22:22:58 +02:00
Michael Stapelberg
cbc3880007
Use a more efficient struct for storing colors, validate/parse them more easily
2009-05-30 22:20:32 +02:00
Atsutane
65bcf170ed
Introduced color setting.
2009-05-30 17:59:04 +02:00