]>
git.sur5r.net Git - i3/i3/log
Michael Stapelberg [Wed, 24 Jun 2009 16:31:43 +0000 (18:31 +0200)]
Ensure a minimum size of 25px when resizing windows
Michael Stapelberg [Wed, 24 Jun 2009 15:40:34 +0000 (17:40 +0200)]
Use drag_pointer from floating.c for the resize handler
Michael Stapelberg [Wed, 24 Jun 2009 15:24:09 +0000 (17:24 +0200)]
Bugfix: resizing: boundary checking (Thanks Mirko)
Michael Stapelberg [Wed, 24 Jun 2009 15:12:12 +0000 (17:12 +0200)]
Correctly re-assign floating clients to the destination workspace when moving
Michael Stapelberg [Tue, 23 Jun 2009 22:35:05 +0000 (00:35 +0200)]
Ensure that the focus is set correctly when moving floating clients
Michael Stapelberg [Tue, 23 Jun 2009 22:34:03 +0000 (00:34 +0200)]
Correctly move floating clients to other workspaces on visible screens
Michael Stapelberg [Tue, 23 Jun 2009 21:17:06 +0000 (23:17 +0200)]
Bugfix: Remove/add floating clients to workspace->floating_clients when moving to other workspaces
Michael Stapelberg [Tue, 23 Jun 2009 21:10:04 +0000 (23:10 +0200)]
Bugfix: load current_col/current_row from workspace when setting focus (Thanks Mirko)
In the case of floating clients which have no container, the values
were still the ones from your old workspace, which was a problem if
your dimensions didn’t match…
Michael Stapelberg [Tue, 23 Jun 2009 20:42:54 +0000 (22:42 +0200)]
floating: enforce minimum size of 50x20 when resizing (Thanks Mirko)
Michael Stapelberg [Sun, 21 Jun 2009 15:05:23 +0000 (17:05 +0200)]
debian: change Priority to extra (makes more sense, plus necessary because xcb is in extra)
Michael Stapelberg [Sun, 21 Jun 2009 14:40:23 +0000 (16:40 +0200)]
Enter feature freeze. Update debian/changelog, add RELEASE-NOTES-3.b (not yet released!)
Michael Stapelberg [Sun, 21 Jun 2009 14:14:15 +0000 (16:14 +0200)]
Implement selecting the next tiling/floating window (using "focus")
Also update documentation (manpage, userguide).
To make the code easier to read/write when checking if a client is
floating, introduce client_is_floating().
Michael Stapelberg [Sun, 21 Jun 2009 11:44:44 +0000 (13:44 +0200)]
Use a nested event loop which polls and saves motion notify events for later
This should speed up resizing/dragging quite a bit, thus fixing ticket #51
Michael Stapelberg [Sun, 21 Jun 2009 11:44:14 +0000 (13:44 +0200)]
Bugfix: yuck! FREE() used a wrong check, effectively never free()ing memory
Michael Stapelberg [Sun, 21 Jun 2009 11:29:48 +0000 (13:29 +0200)]
Implement reconfiguration of floating clients
Michael Stapelberg [Sun, 21 Jun 2009 11:18:54 +0000 (13:18 +0200)]
Bugfix: floating: open windows with correct width/height
Michael Stapelberg [Sun, 21 Jun 2009 11:12:42 +0000 (13:12 +0200)]
Bugfix: Floating: open windows at their requested position
Michael Stapelberg [Sun, 21 Jun 2009 11:05:54 +0000 (13:05 +0200)]
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.
Michael Stapelberg [Sat, 20 Jun 2009 16:05:24 +0000 (18:05 +0200)]
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.
Michael Stapelberg [Fri, 19 Jun 2009 22:31:57 +0000 (00:31 +0200)]
Bugfix: Correctly raise the currently focused client when going into stack mode
Michael Stapelberg [Fri, 19 Jun 2009 21:18:43 +0000 (23:18 +0200)]
floating: Don’t let clients become hidden under stack windows or fulscreen clients (Thanks Mirko)
Michael Stapelberg [Fri, 19 Jun 2009 20:57:19 +0000 (22:57 +0200)]
Bugfix: Make sure floating clients are alwalys above tiling clients (Thanks Mirko)
Michael Stapelberg [Fri, 19 Jun 2009 20:48:18 +0000 (22:48 +0200)]
Bugfix: Correctly check for floating mode in the buttonpress handler (Thanks Mirko)
Michael Stapelberg [Fri, 19 Jun 2009 20:39:03 +0000 (22:39 +0200)]
Bugfix: Obey colspan/rowspan when checking if containers can be snapped to the right/bottom (Thanks Mirko)
This fixes ticket #54.
Michael Stapelberg [Fri, 19 Jun 2009 18:20:00 +0000 (20:20 +0200)]
Implement the special workspace ~ for assignments, which will set clients floating automatically
Michael Stapelberg [Fri, 19 Jun 2009 17:43:01 +0000 (19:43 +0200)]
floating: nested functions make the callbacks a lot more easier & beautiful
Michael Stapelberg [Fri, 19 Jun 2009 11:59:29 +0000 (13:59 +0200)]
Implement a command for hiding all floating windows (and showing them again)
Michael Stapelberg [Fri, 19 Jun 2009 11:20:10 +0000 (13:20 +0200)]
Implement the possibility to set a workspace open clients automatically in floating mode
Use "wwt" (with workspace: toggle floating) in your configuration file
Michael Stapelberg [Fri, 19 Jun 2009 10:57:21 +0000 (12:57 +0200)]
Implement moving of floating clients
Michael Stapelberg [Fri, 19 Jun 2009 10:34:31 +0000 (12:34 +0200)]
Bugfix: Correctly initialize automatically floating clients (some rendering issues)
Michael Stapelberg [Fri, 19 Jun 2009 10:05:55 +0000 (12:05 +0200)]
Also set DIALOG, UTILITY and SPLASH windows floating automatically
Michael Stapelberg [Fri, 19 Jun 2009 09:05:00 +0000 (11:05 +0200)]
Bugfix: Don’t crash when programs set NULL hints (xev(1) for example)
This only happened if you had some assignment configured
Michael Stapelberg [Wed, 17 Jun 2009 23:25:46 +0000 (01:25 +0200)]
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…
Michael Stapelberg [Sat, 13 Jun 2009 23:10:17 +0000 (01:10 +0200)]
userguide: be more specific
Michael Stapelberg [Sat, 13 Jun 2009 23:04:59 +0000 (01:04 +0200)]
Implement changing focus via keyboard between floating clients, fix several floating bugs
Michael Stapelberg [Sat, 13 Jun 2009 18:10:49 +0000 (20:10 +0200)]
userguide: Document variables
Michael Stapelberg [Sat, 13 Jun 2009 10:30:28 +0000 (12:30 +0200)]
Bugfix: Don’t use the minimum amount of pixels for dock clients which don’t set size hints
Michael Stapelberg [Sat, 13 Jun 2009 10:20:39 +0000 (12:20 +0200)]
Bugfix: Put floating clients into the focus stack (Thanks Mirko)
Michael Stapelberg [Sat, 13 Jun 2009 10:18:16 +0000 (12:18 +0200)]
Bugfix: Correctly initialize the new atom, don’t float dock windows
Michael Stapelberg [Fri, 12 Jun 2009 22:34:36 +0000 (00:34 +0200)]
debian: Include additional documentation in the package (docs/)
Michael Stapelberg [Fri, 12 Jun 2009 21:47:04 +0000 (23:47 +0200)]
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.
Michael Stapelberg [Fri, 12 Jun 2009 20:59:23 +0000 (22:59 +0200)]
Handle transient hint and window class dialog to mark clients as floating
Michael Stapelberg [Fri, 12 Jun 2009 20:55:56 +0000 (22:55 +0200)]
Bugfix: When toggling floating, the copied size is the client’s size, not the total size
Michael Stapelberg [Thu, 11 Jun 2009 01:37:13 +0000 (03:37 +0200)]
Static analyzers: Add noreturn attribute to die()
Michael Stapelberg [Thu, 11 Jun 2009 01:30:56 +0000 (03:30 +0200)]
Bugfix: Use the correct size for the modifiers (Thanks Moredread!)
Michael Stapelberg [Thu, 11 Jun 2009 01:30:42 +0000 (03:30 +0200)]
Fix memleak in config parsing (variables weren’t freed)
Michael Stapelberg [Thu, 11 Jun 2009 01:30:26 +0000 (03:30 +0200)]
Add a proper error message if connection to the X server can’t be established
Michael Stapelberg [Wed, 10 Jun 2009 17:59:36 +0000 (19:59 +0200)]
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
Michael Stapelberg [Sun, 7 Jun 2009 17:09:39 +0000 (19:09 +0200)]
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.
Michael Stapelberg [Fri, 5 Jun 2009 20:56:58 +0000 (22:56 +0200)]
Add new screenshot by atsutane
Michael Stapelberg [Wed, 3 Jun 2009 11:54:13 +0000 (13:54 +0200)]
Implement moving floating clients using Mod1+Left mouse button
Michael Stapelberg [Tue, 2 Jun 2009 12:24:37 +0000 (14:24 +0200)]
Use the size when mapping the window as size for floating (correct size for tool windows)
Michael Stapelberg [Mon, 1 Jun 2009 19:12:13 +0000 (21:12 +0200)]
Fix warning about dereferencing type-punned pointers
Michael Stapelberg [Mon, 1 Jun 2009 19:02:32 +0000 (21:02 +0200)]
Update DEPENDS file (add libev, update URLs)
Michael Stapelberg [Mon, 1 Jun 2009 18:59:40 +0000 (20:59 +0200)]
Switch to libev for the event loop to build a base for IPC stuff. Please test!
Michael Stapelberg [Mon, 1 Jun 2009 14:19:06 +0000 (16:19 +0200)]
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.
Michael Stapelberg [Mon, 1 Jun 2009 13:35:59 +0000 (15:35 +0200)]
Bugfix: Rendering of the bottom border line was still off by one
Michael Stapelberg [Mon, 1 Jun 2009 13:21:35 +0000 (15:21 +0200)]
debian: Update changelog
Michael Stapelberg [Mon, 1 Jun 2009 13:14:45 +0000 (15:14 +0200)]
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.
Michael Stapelberg [Mon, 1 Jun 2009 12:59:25 +0000 (14:59 +0200)]
userguide: Document most features
Michael Stapelberg [Sun, 31 May 2009 16:37:47 +0000 (18:37 +0200)]
Draw the border lines in the window decoration correctly
Michael Stapelberg [Sun, 31 May 2009 15:18:49 +0000 (17:18 +0200)]
Don’t check twice for client.focused, change all places were colorcodes are used
Michael Stapelberg [Sat, 30 May 2009 22:31:18 +0000 (00:31 +0200)]
Implement clients going automatically into floating
Michael Stapelberg [Sat, 30 May 2009 20:24:05 +0000 (22:24 +0200)]
retab! src/config.c
Michael Stapelberg [Sat, 30 May 2009 20:22:58 +0000 (22:22 +0200)]
Add header for config.h, retab! the file
Michael Stapelberg [Sat, 30 May 2009 20:20:32 +0000 (22:20 +0200)]
Use a more efficient struct for storing colors, validate/parse them more easily
Atsutane [Fri, 29 May 2009 14:33:48 +0000 (16:33 +0200)]
Introduced color setting.
Michael Stapelberg [Sat, 30 May 2009 09:49:50 +0000 (11:49 +0200)]
Bugfix: Send fake configure notify events when moving clients (Thanks Volker)
This fixes ticket #47
Michael Stapelberg [Sat, 30 May 2009 09:41:49 +0000 (11:41 +0200)]
Bugfix: Correctly set focus when switching to a workspace with floating clients
This fixes ticket #45
Michael Stapelberg [Sat, 30 May 2009 09:35:32 +0000 (11:35 +0200)]
Bugfix: Correctly cleanup stack_windows when setting clients to floating
This fixes ticket #44
Michael Stapelberg [Wed, 27 May 2009 16:46:58 +0000 (18:46 +0200)]
Don’t kill workspaces on which you currently are when changing screen configuration
Michael Stapelberg [Wed, 27 May 2009 16:19:14 +0000 (18:19 +0200)]
Bugfix: Don’t ignore enter_notify events for clients on different screens (Thanks Mirko)
This fixes ticket #41.
Michael Stapelberg [Wed, 27 May 2009 10:27:29 +0000 (12:27 +0200)]
Bugfix: Forgot to update client’s workspace pointer (Thanks Mirko)
Michael Stapelberg [Wed, 27 May 2009 10:15:23 +0000 (12:15 +0200)]
Bugfix: Fix crash when focusing/moving on an empty workspace (Thanks Mirko)
Michael Stapelberg [Tue, 26 May 2009 22:47:00 +0000 (00:47 +0200)]
Remove MAKE=make from makefile to ensure recursive invocations work (i.e. clean target)
See http://www.gnu.org/software/make/manual/make.html#MAKE-Variable
Michael Stapelberg [Tue, 26 May 2009 15:37:56 +0000 (17:37 +0200)]
Document binding on Mode_switch in userguide, be more verbose in config
Michael Stapelberg [Tue, 26 May 2009 15:25:45 +0000 (17:25 +0200)]
Document new files in the hacking-howto
Michael Stapelberg [Tue, 26 May 2009 15:16:51 +0000 (17:16 +0200)]
Bugfix: Cleanup the table after putting clients into floating mode
Michael Stapelberg [Tue, 26 May 2009 15:09:34 +0000 (17:09 +0200)]
Don’t process autostart when restarting (new parameter -a)
Michael Stapelberg [Tue, 26 May 2009 14:49:57 +0000 (16:49 +0200)]
Move toggle_fullscreen to client.c
Michael Stapelberg [Tue, 26 May 2009 14:46:50 +0000 (16:46 +0200)]
Bugfix: Fix fullscreen for floating clients, fix window name updates for floating clients
Michael Stapelberg [Sat, 23 May 2009 14:34:03 +0000 (16:34 +0200)]
Implement floating (please test and find bugs)
Details which are missing: A command to hide/show all floating clients,
moving/resizing clients with your mouse holding Mod1 (click anywhere
in the client, not just on its borders), resize/move by keyboard, select
next/previous client by keyboard
Michael Stapelberg [Wed, 20 May 2009 19:51:47 +0000 (21:51 +0200)]
Use UTF-8 for all locale types in the manpage.
Though this does not make a difference, it is a cleaner way like this.
Michael Stapelberg [Tue, 19 May 2009 13:22:50 +0000 (15:22 +0200)]
Bugfix: Correctly handle mode_switch state bit, more debugging output for states
We abuse (1 << 8) as mode_switch bit, which is in the range of the
filtered state bits (see previous commit). Therefore, we need to
filter first and then check for mode_switch.
Furthermore, we used 0x2 before, which was just wrong. So, use our
bitmask, not the normal one (0x2).
Michael Stapelberg [Tue, 19 May 2009 11:51:03 +0000 (13:51 +0200)]
Bugfix: keypress: Only use the lower 8 bits of the mask so that mouse buttons are filtered out (Thanks Mirko)
Sometimes, when the mouse button gets stuck, state contains the bit for
BUTTON_MASK_1 (or other buttons). We filter them out to continue processing
keys correctly.
Michael Stapelberg [Sun, 17 May 2009 08:54:12 +0000 (10:54 +0200)]
Bugfix: Don’t crash when above dock windows (Thanks Mirko)
Michael Stapelberg [Sat, 16 May 2009 16:25:04 +0000 (18:25 +0200)]
Move the manage_*-functions into their own file as they got quite large
Michael Stapelberg [Sat, 16 May 2009 16:12:35 +0000 (18:12 +0200)]
Bugfix: Re-assign dock windows to different workspaces when a workspace is deleted
Killing a dock client and having destroyed workspace 1 before (or the workspace
on which the dock client was started when it was not auto-started) crashed i3 before
this bugfix.
Michael Stapelberg [Sat, 16 May 2009 15:32:36 +0000 (17:32 +0200)]
Implement putting clients onto specific workspaces ("assign" in the configfile)
This closes ticket #39
Michael Stapelberg [Sat, 9 May 2009 21:16:29 +0000 (23:16 +0200)]
debian: Fix section/priority/dependencies of i3-wm-dbg (Thanks chrish)
Michael Stapelberg [Sat, 9 May 2009 18:18:41 +0000 (20:18 +0200)]
debian: update changelog
Michael Stapelberg [Sat, 9 May 2009 18:14:17 +0000 (20:14 +0200)]
debian: As asciidoc arrived in testing, we can require a higher version
Michael Stapelberg [Sat, 9 May 2009 17:59:36 +0000 (19:59 +0200)]
Bugfix: Correctly handle col-/rowspanned containers when setting focus (Thanks Ned)
This fixes ticket #34
Michael Stapelberg [Sat, 9 May 2009 17:13:14 +0000 (19:13 +0200)]
Fix a bug in window placement introduced by the last commit
Michael Stapelberg [Sat, 9 May 2009 16:43:02 +0000 (18:43 +0200)]
Bugfix: Fix display/resizing of colspanned containers
Michael Stapelberg [Sat, 9 May 2009 15:48:35 +0000 (17:48 +0200)]
Bugfix: Store width_factor/height_factor per workspace, not per container
This is a relatively big change, however all cases should be handled by
now.
Because the function to do graphical resizing got rather large, I’ve created
a new file src/resize.c for it.
This fixes ticket #35.
Michael Stapelberg [Sat, 9 May 2009 11:01:23 +0000 (13:01 +0200)]
Bugfix: Force reconfiguration of all windows on workspaces which needed to be re-assigned (Thanks Mirko)
When you disable a Xinerama screen (think of removing a video projector),
the workspaces of that screen need to be re-assigned to another screen.
Previously, the clients affected by this re-assignment did not get re-
configured, which made them appear on the next screen which got configured
at the position of the old one again if you did not switch to the reassigned
workspace before.
So, to reproduce it:
xrandr --output VGA --mode 1280x1024 --right-of LVDS
move windows to the new workspace
xrandr --output VGA --off
xrandr --output VGA --mode 1280x1024 --right-of LVDS
This fixes ticket #36
Michael Stapelberg [Fri, 8 May 2009 21:22:40 +0000 (23:22 +0200)]
Bugfix: Don’t raise clients in fullscreen mode, send correct position to clients in fullscreen mode (Thanks ch3ka, mist)
This fixes #38 which only happened for clients which actively tried
to reconfigure themselves.
Michael Stapelberg [Fri, 8 May 2009 10:09:23 +0000 (12:09 +0200)]
Debian: Update build-dependencies (Thanks Ned), s/Source-Version/binary:Version for debug package
Michael Stapelberg [Thu, 7 May 2009 11:46:34 +0000 (13:46 +0200)]
Bugfix: Resize all containers in the column instead of only the active one (Thanks Ned)
This fixes ticket #33.