Update code to compile against XCB util-wm >= 0.3.8
XCB ICCCM public functions, types and macros are now prefixed.
A temporary fix has been added for OpenBSD. Needs improvement.
Resolve a variable naming conflict.
Set num_screens in unmap_all.
In workaround(), utf8_string should be netwmname, not netwmcheck.
Initialize some uninitialized pointers.
Update debug printf format to reflect new xcb variable types.
Reginald Kennedy [Fri, 29 Jun 2012 12:05:04 +0000 (20:05 +0800)]
Improve configurerequest handling.
Allow applications to change float geometry until manually resized by
the user.
Fix window mapping when managing a window
Move the window to the correct workspace first so that the region
dimensions are available to the app for proper sizing.
Improve fullscreen handling.
Prevent move or resize operations on fullscreen windows.
Add border flag to ws_win for window geometry calculations.
Utilize update_window instead of separate calls to XConfigureWindow.
Tiago Cunha [Mon, 18 Jun 2012 13:31:19 +0000 (14:31 +0100)]
Non-left aligned text isn't truly justified.
Add a paragraph in the bar_justify configuration file keyword to inform
the user that the status-bar output isn't truly justified, in some
special cases, if not left aligned, since the default format has
white-spaces embedded.
Tiago Cunha [Thu, 24 May 2012 21:01:04 +0000 (22:01 +0100)]
Window names are limited to 64 characters.
It might not be clear from a user's point of view that the default
format has the window name limited. Document it and forward to the
bar_format option.
Tiago Cunha [Fri, 18 May 2012 14:04:21 +0000 (15:04 +0100)]
Move a few spaces to the right place.
The format should only be manipulated by the bar_fmt function or the
user. Thus, delete extra space when outputting the window name and move
the strlcat(3) call that appends four spaces where it belongs. Inside
the window title conditional.
Tiago Cunha [Sun, 13 May 2012 22:15:11 +0000 (23:15 +0100)]
Support maximum length in the character pairs.
The specified length is used to limit the number of characters outputted
by the sequence. Thus, it's now possible to limit, for instance, the
window name length.
Tiago Cunha [Sun, 13 May 2012 00:33:38 +0000 (01:33 +0100)]
Add the ability to format the status-bar output.
Introduced the new bar_format configuration file keyword that allows to
customize the status-bar by providing character sequences that are
replaced accordingly, effectively supplanting the enabled options. The
default output is retained, though.
Tiago Cunha [Sat, 12 May 2012 21:59:48 +0000 (22:59 +0100)]
Zap superfluous calls to bar_update.
Remove scattered calls to bar_update when switching workspaces and
cycling layouts, which are preceded by a focus function call. They
already are (as they should be) responsible for doing that.
Tiago Cunha [Sat, 12 May 2012 21:17:22 +0000 (22:17 +0100)]
Kill references before focusing on a new window.
Like the other focusing functions, make focus_prev call kill_refs before
trying to focus on a new window. This way, the current window references
are cleared like it should be when the very last window is destroyed.
Otherwise, the status-bar output will contain (while its alarm does not
expire) the class hint of the to be removed window.
Tiago Cunha [Sat, 12 May 2012 21:05:21 +0000 (22:05 +0100)]
Don't call the status-bar wrapper function.
The update functions already check if the window related enabled options
are set. Just call it directly, instead. As a consequence, the wrapper
function can now be deleted.
Tiago Cunha [Sat, 12 May 2012 20:52:20 +0000 (21:52 +0100)]
Reuse class hint in the status-bar.
The window's class hint is already retrieved by the manage_window
function, which is called when a new application is spawned. Therefore,
use it when displaying the application's class and name, instead of
fetching them again with XGetClassHint(3).
Besides, its error checking was incorrect, since it also returns zero on
error.