Finally it's here! Sawfish 1.8.92 (RC1) 'Coldwater Canyon'
Have lots of fun! Chris
PS: Combined NEWS since 1.8.0 PPS: key for checking .sign files: 057549E2
1.8.92 "Coldwater Canyon" ========================= * Updated or New dependencies - librep 0.92.0 -> 0.92.1 - rep-gtk 0.90.4 -> 0.90.7 - ssd 0.20 [optional, for built-in poweroff-menu] * Bug Fixes - When cursor-warping was enabled and user switched to a shaded window, the cursor warped to the position of the unshaded window. This is fixed now. [Christopher Bratusek] - When switching between tabbed themes from SawfishConfig, it could happens that there were `gaps' in the frame. This is fixed now. [Christopher Bratusek] - In SawfishConfig one could only grab key-bindings, but not mouse- or mixed mouse-key-bindings. This is fixed now. (Move mouse 20 pixels to grab a `Move' event). [Christopher Bratusek] - SawfishConfig became useless when Sawfish restarted. This is now worked-around by simply restarting SawfishConfig when Sawfish does. A new `before-restart-hook' has been added for this purpose. [Christopher Bratusek] - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was possible to trigger the same event multiple times at a time. This is fixed now. [Jeremy Hankins] - Fixed a bug in apps-menu, failing to generate the menu, if a desktop-file contains both Categories and the (errorneous) Category key, or only the later. [Matthew Love] - Fixed a bug in window-manager selection handling. Set all fields of the client message event. This prevents bugs, where Sawfish sometimes isn't able to replace another window-manager or aquiring the screen if no other WM is running. [Timo Korvola] - When making X request, we might receive and `select' will stuck. This is fixed now [Michal Maruska] - Avoid calling Xmap for gone windows. [Michal Maruska] - Fixed a possible segmentation fault in `leave_notify' [Michal Maruska] - In SawfishConfig the `choice' widget didn't work when the choices were numerical values. This is fixed now. [Christopher Bratusek] * Sawfish-MMC [Michal Maruska] Sawfish-MMC was a fork of Sawfish active, while the original Sawfish was inactive (2004-2007). Next follows a list of changes merged from Sawfish-MMC. - Only apply property changes if window as `refresh' property. - In the pixmap-cache append pixmaps to the age list, rather than prepending. - Extend `pixmap-cache-control' to reset and return more informations. - `pixmap-cache-images' returns all images in cache. - When initializing Sawfish, try to initialize XKB, too. - Misc: Drop unused `prog_name' from `display.c'. Call `XAddToSaveSet' from a better position in the code. Mar `mapped_not_override_p' static. Simplified `property_notify'. * EdgeAction changes [Christopher Bratusek] - New EdgeActions: x `HotMove'. Calls an EdgeAction when dragging a window over the edge. x `Expose'. Simple expose (one-shot tiling) EdgeAction (can also be used stand-alone). Original code by Mark Triggs. x `Expand'. Drag a window over the edge and it expand to the half-screen size. x `Show-Desktop'. Toggles between `show-desktop' and `hide-desktop'. x `Maximize'. Just for competitive reasons choosable from configurator. - `before-edge-action-hook' and `after-edge-action-hook'. While `enter-flipper-hook' and `leave-flipper-hook' simply respond to the mouse entering or leaving the flipper-window, the new hooks respond only when an EdgeAction was invoked. The two hooks pass the invoked EdgeAction, activated edge and a boolean `while-moving' value to the child-function (in that order). - Simplified, more robust EdgeFlip (flip-viewport and flip-workspace are now split). - Improved logic of blocking an action while another is already running. On one hand, see `Bug Fixes' above, on the other hand it's now ensured that we dont' activate an edge twice when dragging a window over it or when the pointer hits the edge via mouse-trapping. - New `move-window-to-corner' and `move-window-to-edge' helpers. - Updated EdgeAction documentation * SawfishConfig changes [Christopher Bratusek] - Updated and Improved widgets in SawfishConfig: x `file'. The file(-chooser) widget now uses GtkFileChooserButton in favour of the ancient GtkFileSelectionDialog. The GtkEntry and GtkVBox used as helpers became useless and are removed. x `font'. The font(-chooser) widget now uses GtkFontChooserButton in favour of the ancient GtkFontSelectionDialog. The GtkEntry used as helper became useless and is removed. x `choice', `symbol', `keymap', `frame-style'. Those widgets now use GtkComboBoxText in favour of ancient GtkCombo/GtkComboEntry. x `scheme-boolean'. This widget is now properly implemented. Old: two checkboxes. First for activating setting, second for choosing yes or no. New: only one checkbox, yes or no as usual, shows minus when unset. x `number'. The number-widget now has a `stepping' property, allowing to change the increment of a button-press on the spin-button. - New widgets in SawfishConfig: x `range'. The range widget represents an integer with a given range. Basically it uses a GtkScale instead of a GtkSpinButton, which results in a better user-experience for those values. x `image'. The image widget contains a preview and image-selector. The file-browser openend is setup to display previews, too. Original code by Lucas Pandolfo. - Removed widgets in SawfishConfig: x `program'. Just an alias to `file'. x All `gtk-only' widgets. Since Sawfish 1.5.0 those have been dummies, we don't use `libgnome', `libgnomeui' or `libgnomecanvas' anymore anyway. - New buttons. SawfishConfig now offers buttons to access Wiki, Help, ResourceFile and About. Additionally there's now a file-chooser for installing themes from `*.tar.*' files. - Widgets that depend on an disabled setting are now hidden instead of greyed-out. - Merged sawfish.cfg.widgets into sawfish.gtk.widgets. Old widgets aren't loaded anymore, even if present from an old installation. - All defcustoms do now have a property to change the position of the label. To change it, append on of the following to the doc-string: \\left \\right \\top \\bottom. Example: (defcustom test-var 'eclipse "This is just a test with label on top. \\top" :type (choice eclipse crosshair none) :group appearance) Of course that only works, if the label is a GtkLabel widget on it's own. * Theme/Theming changes [Christopher Bratusek] === spoiler === : StyleTab in Sawfish 1.9 add lots of new fancyness for the price of beeing slow. So if you experience a long startup-time of Sawfish, it's a feature, not a bug. : == /spoiler === - StyleTab changes: x The theme is now fully re-colorable. You can choose different colors for each button and the frame. Furthermore you can choose how much to dimm inactive frames (compared to active). x Majorly improved the grouping of options in StyleTab. x Added corners to frames (allowing resize with mouse at window-corners). x Available styles: Default (former Dark), WixDa (former Silver), Reduce, Smoothly and Glass (New). x Added hash-tables for images. - New themes: x Candido x Zami-like - Improved themes: x Gradient has been replaced by Gradient-tabbed. - Removed themes [still available from Wiki]: x get-S-tabbed x brushed-metal x simple x smaker x mono x gtk - New theme-related configuration-options [theme independent]: x Added an option to control the titlebar text position. If a theme draws something additional in the titlebar (eg. StyleTab draws an icon), refer to the functions `update-title-x-offsets', `update-title-y-offsets'. x Added an option to control the cursor-shape when hovering frame-buttons. x Added an option to change the font, depending on the window state. - Moved definitons for `previous-workspace-button' and `next-workspace-button' from StyleTab into Sawfish. * New Features - Added `single-window-mode'. Basically this feature is known from OS-X, though it's implemented in a more strict way. The `single-window-mode' window should get all of the users attention. This is ensured by auto-iconifying any up-popping window, which is not in the same group. To additionally not annoy the user this is done without animation. Avoided or ignored windows are lowered. When `single-window-mode' is quit, the opposite happens. Also `single-window-mode' hooks into unmap-notify-hook to check whether the user wants to stop `single-window-mode' (by either closing or iconifying the window). Besides each workspace can hold it's own `single-window-mode'. - Added `mouse-trap' feature. It provides a method for moving the mouse to any place of the screen by zooming with just a few keystrokes. The mouse is warped to the center of the screen screen and a outline is drawn dividing the screen in 4 squares (like trapping the mouse on it). [Fernando Carmano Varo] [Christopher Bratusek] - Added `shade-stack' feature. It provides an alternative to `iconify-window'. Instead of iconifying a window or minizing it to a tray, the windows get shaded and sorted in a stack starting from the top-left corner (the number of columns can be changed). Combined with auto-unshade this offers - possibly - a better way of interacting with windows which aren't required at the moment. Original code by Luke Gorrie. [Christopher Bratusek] - Integrated settings for selecting wallpaper using an external command (eg: hsetroot). Applying settings to GNOME2 or XFCE4 is also supported. Original code by Lucas Pandolfo. [Christopher Bratusek] - Added `toggle-desktop' function. Toggles between `show-desktop' and `hide-desktop' - always logically correct. [Christopher Bratusek] * Miscellaneous Changes - Improved desktop-integration modules [Christopher Bratusek] x KDE integration: added entries for user-switch, hibernate, suspend, lock-screen, menu-editor. x XFCE integration: added entries for hibernate, suspend, lock-screen, menu-editor. x GNOME integration: added entry for lock-screen, menu-editor. x MATE integration: full integration module for MATE Desktop has been added. x Razor-Qt integration: integration module for Razor-Qt has been added. x The fallback poweroff-menu now uses SSD `Sawfish-Session-Dialog', a companion to Sawfish, by default. Support for logout and lockdown has been added. [Christopher Bratusek]