summaryrefslogtreecommitdiff
path: root/wm
AgeCommit message (Collapse)AuthorFilesLines
2014-01-19Update jwm to 2.2.0.tsutsui5-33/+32
Changelog per http://joewing.net/projects/jwm/release-2.2.shtml New Features Added support for _NET_SHOWING_DESKTOP, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_STATE_SKIP_PAGER, and _NET_REQUEST_FRAME_EXTENTS. JWM now uses xrender for image scaling Added native language support using GNU gettext. Added a fullscreen keybinding. Added the "-reload" command line option to force JWM to reload the menus without restarting. Added a width attribute to docks. Better tray support for multiple monitors. Added a tray spacer component (Spacer). Added support for changes in root window resolution/orientation. JWM now supports resizable icons for window border buttons Add support for SVG icons using libRSVG and Cairo. Added the noshade group option Minor changes to mouse bindings on window frames. Added support for the urgency hint as well as a group option, noturgent to disable it. JWM will now flash the borders of windows that set the urgency hint set unless the noturgent option is set. Added centered and tiled window placement group options. Added the iignore group option to ignore increment size hint when maximizing a window. Added support for gradients in trays. Add the constrain group option to prevent windows from moving themselves off screen. It is now possible to use icons of any type for title bar buttons. Configuration Changes The way windows are associated with groups has changed. Now within a Group tag, if one or more Name tags is specified, a client window must match at least one to be considered part of the group. Likewise, if one or more Class tags is specified, a program must match at least one. If no tag is specified, all client windows will match. The name and class fields in Group tags are now treated as POSIX regular expressions. The number of supported window layers has been reduced to 3. Rather than a number between 0 and 12, JWM now uses above, normal, and below. JWM no longer allows custom window buttons. These buttons are now custom drawn to an appropriate size using X graphics primitives. The information in TrayButtonStyle is now inherited from TrayStyle instead of TaskListStyle. This means that tray buttons now get defaults from the tray instead of from the task list. In addition, it is now possible to specify ActiveBackground and ActiveForeground in TrayStyle. This makes it possible to set defaults for both tray buttons and task list buttons in TrayStyle. New Translations Dutch (by Bert) French (by Pierrick Pinot) German (by fido <L18L@puppy.forum>) Italian (by Man from Mars) Polish (by Mis Uszatek) Portuguese/Portugal (by Vitor Lopes) Russian (by Aleksandr Samusenko) Spanish (by Victor Martinez) Bug Fixes Fixed issues with maximize and fullscreen Fixed issues with input focus Fixed issues with mapping of windows in some applications Fixed some timezone issues Fixed an issue with docks when JWM restarts Windows can now be made larger than the root screen Set _NET_CURRENT_DESKTOP at startup Rendering changes to allow JWM to run in Xnest Fixed a bug with XML entity parsing Fixed bi-directional text rendering Performance improvements
2014-01-17Changes 0.95.5:adam6-68/+44
* Window Maker can now maximize windows to the top/bottom halves of the screen as well as to the corners (top left, top right etc). The keyboard shortcuts to do that can be configured via WPrefs * Support for drawers in the dock has been added * Keyboard shortcuts to move windows between workspaces * Window border colours and width are now configurable * The menu is now able to parse command-generated proplist style menus. WPrefs support for this has been added too * Plus a few other new features and a lot of bug fixes and code cleanups by various people.
2014-01-13According to a report from Michael Kopp in private mail, this needsdholland1-2/+3
pango at runtime or it won't start. Note: it isn't clear to me where this comes from or what the circumstances are (the package source does not appear to refer directly to pango) so I'm going to use buildlink rather than just DEPENDS (which might be sufficient) out of paranoia. PKGREVISION -> 3.
2014-01-10Fix PKGLOCALEDIR changes.jperkin3-16/+17
2014-01-05Add missing libXtst package to fix build with modular xorg.wiz1-2/+4
Add hicolor-icon-theme dependency per pkglint suggestion. Bump PKGREVISION.
2014-01-05Add icewm13ryoon1-1/+2
2014-01-05Import icewm-1.3.8 as wm/icewm13.ryoon7-0/+417
IceWM provides a small, fast and familiar window manager for the X11 window system. Compatibility with the mwm window manager is desired and will be implemented where appropriate. IceWM is designed to emulate the look of Motif, OS/2 Warp 4, OS/2 Warp 3 and Windows 95. It also tries to combine the feel of these systems whenever it is compatible. Others might added in the future in the core distribution, though many themes are available through the network. Generally, it tries to make all functions available both by keyboard and by mouse (this is not currently possible when using mouse focus). This package provides IceWM 1.3 branch release.
2014-01-05Reset PKGREVISION from base package updateryoon1-2/+1
2014-01-05Update to 1.2.38pre2ryoon7-17/+74
* Fix wrong color on NetBSD/evbearmv6hf-el with Yasushi Oshima's patch Chagnelog: 1.2.38pre2: - various bug fixes 1.2.38pre1: - xinerama fixes - app-group transient window implementation - FreeBSD ACPI support - Alexander Motin (amotin) 1.2.37: - fix centering of transient windows over parents (Bert Wesarg) - check if window is allowed to be moved, before starting movement (Bert Wesarg) - fix key handling on buttons 1.2.36: - add option TaskBarFullscreenAutoShow (default = 1) 1.2.36pre2: 2008-08-17 - regrab keyboard bindings when keyboard mapping changes 1.2.36pre1: 2008-08-07 - fix unresponsive taskbar when PassFirstClickToClient=0 - add support for sysfs interface (instead of proc) for battery status (initial code by Santiago Garcia Mantinan) - fix maximized window repositioning on fullscreen toggle - bug 1852567 - make searching for icons more consistent (iconPath first, search each directory first for all possible types - xpm, png) - Italian translation update - Korean translation update - translation cleanup: converted .po files to UTF-8
2014-01-03Add a patchryoon1-0/+15
2014-01-03Update to 1.10ryoon4-415/+4082
Changelog: 1.10 "Soundtropolis" ==================== * Updated or New dependencies - PangoX: no longer required * Bug Fixes - Always rebuild the list of marked windows in tabs when closing a marked window. [fuchur] - In `sawfish-config' fix the `make-choice-item' to properly support settings for the `Crux' theme. [Vedat Hallac] - Only allow a window to be tabbed, if the parent window's framestyle has support for tabs. (Note that in Sawfish different windows can have different framestyles) [fuchur] - `window-ops-menu' was still calling `resize-window-to-dimension' that didn't exist anymore since Sawfish 1.7. Use `resize-window-prompt' instead. [Christopher Bratusek] - Make "Sawfish Rootmenu" label an insensitive menu-item, so that clicking it while the root-menu pops up doesn't make the menu disappear immediately. [Christopher Bratusek] - In SawfishConfig you can select different cursor shapes for different buttons. Some of the definitions have been wrong and could crash Sawfish when choosing them. This is fixed now. [fuchur] - When a windows `max-width' or `max-height' would exceed 32767 (X11's maximum) it would result in odd window-behaviour (for example: no maximization button), this is fixed by capping the value at 32767. Originally reported with Firefox and Thunderbird 17.0 [Michael Panteleit] - Fixed grabbing key-bindings in SawfishConfig. [Christopher Bratusek] - Fixed non-working `$height-content' and `$width-content' in the mxflat theme [Robert Zenz] - Fixed remembering all window properties after switching workspaces [fuchur] * New Features - Tiling. [Jose A. Ortega Ruiz] [Christopher Bratusek] here are still minor hickups, but both `tall-tile' and `col-tile' are working (see also `lisp/sawfish/wm/tile/readme.org'): `tall-tile': one big (master) window on the left, small windows on the right `col-tile': tile windows as columns (recommended for multi-head configurations) ;; Example Tiling configuration in Sawfish's resource file (require 'sawfish.wm.tile.tile) (tall-tiling 0 #:width 1.75 #:top 0 #:bottom 0 #:gap 3 #:max 3 #:right nil #:resize t) (col-tiling 0 #:top 0 #:bottom 0 #:gap 3 #:cols 3 #:resize t) (bind-keys global-keymap "C-S-KP_Add" 'increase-max-windows "C-S-KP_Subtract" 'decrease-max-windows "C-M-KP_Add" 'increase-cols "C-M-KP_Subtract" 'decrease-cols "C-M-Right" 'tall-rotate-right "C-M-Left" 'tall-rotate-left "C-F11" 'next-tiling) - Added full compton integration (including autostarting compton with Sawfish). Compton is a fork of xcompmgr with many bug fixes and many improvements compared to the original. Using `sawfish-config' it is also possible to change most compton options directly from within Sawfish. [fuchur] - Make `focus-when-mapped' window-matcher chooseable from 'never 'maybe and 'always. 'never is suggested for KDE users to be applied to Plasma in order to prevent notification popups to take focus from currently active window (and possibly loosing keyboard input) [fuchur] - Completeley revised `resize-window-prompt'. Now display window's name and old width (respectively old height) when prompt for new values. Shows an information, if one of the given values is not actually a number. [Christopher Bratusek] - External Application modules. Those modules allow handling, setting-up and starting external applications during a sawfish session. See `doc/AUTOSTART' for additional notes on them. ++ `trayer' module. Handles a `trayer' (a system-tray) instance during a sawfish session. [Christopher Bratusek] ++ `xmobar' module. Handles a `xmobar' (an on-screen, very flexible bar, monitoring whatever you like) instance during a sawfish session. [Christopher Bratusek] ++ `xmodmap' module. Allows reading `~/.Xmodmap' on startup of Sawfish. Useful only if using Sawfish standalone without a session-manager that already does this. [Christopher Bratusek] ++ `xsettingsd' module. Handles a `xsettingsd' (a daemon implementing XSettings to provide GTK+2 application with information like what theme to use))instance during a sawfish session. [Christopher Bratusek] ++ `xgamma' module. Allows changing display's gamma settings on startup of Sawfish. [Christopher Bratusek] ++ `fehlstart' module. Handles a `fehlstart' (a simple, but yet flexible application launcher) instance during a sawfish session. [Christopher Bratusek] ++ `pancake' module. Handles a `pancake' (a simple desktop panel with pager, window-list, taskbar, tray) instance during a sawfish session [Christopher Bratusek] - Added `force-tab' window-matcher, forcing a window to be tabbed. [fuchur] - Added `window-type' window-matcher. This allows you to change the `_NET_WM_TYPE' of a window. Specifications explicitly state that the client (Sawfish in this case) is not allowed to do so. Still, we provide this ability in case of bogus applications and testing purposes, it is neither desired nor required for normal work. [fuchur] - Added `tab-group-windows-hook', triggered when changing or creating a tabgroup, returning all windows contained in the current tabgroup. [fuchur] * Removed Features - Removed `sawfish.wm.ext.expose' in favour of much more advanced tiling-functions. [Christopher Bratusek] * Miscellaneous Changes - Updated `Elberg-tabbed' and `gradient-tabbed' for tab-system as of Sawfish 1.9.1 [fuchur] - Wallpaper setter now has an option for setting wallpaper on startup. Image widget is now more robust. [Christopher Bratusek] - Improved default keymap for `titlebar' and `tabbar'. [fuchur] - Revived `decorate-transients', `menus-include-shortcuts' and `customize-show-symbols' defcustoms. These options are now adjustable from `sawfish-config' again. [Christopher Bratusek] - Give the `root-window' the property `'WINDOW_MANAGER' on startup with value `sawfish'. [Christopher Bratusek] - Updated `ru' and `pt_BR' translations via transifex. 1.9.1 "Voyager" =============== * Bug Fixes - `dimension' window-matcher does now properly restore the window's size [Robert Zenz] - When destroying a window marked for tabbing, before tabbing was done, tabbing didn't work anymore until Sawfish restarted. This is fixed now. [fuchur] - In `Makedefs.in' source `$(repexecdir)/rules.mk' as first, so that `--prefix' and co. from `configure' won't get overwritten. [Allin Cottrell] - In `tabs' some minor issues have been fixed, like correct `raise' or `sticky' tabs, and some issue with `move-resize' tabs. [fuchur] - Only allow '_NET_WM_WINDOW_TYPE_NORMAL to be marked as a tabbed window. [fuchur] * New Features - In tabbed-windowing it is now possible to add a whole tab-group to another tab-group, or a single window. By default the keybinding is `C-Button2-Off'. [fuchur] - Tabs now support `viewport-sticky' and `workspace-sticky'. [fuchur] - Tabs now support coloring the window-title in a different color, for windows, which are marked for tabbing. Currently only `StyleTab' uses this feature. [fuchur] * Miscellaneous Changes - In razor-qt integration module add `About Razor-Qt' help entry [Christopher Bratusek] - Replace `gdk_pixbuf_unref' by `g_object_unref' [Togan Muftuoglu] - Fix the address of FSF in all relevant files [Togan Muftuoglu] - Change cursor shape when working with tabs [fuchur] - Removed `sawfish.wm.util.marks', now implemented in `sawfish.wm.tabs.tab'. [fuchur] - Fix debian packaging scripts for Debian/Unstable, update install-sh to 2011-01-19.21, also remove NEWS and config.h.in upon `make gitclean'.[Christopher Bratusek] 1.9.0 "Next Dimensional World" ============================== * Updated or New dependencies - librep 0.92.0 -> 0.92.1 - rep-gtk 0.90.4 -> 0.90.7 - ssd 0.30 [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 [fuchur]: 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 `cabinet' application-switcher. `cabinet' is an advanced application switcher for Sawfish. For more information please visit: http://sawfish.wikia.com/wiki/Cabinet [Wang HongQin] - Added `tab-group' window-matcher. It allows window to be auto-tabbed together, if they got the same `tab-group' property [fuchur] - 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: full integration module for Razor-Qt has been added. x LXDE integration: basic integration module for LXDE has been added. - 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] - Added a `filemanager' launcher. If set the Sawfish root-menu will show an `Open Home' entry. The KDE, GNOME, MATE, XFCE and LXDE integration modules will set the program accordingly, unless it's already user-defined. 1.8.1 "Sharp As A Knife" ======================== * Updated or New dependencies - librep 0.91.0 -> 0.92.0 * Bug Fixes - Fixed jump-or-exec failing when a window without WM_CLASS exists [Christopher Bratusek] - Fixed failing to uninstall Sawfish [Christopher Bratusek] * Miscellaneous Changes - EdgeActions changes [Christopher Bratusek]: + Load from `user.jl', rather than `wm.jl' + Add `edge-actions-enabled' variable in order to be able to completely disable EdgeActions (also via .sawfishrc) + Move all options into new `sawfish.wm.edge.conf' module (so they appear in the correct order now) + Updated documentation for EdgeActions - Fixed documentation for function `insert-workspace' [Christopher Bratusek] - Removed unused or unneeded 'default, 'viewort and 'advanced classes from command definitions [Christopher Bratusek] - Fixed two strings in mxflat theme [Christopher Bratusek] - Improved Requires in sawfish.pc [Christopher Bratusek] - Improved debian packaging-scripts [Ian Zimmermann, Christopher Bratusek] - Improved .desktop-files [Kim B. Heino] - Updated translations: + Spanish [gnome-es team] + German [gnome-de team] + Czech [gnome-cz team] + Malay [gnome-ms team] + Slovenian [gnome-sl team] - Updated OPTIONS file [Christopher Bratusek] 1.8.0 "(Omoiyari)" =============================== * Incompatible changes - Infinite-desktop and edge-flip needs updates. Open the configurator -> "Edge Actions". Changes will be easy. (Set 4 pull-downs, and you're done mostly. "Infinite-desktop" is renamed to "viewport-drag".) For more options, see "Edge Actions" below. If your `~/.sawfish/rc' opens related modules, delete those references. These modules are renamed, and you don't have to manually load them any more. - Renamed functions [Teika kazura] * Popup of operations-menu on a window, renamed from `popup-window-menu' to `popup-window-ops-menu' (both the function and command). Old names are still available. * Renamed window rename, from `rename-window-func' to `rename-window'. (Old name is still avialable.) The function `rename-window-interactive' is deleted. Use `(call-command 'rename-window)' instead. Even if the old names still remain, it is highly recommended to update. - Syntax-change in `jump-or-exec' [Christopher Bratusek] The previous `class' and `onfocused' parameters are now keys, and pass them as "#:match-class t/nil" or "#:onfocused value". Note that `match-class' is _boolean_; To pass a class, set `#:match-class t' and pass the class name to the argument `regex'. (*note Application Invocation::) - Apps-menu options `apps-menu-show-all' is deleted. See below for more. - User option `focus-ignore-pointer-events' is deleted. [Teika kazura] In fact, it's for internal use, and should not have been a user option. Use your favorite focus mode instead. - Animation related modules are renamed [Teika kazura] All are collected under `sawfish/wm/animation'. `window-anim.jl' -> `setup.jl', `outline.jl' -> `main.jl', `util/window-outline.jl' -> `modes.jl'. * Build and Installation - Fixed installation for non-root users [Stefano Sabatini] Previously when installing to a private directory as an ordinary user, the installation failed, because some files were forced to be installed in /usr. This is fixed now. - Session files installation [Christopher Bratusek] Now you can choose which session files (default: all) to install with these configure-options: * `--with/out-kde4session': enable or disable the installation of session files for KDE4. * `--with/out-gnome2session': enable or disable the installation of session files for GNOME2. * `--with/out-xdmsession': enable or disable the installation of session files for XDM (or other display-managers). - Spec-File compatibility for RHEL 6 beta [Kim B. Heino] - Debian-Scripts (mostly) updated to the new specification [Christopher Bratusek] * Bug fixes - Poweroff-menu fix [Teika Kazura, Christopher Bratusek] In Sawfish-1.7.0, poweroff related items in the popup menu couldn't be invoked, if run without any desktop environment. Fixed it. - Correctly build SawfishPager [Christopher Bratusek] It is ensured that SawfishPager builds correctly, by improving `sawfish.pc' file. - At focus in/out, correctly reports the mode [Timo Korvola] When `focus-in-hook' / `focus-out-hook' are called, Sawfish wrongly reported a focus change during a grab as "ungrabbed". Now it's reported as `while-grabbed'. - Window cycle among groups [Teika Kazura] Some windows were skipped in window cycles among groups. This is fixed. - No more crash at loading wrong theme code [Teika Kazura] From Sawfish-1.7.0, Sawfish used to crash when a theme with wrong code is loaded, but it's fixed. It's not complete, and for example some mxflat options make Sawfish crash. - Cancellation of `call-command' [Teika kazura] It used to print an error message when you cancel an interactive call of `call-command' with the escape key, but it doesn't any more. - KDE *.desktop files location [Teika Kazura] Previously, user's change of the variable `kde-desktop-directories' was ignored, but this is fixed. * New Features - Edge Actions [Christopher Bratusek] "Edge Actions" is a centralized way to invoke an action when the mouse pointer hits a screen-edge. It includes former "edge-flip" and "infinite-desktop" (now renamed to "viewport-drag"), and a new feature "hot-spot". Edge-flip and viewport-drag can be configured from the configurator "Edge Actions" group. Options are easy to understand. "Hot-spot" lets you assign an action to each screen-edge and -corner. An action has to be a lisp function, and can be set in `~/.sawfish/rc', like this: (defvar-setq top-left-corner-function (lambda () (display-message "hello world"))) Hot-spot variable names consist of position (e.g. top-left or bottom) + "edge"/"corner" + "function". Other related changes are: * Viewport-drag and edge-flip (of course hot-spot, too) can be chosen per direction, top-bottom and left-right. It's also possible to enable / disable dragging of a window for each of them. * It means a window can be dragged during viewport-drag, which was not possible. * There're two delay timers now, for edge-flip and hot-spot. Internal changes: * Codes are found in `sawfish.wm.edge.*'. You don't have to import them for ordinary use. * Low-level functions now have API in `sawfish.wm.edge.util' written in Lisp. - Replace running window manager with Sawfish [Timo Korvola] New command line option `--replace' is added. With it, Sawfish will replace the currently running window manager. It's done by "manager selection" defined in ICCCM secs 2.8 and 4.3. - Toggle-Or-Exec wrapper added to Jump-Or-Exec [Christopher Bratusek] `toggle-or-exec' is similar to jump-or-exec, but turns windows into quake-like drop-down/pop-up-windows. That means, when you have the toggle-window focused and press its keybinding again, it will be hidden. See the file `jump-or-exec.jl' for more detailed examples. - `iconify-on-leave' window-matcher [Christopher Bratusek] This new window-matcher is a companion to `toggle-or-exec'. When a window matched loses the focus, it gets hidden. Use this together with `toggle-or-exec' for greater toggle-window experience. - Error printing during initialization [Teika Kazura] When an error occurs during initialization, and if you don't customize the option `error-handler', then the error is reported to both the screen and standard-error. After Sawfish starts, it's printed to the standard-error only. - New function `report-commands' [Teika kazura] It returns the list of all commands. (*note Operations on Commands::). * Misc Changes - Tabs and themes [fuchur] A new, tab-capable, highly configurable theme "StyleTab" is added. It allows the tab-bar to appear in top, left, right, and bottom. Use a new window rule `title-position' for it. "StyleTab" is now the default theme. Many improvements in tab system are done. For example, stickiness change on a window applies to all other windows in the same tab group, though maybe not yet complete. (Please tell us things you noticed.) When you used a tab capable theme (Elberg-Tabbed or Get-S-Tabbed), you had to manually adjust positions by pixel, but it's not necessary any more. When a lot of windows are open, they should now be more responsive. - Application menu is fully customizable [Matthew Love] With the new option `apps-menu-filter', you can fully customize the application menu. For the full description, see *Note Applications Menu::. It replaces former options like `apps-menu-show-all' or `apps-menu-ignore-no-display'. - Per-window animation mode [Teika kazura] From the configurator "Window Rules" you can set the animation mode when iconified. (*note Animating Windows::) - Behavior modification at focus-in [Harald van Dijk] In order to support "gnome2-globalmenu", the reaction policy to `XFocusInEvent' is slightly modified. Sawfish doesn't emit `_NET_ACTIVE_WINDOW' if it's done by (un)grabbing the pointer. - Revised `get-window-by-*' functions [Christopher Bratusek] For the details, see *Note Window Attributes::, and *Note Getting Windows::. * Added functions `window-role' and `get-window-by-role' (return NET_WM_ROLE) * Deleted `get-window-by-name-re' and `get-window-by-class-re'. Use instead `get-window-by-name' or `get-window-by-class' with the new boolean option `#:regex'. (The old name is still supported.) * added `#:icon' switch to `get-window-by-name' to get a window via NET_WM_ICON_NAME (can be used with #:regex switch, too) * Commands to resize a window [Christopher Bratusek, Teika kazura] Four new commands to resize a window where you can specify the size by pixels are there. You're either prompted to type in the new size, or you can preset it in the configurator. For the new command `resize-window-to-preset-size', first you specify a size in the configurator. The focused window will be resized to that preset size on invocation. There're also commands to change only one of the height and width. `resize-window-prompt' prompts you to enter the new size. - Window-operation menu improvements [Christopher Bratusek] + The window-operation menu now honours window rules better. For example, if you have a window with `fixed-size' flag, the window-operations menu-entry `Resize' becomes unclickable. + The entries for moving and copying windows to another workspace are now bundled in the new `Workspace' sub-menu. - Translation related changes [Teika Kazura] + Added translator instructions in `po/README' file. + Before you run `po/make-pot' to generate `sawfish.pot', you now have to do `make all' at the top directory. Previously it was possible to produce wrong `sawfish.pot'. + Translation updates: Spanish [gnome-es team], German [gnome-de team], Simplified-Chinese [gnome-zh_CN team, Wang Lei], Norwegian/bokmål [gnome-no team] French [gnome-fr team], Czech [gnome-cs team] and Slovenian [gnome-sl team]. + Updated `sawfish.pot' and subsequently all `*.po'. Banished some bogus items in `sawfish.pot'. (Developer's personal extensions had sneaked in.) - Emacs sawfish-mode now indents `let-fluids' and let-loop correctly, provided by `sawfish.el' [Teika Kazura] - Turn `focus-ignore-pointer-events' into an internal variable (has wrongly been a user-option before) [Teika Kazura] - Documentations [Teika kazura] * Section on popup menus is rewritten. (*note Popup Menus::) * Functions which return window geometry are now clarified in the point of frames. * Correction: The function `commandp' can only take symbols as its argument. (*note Operations on Commands::) - SawfishConfig "Window rules" section changes [Teika Kazura] Category `Placement' is renamed to `Geometry'. The item `shade-hover' is moved to `appearance' category, and `fixed-size' to `geometry'. - Deletion of outdated features in command definition [Teika Kazura] Function `define-command-args' is deleted. In `define-command' function, the keyword argument `doc-key' is dropped.
2014-01-01Recursive PKGREVISION bump for libgcrypt-1.6.0 shlib major bump.wiz5-10/+10
2013-12-31Remove packages that were either BROKEN for more than a year orwiz19-742/+1
BROKEN and explicitly scheduled to be removed after 2013Q4.
2013-12-08+ obconfobache1-1/+2
2013-12-08Update obconf to 2.0.3 and reimport.obache5-0/+93
2.0.3: * Added Norwegian translation * Added Turkish translation * Updated Traditional Chinese, Italian, and Swedish translations * Add support for the desktop warping option * Add support for showing the popup notification when changing desktops * Better build support for Max OSX platform (no --export-dynamic) * Major layout changes * Add support for putting the move/resize popup in a fixed position on screen * Add support for the <active> window placement option * New icon by Myles Green * Show an error when the configuration file is not valid, so it doesn't get destroyed by ObConf * Add a --config-file option to specify an alternate configuration file. * Auto-load the same configuration as Openbox is using, if Openbox was run with --config-file
2013-12-08Update openbox to 3.5.2.obache6-105/+60
While here: * add hard dependency on Python. * add options for image support, enable recommended imlib2 by default. * fixes missing bump of API_DEPENDS to 3.5. * easy and better handling for config files. 3.5.2: * Fix crash in theme rendering code, and in theme parsing code. * Maximize windows without borders to fill the whole screen, don't leave a one-pixel empty space. (Bug #5996) 3.5.1: * New translations: Afrikaans, Belarusian, Interlingua, Hebrew, Romanian, Greek. * Updated translations: Italian, Serbian, Spanish, Czech, Hungarian, Turkish, German, Arabic, Polish, Dutch, Lithuanian, Portuguese, Estonian. * SVG icon support. This is optional, depending on librsvg being installed. * Allow application rules to control window size with a new <size> tag. * Allow application rules to pick a monitor for new windows without forcing a position. * Allow non-interactive focus cycling with a new <interactive> tag. * New LeastOverlap window placement policy replaces the old default behaviour. It finds a place on a given monitor that overlaps as few windows as possible. Contributed by Ian Zimmerman. * Improved Xinerama behaviour. * Correctly interface with latest gnome-session for Gnome/Openbox X sessions. * Allow third-party control of window opacity in compositing managers. * Improved themeing options. Contributed by Dave Foster. * Add <monitor>, <title type="regex">, <title type="exact"> and <activedesktop> options to If action. * Addresses bugs #4661, #5506, #5186, #5758, #5410, #5228, #5277, #5731, #5746, #5737, #5419, #5721, #5711, #5385, #5500, #4992, #5443, #5518, #5444, #4782, #5237, #5228, #5173, #5203, #5246, #5180, #5179, #5150, #5132, #4937, #4889, #5253, #3769, #5819, #5811, #5081, #5426 among others.
2013-12-08Requires cairo-gobject. PKGREVISION -> 2.dholland3-3/+22
This package uses lua-gi at build time to see if it can load cairo-gobject; this does not (AFAICT) work without buildlinking lua-gi, and possibly not even then, and I don't want to get into that unless necessary. So make the failure non-fatal as the package build system suggests. (Except that the way they suggest isn't working for some other reason, so do it forcibly.) I am not really in a position to test it at runtime right now, so if it doesn't work let me know. At least now the package builds.
2013-11-29Update to 2.4.0, based on patch by Lokesh Mandvekar on pkgsrc-users.wiz3-19/+17
Changes not documented.
2013-11-29HOMEPAGE gone.wiz1-4/+3
2013-11-24Distfile changed upstream: purely administrative alterations to thedholland2-6/+7
CHANGELOG file. Go figure. Bump PKGREVISION to 7 and set DIST_SUBDIR explicitly to windowlab-1.33nb7. This can be removed at the next update, if any.
2013-11-09Mark this NOT_FOR 64-bit platforms; while it builds, gcc output and adholland1-1/+4
quick review of the header files indicates deeply ingrained assumptions about pointers fitting in 32-bit integers, and it does not stand much chance of working.
2013-11-06Fix MAKE_JOBS build.dholland2-1/+26
2013-10-30Bump PKGREVISION of packages whose Lua depends changed form, but whosedholland3-4/+6
own PKGNAME is unchanged.
2013-10-30Fix Lua depends.dholland1-2/+2
2013-10-29USE_LANGUAGES=c99 and fix linker arguments to fix build on SunOS.jperkin1-1/+11
2013-10-20Pass rpath option with -Wl prefix.joerg2-4/+4
2013-10-20Give rpath options the correct -Wl prefix.joerg2-4/+4
2013-10-19Revbump after updating textproc/icuadam4-8/+8
2013-10-18Fix a common mistake in many different packages: POSIX says that when usingbsiegert1-1/+2
pax -rw, the destination directory must exist. pax in NetBSD creates it if not, pax in MirBSD complains. I read through all pkgsrc Makefiles that use pax and added an entry to INSTALLATION_DIRS, or an INSTALL_DATA_DIR invocation. I did not test all the changes but they should be fairly safe. If you notice any breakage because of this change, please contact me.
2013-10-17Update i3 to version 4.6.tonnerre6-144/+60
Also, install a few more scripts and their manual pages, and put the correct Perl interpreter in all Perl scripts. Changes since version 4.4: • docs/hacking-howto: refer people to cr.i3wm.org • docs/ipc: Adds Go IPC lib to the docs. • docs/userguide: remove obsolete sentence about client.background • docs/userguide: be explicit about assignment processing order • docs/userguide: be more clear about the resize command arguments • docs/userguide: fix typo: s/11x/11px/ • i3-dmenu-desktop: don’t add “geany” if “Geany” is already present • i3-dmenu-desktop: strip newlines from dmenu ≥ 4.4 • i3-dmenu-desktop: skip files with broken utf8 but warn about it • i3-dmenu-desktop: skip broken files (no/empty Exec=) but warn about them • i3-dmenu-desktop: List filenames of .desktop files • i3-dmenu-desktop: remove %i from commandline • i3-nagbar: Work around terminals not supporting -e with quoted arguments • i3-nagbar: use the same font as configured for i3 • i3bar: set _NET_SYSTEM_TRAY_COLORS for symbolic icons (gtk3+) • i3bar: don’t use X11 borders to avoid overlapping in hide mode • i3bar: separator color via config; separator width and on/off via ipc • i3bar: Allow min_width of a block in i3bar to be a string • i3-msg: parse command replies and display errors nicely if there were errors • Draw 1px tab separators left/right instead of 2px on the right only • Render tree before destroying X11 containers upon unmap • scratchpad show: move visible scratchpad window from another workspace to focused workspace instead of doing nothing • ignore MotionNotify events generated while warping the pointer • Allow X11 servers which do not support the XKB extension. • remove the urgency indicator when a window is closed • wrap when moving containers to outputs with direction • scratchpad_show: focus unfocused scratchpad window • Split workspace instead of changing orientation • scratchpad: always auto center on 'scratchpad show' if window hasn't been repositioned by the user • Add a new IPC event for changes on windows. • config: accept “smart” as popup_during_fullscreen parameter • Add support for _NET_WM_STATE_DEMANDS_ATTENTION. • Obey WM_SIZE_HINTS's resize increments in floating mode • Do not move focus if a container is moved across outputs • docs/userguide: mention forgotten layout splitv/splith • docs/multi-monitor: nVidia ≥ 302.17 works just fine • docs/wsbar: update (we have i3bar now, i3-wsbar is just an example) • docs/testsuite: Document fixes and workarounds for test failures • man/i3-msg.man: updated man page to include all options • lib/i3test: clarify how to identify open_window() windows in i3 commands • Use a saner sanity check for floating_reposition • tabbed: floor(), put extra pixels into the last tab • raise fullscreen windows on top of all other X11 windows • Draw indicator border only for split layouts • re-shuffle struct members to save a bit of memory • Add 'NoDisplay=true' to i3.application.desktop • Store aspect_ratio instead of weird proportional_{width,height} • Implement shmlog command • Implement debuglog command • Implement unmark command • actively delete _NET_WORKAREA on startup • Handle the _NET_REQUEST_FRAME_EXTENTS ClientMessage (java compat) • i3bar: add click events • i3bar: fix -b parameter, fix usage description • i3bar: restore compatibility with libyajl version 1 • i3bar: unhide hidden i3bar when mode is active • i3bar: fix font display height in i3bar • i3bar: introduced i3 command for changing the hidden state and mode • i3bar: fix wrong placement of i3bar when connecting/disconnecting outputs • i3bar: draw workspace buttons at x=0 instead of x=1 • i3-nagbar: take our terminal execution kludge to the next level • i3-nagbar: Bugfix: -m requires an argument (crashes if none specified) • i3-dmenu-desktop: run commands when they don’t match a .desktop file (e.g. enter “i3 layout stacking”) • i3-dmenu-desktop: honor Path= key • contrib/dump-asy.pl: Fix $ and & in window titles • contrib/dump-asy.pl: Display nicer double-quotes • contrib/gtk-tree-watch.pl: Remove bogus default socket path • Ignore ConfigureRequests for scratchpad windows • Correctly parse `move ... workspace *_on_output` • i3bar: Set separator color properly when drawing • Properly parse commands like “move workspace torrent” • Handle nested transient popups properly • Fix decoration rect size for windows without border • parse outputs as "word", not "string", to ignore trailing whitespace • fix crash when disabling output without any windows • scratchpad: fix crash when moving last window of an invisible workspace • fix coordinates of scratchpad windows on output changes • call scratchpad_show() when focusing scratchpad windows via criteria • fix continuous resize bug in floating mode, e.g. with xbmc • fix “overlapping” --release key bindings • fix IPC messages writes with low buffer sizes • unregister as window manager before restarting (fixes a race condition) • Fix bind[code|sym] --release • remove superfluous #include <xcb/xcb_atom.h> • Makefile: Repect AR environment variable • i3-input: restore input focus on exit() • Also draw right tab border for split containers • Fix scrolling on a tabbed titlebar which contains split cons • Correctly close floating windows • handle MapRequests sent between i3 registering as a wm and handling events • i3bar: fake DestroyNotify and send MANAGER ClientMessages to fix tray restarts • ipc: use correct workspace in workspace change event • fix floating window size with hide_edge_borders • Fix parsing of comments in the config file • Fix error messages for the debug log • shm_unlink the correct file when handling errors • Fix shm logging on FreeBSD • Fix restarting with 32 bit depth windows • Fix scratchpad_show on non-scratchpad windows • i3bar: mark IPC fd CLOEXEC • fix crash when not having tray_output configured • make sure that resize will take place even if pixel is smaller than size increments. • render_con: fix height rounding in aspect ratio computation • fix problem when moving fullscreen window to scratchpad • Unmap windows before reparenting them to the root window (fixes Mathematica) • update parent urgency hint if a child is removed. • fix bus error on OpenBSD/sparc64 • fix focus handling in 'floating disable' on non-visible windows • ignore spaces in front of default workspace name • call i3-nagbar correctly for configfiles without the font directive • resize and center a scratchpad even when a criteria is used.
2013-10-10Recursive revbump from pango-1.36.0ryoon19-38/+38
2013-10-09recursive bump for libmng-2.0.2 shlib major bump and dependency changewiz5-10/+10
2013-09-07Update to 1.0.8:wiz2-6/+6
This release moves twm slightly into the 1990's, with ANSI C89 function declarations, removal of ancient casts left over from the era before function prototypes, C89 standard signal handlers, and the loss of support for running on Apple's A/UX Unix for the 680x0 Macs. It also includes some bug fixes and man page formatting improvements, amongst all the code cleanups. Alan Coopersmith (16): Terminate execl() arguments with NULL instead of 0 Constification cleanup - fix dozens of gcc warnings Use (void) to declare functions that take no arguments, instead of () Convert remaining K&R function declarations to C89 style Make various helper & callback functions private to session.c unifdef macII - drop support for A/UX 2.0 Remove unused global variable gotFirstSave Make some more previously global variables into file-scoped statics Assume C89 signal handlers, returning void Make more functions static that aren't called from other files Delete trailing whitespace in non *.[ch] source files Stop casting pointers to (char *) when freeing them Stop casting return values from malloc & calloc AddWindow: Use NULL instead of 0 for null pointer check Replace malloc(strlen()+1); strcpy(); pairs with strdup() twm 1.0.8 Colin Harrison (1): Syntax error in recent twm commit Egbert Eich (1): Fix SEGV if CreateColormapWindow() returns NULL. Eric S. Raymond (1): Don't rely on the ability to set tab stops.
2013-09-02Revbump after cairo updateadam19-37/+38
2013-08-18Remove unneeded symbol that causes conflict with X headers.wiz2-4/+22
PR 48128.
2013-08-18regen patch with better contextwiz3-12/+18
2013-08-16revbump from libnotify bumped to 0.7 and dependency changed from libnotify07.obache1-3/+3
2013-08-15Fixed pkglint warnings.rillig7-22/+17
2013-07-29Update to 2.3.0, based on a patch by Lokesh Mandvekar <lsm5@fedoraproject.org>wiz3-7/+9
on pkgsrc-users. Changes: This release adds the ability to move/resize floating windows beyond region boundaries. It adds 'soft boundary' behavior to region boundaries. When moving a window past the region boundary, the window will 'snap' to the region boundary if it is less than boundary_width distance beyond the edge. A new boundary_width configuration option has been added. The 'soft boundary' behavior can be disabled by setting this option to 0. The ability to set tile_gap to negative values has been added, which makes it possible for tiled windows to overlap. Set this to the opposite of border_width to collapse borders.
2013-07-26Remove scrotwm, replaced by spectrwm.wiz8-144/+2
2013-07-26Import spectrwm-2.2.0 as wm/spectrwm.wiz5-0/+119
Based on a package by Lokesh Mandvekar <lsm5@fedoraproject.org> and wm/scrotwm. Spectrwm is a small dynamic tiling window manager for X11. It tries to stay out of the way so that valuable screen real estate can be used for much more important stuff. It has sane defaults and does not require one to learn a language to do any configuration. It was written by hackers for hackers and it strives to be small, compact and fast. It was largely inspired by xmonad and dwm. Both are fine products but suffer from things like: crazy-unportable-language-syndrome, silly defaults, asymmetrical window layout, "how hard can it be?" and good old NIH. Nevertheless dwm was a phenomenal resource and many good ideas and code was borrowed from it. On the other hand xmonad has great defaults, key bindings and xinerama support but is crippled by not being written in C. Spectrwm is a beautiful pearl! For it too, was created by grinding irritation. Nothing is a bigger waste of time than moving windows around until they are the right size-ish or having just about any relevant key combination being eaten for some task one never needs. The path of agony is too long to quote and in classical OpenBSD fashion (put up, or hack up) a brand new window manager was whooped up to serve no other purpose than to obey its masters. It was written by Marco Peereboom & Ryan Thomas McBride and it is released under the ISC license.
2013-07-25Set MAINTAINER per request on pkgsrc-users.wiz1-3/+2
2013-07-22Update awesome to 3.5.1degroote5-55/+54
Lots of change since 3.4.13, in particular support for lua 5.2. For details changelot, see http://awesome.naquadah.org/changelogs/short/v3.5
2013-07-17Include bsd.prefs.mk before OPSYS test.jperkin1-1/+3
2013-07-16Do not default to inotify support on SunOS, libinotify is not yet portedjperkin1-2/+5
to that platform.
2013-07-15* .include "../../devel/readline/buildlink3.mk" with USE_GNU_READLINE=yesryoon3-6/+3
are replaced with .include "../../devel/readline/buildlink3.mk", and USE_GNU_READLINE are removed, * .include "../../devel/readline/buildlink3.mk" without USE_GNU_READLINE are replaced with .include "../../mk/readline.buildlink3.mk".
2013-07-06Fix build with GIFLIB 5.0 and newer.tron2-1/+38
2013-07-05Apply removal of -export-dynamic for SunOS across all of pkgsrc.jperkin1-7/+2
Avoids lots of copy/paste and fixes a bunch of packages which hadn't been looked at yet.
2013-07-05Update to 2013030200, fixes build with lua-5.2.wiz6-57/+46
Other changes unknown, but from the PLIST changes: pwm was removed. notionflux was added.
2013-07-05Recursive revbump from graphics/giflib update to 5.0.4.ryoon12-23/+24