]>
git.sur5r.net Git - i3/i3/log
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.
Michael Rudolf [Sun, 29 Mar 2009 12:53:48 +0000 (14:53 +0200)]
Implement autostart using "exec" in config
Syntax is "exec <application>", like when creating a binding.
Multiple entries are possible, applications are started in
the specified order.
Michael Stapelberg [Tue, 5 May 2009 15:29:46 +0000 (17:29 +0200)]
Update debian changelog
Michael Stapelberg [Tue, 5 May 2009 15:25:56 +0000 (17:25 +0200)]
Implement a command to travel the focusstack. This can be used like a jumpback.
However, it is a bit more flexible obviously. You can specify the
offset of the window you want to go to, to implement workflows like
the following:
* Jump to mutt
* Jump to irssi
* Jump back ("focus 2" would be the command)
Michael Stapelberg [Tue, 5 May 2009 14:57:21 +0000 (16:57 +0200)]
Add debug message for jumping
Michael Stapelberg [Tue, 31 Mar 2009 08:46:12 +0000 (10:46 +0200)]
Implement jumping to windows by matching their class / title
Michael Stapelberg [Mon, 30 Mar 2009 07:39:35 +0000 (09:39 +0200)]
Implement storing WM_CLASS of each client
Michael Stapelberg [Mon, 30 Mar 2009 07:27:58 +0000 (09:27 +0200)]
Change syntax of jump to col,row instead of row,col to make it consistent with the internal data structures, document it in commandmode
Michael Stapelberg [Mon, 30 Mar 2009 07:25:30 +0000 (09:25 +0200)]
Some small style changes to make urs’ code consistent
Urs Ganse [Sun, 29 Mar 2009 12:53:48 +0000 (14:53 +0200)]
Added a "jump" command to directly focus a container.
Syntax is "jump <ws> <row> <col>".
This is quite handy for clients that you always keep
in the same spot, and like to jump to quite often. The
irc client would be an example.
Michael Stapelberg [Sun, 3 May 2009 21:09:18 +0000 (23:09 +0200)]
website: add screenshot by Atsutane
Michael Stapelberg [Sun, 3 May 2009 21:02:39 +0000 (23:02 +0200)]
debian: update changelog
Michael Stapelberg [Sun, 3 May 2009 20:59:50 +0000 (22:59 +0200)]
Bugfix: Reconfigure bar window when changing resolutions (Thanks Mirko)
Michael Stapelberg [Sun, 3 May 2009 20:18:33 +0000 (22:18 +0200)]
Bugfix: Fix crash on new clients (Thanks Mirko)
Michael Stapelberg [Sun, 3 May 2009 15:37:20 +0000 (17:37 +0200)]
website: link screencast