Tiago Cunha [Thu, 24 May 2012 20:41:58 +0000 (21:41 +0100)]
Technically, it's a tree, now.
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.
Noticed by LordReg.
Tiago Cunha [Fri, 18 May 2012 09:02:07 +0000 (10:02 +0100)]
Albeit obvious it also overrides clock_format.
Tiago Cunha [Sun, 13 May 2012 22:29:38 +0000 (23:29 +0100)]
Limit window name to 64 characters by default.
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.
This fixes Flyspray bug #243.
Tiago Cunha [Sun, 13 May 2012 21:52:23 +0000 (22:52 +0100)]
Warn the user if format is too long.
Tiago Cunha [Sun, 13 May 2012 18:00:16 +0000 (19:00 +0100)]
The screen number can be fetched from the region.
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.
Idea taken from tmux(1).
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:49:42 +0000 (22:49 +0100)]
Refresh status-bar after moving a window.
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.
Tiago Cunha [Sat, 12 May 2012 20:29:09 +0000 (21:29 +0100)]
Remove unused variable.
Tiago Cunha [Sat, 12 May 2012 20:28:49 +0000 (21:28 +0100)]
Fix a few style nits.
Reginald Kennedy [Wed, 23 May 2012 10:31:11 +0000 (18:31 +0800)]
Add new options to change focus behavior on window open and close.
ok marco
Reginald Kennedy [Tue, 5 Jun 2012 15:52:38 +0000 (23:52 +0800)]
Fix input focus not being set in max_stack mode on new mapped windows.
ok marco
Reginald Kennedy [Sat, 26 May 2012 10:14:23 +0000 (18:14 +0800)]
Fix missing charset warnings with a less-constrained fallback font entry.
David Hill [Wed, 16 May 2012 04:22:59 +0000 (00:22 -0400)]
convert from deprecated XKeycodeToKeysym to XkbKeycodeToKeysym
Reginald Kennedy [Sat, 12 May 2012 22:49:47 +0000 (06:49 +0800)]
Add details to man page on how to bind non-latin characters.
From: Rovanion Luckey <rovanion.luckey@gmail.com>
ok marco
Reginald Kennedy [Fri, 20 Apr 2012 06:18:21 +0000 (14:18 +0800)]
Fix segfault caused by workspaces above 10 not being initialized.
Reginald Kennedy [Mon, 9 Apr 2012 19:31:54 +0000 (03:31 +0800)]
Add default keybindings for the new workspaces to non-us keyboard layout files.
Fix typo in man page.
ok marco
Reginald Kennedy [Sat, 7 Apr 2012 17:59:41 +0000 (01:59 +0800)]
Increase workspace hard limit to 22.
Add new keybindings for workspaces 11 through 22.
Defaults for ws_n and mvws_n are NOD+(F1-F12) and MOD+Shift+(F1-F12),
respectively.
Add a new configuration option 'workspace_limit' to make it possible for
the user to adjust the number of available workspaces. Default is 10.
ok marco
David Hill [Tue, 28 Feb 2012 04:16:39 +0000 (23:16 -0500)]
update authors
David Hill [Tue, 28 Feb 2012 03:50:05 +0000 (22:50 -0500)]
cleanup
Marco Peereboom [Fri, 17 Feb 2012 17:12:33 +0000 (11:12 -0600)]
Prepare for release 1.0.0.
Marco Peereboom [Fri, 17 Feb 2012 16:57:29 +0000 (10:57 -0600)]
fix a real issue of an uninitialized variable, found by clang and we are now clang clean
Marco Peereboom [Fri, 17 Feb 2012 16:27:40 +0000 (10:27 -0600)]
couple unused vars and bad pointer checks, from clang
Marco Peereboom [Fri, 17 Feb 2012 16:20:06 +0000 (10:20 -0600)]
fix 2 clang -analyze warnings
Marco Peereboom [Fri, 17 Feb 2012 16:07:06 +0000 (10:07 -0600)]
make buildversion optional, from drahn
Marco Peereboom [Fri, 17 Feb 2012 15:53:50 +0000 (09:53 -0600)]
better fix from davec
Marco Peereboom [Fri, 17 Feb 2012 15:49:48 +0000 (09:49 -0600)]
attempt to print the git version in the version string
Marco Peereboom [Fri, 17 Feb 2012 14:01:33 +0000 (08:01 -0600)]
fix freebsd makefile from Niclas Zeising <zeising@daemonic.se>
Marco Peereboom [Thu, 16 Feb 2012 15:22:47 +0000 (09:22 -0600)]
make osx compile again
Lawrence Teo [Thu, 16 Feb 2012 04:45:50 +0000 (23:45 -0500)]
Adjust copyright years and authors list on man page.
Marco Peereboom [Wed, 15 Feb 2012 23:44:10 +0000 (17:44 -0600)]
remove scrotwm here too
Marco Peereboom [Wed, 15 Feb 2012 23:39:14 +0000 (17:39 -0600)]
ln spectrwm to scrotwm for now
Marco Peereboom [Wed, 15 Feb 2012 23:26:29 +0000 (17:26 -0600)]
ln spectrwm to scrotwm for now
Marco Peereboom [Wed, 15 Feb 2012 23:26:10 +0000 (17:26 -0600)]
try multiple config files
Marco Peereboom [Wed, 15 Feb 2012 22:14:56 +0000 (16:14 -0600)]
try scrotwm.conf when spectrwm.conf isn't found
Marco Peereboom [Wed, 15 Feb 2012 20:09:13 +0000 (14:09 -0600)]
rename scrotwm to spectrwm
Marco Peereboom [Wed, 15 Feb 2012 19:22:11 +0000 (13:22 -0600)]
add lteo and tcunha to copyright
Reginald Kennedy [Mon, 13 Feb 2012 15:32:31 +0000 (23:32 +0800)]
Fix setting of window property strings to use actual number of
elements rather than char array size.
ok marco
Reginald Kennedy [Sat, 11 Feb 2012 01:45:09 +0000 (09:45 +0800)]
Remove stray tabs and end of line spaces.
Reginald Kennedy [Sat, 11 Feb 2012 01:42:01 +0000 (09:42 +0800)]
Fix include path for Linux rb tree, add slots for FreeBSD tree.h and others.
Remove stray spaces.
marco [Sat, 11 Feb 2012 01:31:11 +0000 (19:31 -0600)]
add rb stuff to linux
Tiago Cunha [Thu, 9 Feb 2012 17:19:00 +0000 (17:19 +0000)]
Use a red-black tree for the keys.
Reginald Kennedy [Thu, 9 Feb 2012 12:53:48 +0000 (20:53 +0800)]
Remove unused vars.
ok marco
Reginald Kennedy [Thu, 9 Feb 2012 09:20:14 +0000 (17:20 +0800)]
Fix erroneous keysym for flip_layout in the example key binding configurations.
Lawrence Teo [Thu, 9 Feb 2012 03:18:19 +0000 (22:18 -0500)]
Fix height_shrink key binding; use .Xr for xprop(1).
From: Andrea Bolognani <eof@kiyuko.org>
ok marco
marco [Thu, 9 Feb 2012 00:14:59 +0000 (18:14 -0600)]
fix se layout, from Niclas Zeising <zeising@daemonic.se>
Tiago Cunha [Wed, 8 Feb 2012 01:17:18 +0000 (01:17 +0000)]
Remove redundant checks.
Now that the focus_magic function is responsible for updating the
status-bar when there are no windows, remove superfluous checks from a
couple of places that were previously needed.
Fixed a typo in a comment while there.
Tiago Cunha [Wed, 8 Feb 2012 01:07:46 +0000 (01:07 +0000)]
Clear status-bar when iconifying the last window.
Make the focus_magic function responsible for updating the status-bar
output when there is no window available. Now, any window related output
gets cleared when iconifying the last available window.
Tiago Cunha [Wed, 8 Feb 2012 01:00:33 +0000 (01:00 +0000)]
Add status-bar wrapper function.
Instead of checking if any of the window related enabled options are set
and updating the status-bar over and over again, delegate that job to a
small wrapper function.
Reginald Kennedy [Wed, 8 Feb 2012 20:10:55 +0000 (04:10 +0800)]
Add flip_layout binding to all keyboard layout examples.
ok marco
Marco Peereboom [Wed, 8 Feb 2012 18:31:58 +0000 (12:31 -0600)]
Prepare for release 0.11.0.
Reginald Kennedy [Tue, 7 Feb 2012 17:17:20 +0000 (01:17 +0800)]
Add flip_layout keyinding.
Swap the master and stacking areas of the horizontal and vertical
layouts.
Default binding: M-S-\
ok marco
Tiago Cunha [Tue, 7 Feb 2012 23:35:14 +0000 (23:35 +0000)]
Use a tail queue for the spawns.
Instead of hand rolling a dynamic array, just use a tail queue by taking
advantage of the queue(3) macros.
Simplifies the code, since there's no need to (re)allocate the array and
to keep track of its size and length.
ok marco
Tiago Cunha [Tue, 7 Feb 2012 22:57:16 +0000 (22:57 +0000)]
Remove stray spaces.
Prompted by marco.
Tiago Cunha [Sat, 4 Feb 2012 14:41:30 +0000 (14:41 +0000)]
Fallback to WM_NAME if _NET_WM_NAME fails.
If requesting the window name with _NET_WM_NAME fails, fallback to
requesting it with WM_NAME. While here, make the property request
through the get_property wrapper function.
Makes scrotwm show the titles for xterm (and probably others) windows.
Tiago Cunha [Sat, 4 Feb 2012 14:25:40 +0000 (14:25 +0000)]
Use the global display variable.
Tiago Cunha [Sat, 4 Feb 2012 14:24:32 +0000 (14:24 +0000)]
Remove unused length parameter.
Tiago Cunha [Sat, 4 Feb 2012 14:21:00 +0000 (14:21 +0000)]
Remove unneeded atom parameters.
Since the function that retrieves the window title always uses the same
atoms, do not pass them as parameters, but use them internally, instead.
Tiago Cunha [Fri, 3 Feb 2012 17:26:59 +0000 (17:26 +0000)]
Update status-bar when focusing.
While focusing on a window, update the status-bar if any of the window
related enabled options is set, so that its output matches reality.
Easily reproducible by firing up scrotwm and opening a new window.
ok marco
Tiago Cunha [Thu, 2 Feb 2012 23:55:19 +0000 (23:55 +0000)]
Use the warn(3) functions instead of fprintf(3).
Rather than using fprintf(3) to display a formatted error message on
stderr (and, occasionally in conjunction with strerror(3)), use the
warn(3) functions. A few cases that also used perror(3) were changed
accordingly, as well.
While there, remove an extra fprintf(3) call in conf_load which is
already followed by an err(3).
ok marco
Tiago Cunha [Thu, 2 Feb 2012 15:52:56 +0000 (15:52 +0000)]
NUL terminate the strftime(3) buffer.
SUS says that if there wasn't enough space to copy the expanded format
to the buffer, strftime(3) will not NUL terminate it. It would work on
some implementations (eg on OpenBSD), though.
Therefore, take advantage of the return value to prevent using the
character array with unspecified contents with a very large clock
format.
Besides, the strlcat(3) call below relies on the destination buffer
being NUL terminated.
ok marco
Reginald Kennedy [Fri, 3 Feb 2012 17:58:52 +0000 (01:58 +0800)]
When responding to a ConfigureRequest event without reconfiguring the window,
take into account WM_SIZE_HINTS (if set) when generating the ConfigureNotify
response.
This helps workaround picky apps.
ok marco
Marco Peereboom [Fri, 3 Feb 2012 14:01:09 +0000 (08:01 -0600)]
be more paranoid when freeing memory and some whitespace fixes
Tiago Cunha [Thu, 2 Feb 2012 23:25:29 +0000 (23:25 +0000)]
Fix indentation when defining variables.
Prompted by marco.
Tiago Cunha [Thu, 2 Feb 2012 21:44:21 +0000 (21:44 +0000)]
Use a tail queue for the quirks.
Instead of hand rolling a dynamic array, just use a tail queue by taking
advantage of the queue(3) macros.
Simplifies the code, since there's no need to (re)allocate the array and
to keep track of its size and length.
Tiago Cunha [Thu, 2 Feb 2012 22:55:56 +0000 (22:55 +0000)]
Fix indentation when defining variables.
Prompted by marco.
Tiago Cunha [Thu, 2 Feb 2012 21:19:17 +0000 (21:19 +0000)]
Use a tail queue for the key bindings.
Instead of hand rolling a dynamic array, just use a tail queue by taking
advantage of the queue(3) macros.
Simplifies the code, since there's no need to (re)allocate the array and
to keep track of its size and length.
Tiago Cunha [Thu, 2 Feb 2012 21:53:14 +0000 (21:53 +0000)]
Sort configuration file keywords alphabetically.
Reginald Kennedy [Wed, 1 Feb 2012 23:00:45 +0000 (07:00 +0800)]
- Add UTF-8 Support.
- Fix several memory leaks.
ok marco
Reginald Kennedy [Wed, 1 Feb 2012 20:50:43 +0000 (04:50 +0800)]
Fix response to applications when windows are not reconfigured as requested.
This gives applications a chance to redraw the window contents to the actual, unchanged, window geometry.
Fixes issues with gvim, emacs, firefox, feh and many other applications.
ok marco
Reginald Kennedy [Sat, 28 Jan 2012 17:29:31 +0000 (01:29 +0800)]
scrotwm.c:
- Improve debug output.
- Improve code styling compliance.
- Use the X,Y,WIDTH,HEIGHT macros where applicable on ws_win and swm_region objects.
- Fix handling of _NET_MOVERESIZE_WINDOW client message.
ok marco
Lawrence Teo [Thu, 26 Jan 2012 03:41:54 +0000 (22:41 -0500)]
Add the missing ws_prior key binding to the keyboard mapping files.
Lawrence Teo [Thu, 26 Jan 2012 03:19:21 +0000 (22:19 -0500)]
Fix Mdocdate error that I made (it's no longer 2011!).
Reginald Kennedy [Wed, 25 Jan 2012 16:37:03 +0000 (00:37 +0800)]
Fix 'jump' when moving a non-floated window with the mouse.
ok marco
Tiago Cunha [Wed, 25 Jan 2012 01:06:03 +0000 (01:06 +0000)]
Document the special MOD modifier key.
ok lteo marco
Niclas Zeising [Mon, 23 Jan 2012 12:35:16 +0000 (13:35 +0100)]
Clean up properly in linux/Makefile.
ok marco
Niclas Zeising [Mon, 23 Jan 2012 11:59:47 +0000 (12:59 +0100)]
Fixes to the FreeBSD Makefile.
- Remove X11BASE and replace it with LOCALBASE, since the former is
deprecated.
- Silently ignore if included files are not found. This way we do not
depend on the FreeBSD ports tree being installed.
- Add definitions for LOCALBASE and PREFIX in case they are not given
from the included files.
- Change MANDIR to ${PREFIX}/man instead of ${PREFIX}/share/man, to
better match reality.
ok marco
Tiago Cunha [Mon, 23 Jan 2012 19:17:16 +0000 (19:17 +0000)]
Plug memory and file descriptor leak.
Now that asprintf(3) return value is checked in conf_load(), make the
code release the memory returned by fparseln(3) and fclose(3) the
configuration file FILE pointer.
Style nit fixed while there.
ok marco
marco [Sun, 22 Jan 2012 15:44:40 +0000 (09:44 -0600)]
broken space bar
Reginald Kennedy [Sat, 21 Jan 2012 19:46:46 +0000 (03:46 +0800)]
Ignore window crossing events that are generated when the cursor is not actually moved between windows.
Reginald Kennedy [Sat, 21 Jan 2012 19:38:04 +0000 (03:38 +0800)]
Moving and resizing floating windows with the mouse is now based on click location.
Floating windows are constrained to region on move/resize operations.
Resize center is now based on window center, instead of region center.
Fix several uninitialized/unused variable warnings.
Handle asprintf return value in conf_load.
Lawrence Teo [Fri, 20 Jan 2012 02:43:04 +0000 (21:43 -0500)]
Plug memory and file descriptor leaks in conf_load().
From: Tiago Cunha <tcunha@gmx.com>
ok marco
Lawrence Teo [Sun, 15 Jan 2012 19:53:00 +0000 (14:53 -0500)]
Make uniconify work on windows with non-ASCII titles.
ok marco
Lawrence Teo [Fri, 13 Jan 2012 01:37:47 +0000 (20:37 -0500)]
search_win's key binding should be M-f on the manpage.
Reported by user jrh via the scrotwm forum (thank you!).
Marco Peereboom [Wed, 11 Jan 2012 18:42:56 +0000 (12:42 -0600)]
Prepare for release 0.10.0.
Lawrence Teo [Tue, 10 Jan 2012 01:30:00 +0000 (20:30 -0500)]
Fix a crash when mvws_n is used in an empty workspace.
mvws_n invokes send_to_ws(), which in turn calls focus() to focus on
the previous window before sending the current window to the desired
workspace. The TAILQ_PREV() call in focus() will fail if there are no
windows in the current workspace.
This commit adds a safeguard to focus() by ensuring that the list of
windows in the current workspace is not empty and that there is at
least one uniconified window to focus on before proceeding.
This commit also modifies send_to_ws() to set r->ws->focus to NULL if
there are no more windows in the workspace after sending the current
window to another workspace. This fixes an odd behavior where you can
"summon" a window that you have previously moved to another workspace,
even though you are in an empty workspace.
Closes FS#191
ok marco
Lawrence Teo [Thu, 5 Jan 2012 02:32:16 +0000 (21:32 -0500)]
Skip iconified windows correctly.
This fixes a bug where the focus_next and focus_prev actions will get
"stuck" when an iconified window is in the way.
ok marco
Lawrence Teo [Thu, 29 Dec 2011 02:38:44 +0000 (21:38 -0500)]
Fixes an oversight so that BUILDVERSION gets properly defined, as well
as remove some debug stuff I forgot to remove earlier.
From: Niclas Zeising <zeising@daemonic.se>
ok marco
Lawrence Teo [Tue, 13 Dec 2011 04:13:54 +0000 (23:13 -0500)]
Makefile and util.h for FreeBSD.
From: Niclas Zeising <zeising@daemonic.se>
ok marco
Lawrence Teo [Tue, 13 Dec 2011 04:08:36 +0000 (23:08 -0500)]
Reformat CONFIGURATION FILES section for better readability.
From: Tiago Cunha <tcunha@gmx.com>
ok marco
Lawrence Teo [Sun, 11 Dec 2011 03:20:42 +0000 (22:20 -0500)]
Improve status bar refresh code:
- Refresh status bar (if name/class/title are enabled) when no window
can be focused, so that the name/class/title will be cleared.
- Handle window class/name change events to refresh the bar when appropriate.
- Move XA_WM_NORMAL_HINTS into the '#if 0' block, since the status bar
should not need to be updated for that event.
From: Splex <splecks@rejii.com>
ok marco
Lawrence Teo [Thu, 8 Dec 2011 02:53:12 +0000 (21:53 -0500)]
Make error messages use errno when available.
While here, remove a few newlines that are already appended by err(3).
From: Tiago Cunha <tcunha@gmx.com>
ok marco
Lawrence Teo [Wed, 7 Dec 2011 03:29:13 +0000 (22:29 -0500)]
.gitignore
Lawrence Teo [Wed, 7 Dec 2011 03:19:27 +0000 (22:19 -0500)]
Remove BUGS section, since our dependence on dmenu is no longer
considered a bug. :)
ok marco
Lawrence Teo [Wed, 7 Dec 2011 03:15:56 +0000 (22:15 -0500)]
scrotwm_se.conf: Swedish keyboard_mapping file.
From: Niclas Zeising <zeising@daemonic.se>