Commit Graph

417 Commits (0e8b3c3401e398f81164cc593cd2cd1717978c7a)

Author SHA1 Message Date
Michael Stapelberg 0e8b3c3401 Bugfix: floating: open windows with correct width/height 2009-06-21 13:18:54 +02:00
Michael Stapelberg 2751eedae5 Bugfix: Floating: open windows at their requested position 2009-06-21 13:12:42 +02:00
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