Changelog:
Changes in 2.3.6 (20160812)
Auto-maximization of windows when the mouse is brought to the edge of the screen (issue #49). This feature is disabled by default, but can be enabled via the aerosnap group option.
Added Traditional Chinese translation (from Jim Tsai).
Added the TaskListStyle and TrayButtonStyle tags to control the look of task lists and tray buttons. These were removed in v2.3.0, but are now back (issue #276).
Fixed rendering of gradient highlights on menus.
Changed the default configuration to explicitly set a 24-hour clock format.
Made the default window title height match the font size used in window titles.
Added the ability to set a default icon using the DefaultIcon tag (issue #310).
Added the ability to disable move/resize using mod1+drag via the nodrag group option (issue #311).
Made JWM raise the selected window when tabbing between windows (issue #313).
Fixed an issue with some system tray icons not showing up (issue #314).
Tiled window placement is now confined to the active display (pull request #318).
Changed to the MIT license (issue #320).
Added the labeled option to TaskListStyle to allow disabling labels for task lists.
Changes in 2.3.5 (20160326)
Faster icon loading (issue #258).
Configurable default window icon via the ButtonMenu tag (issue #246).
Added the ilist and ipager group options to ignore program-specified task list and pager settings (issue #263).
Made it so clicking a submenu does not close the menu (issue #264).
Made the tray respond to clicks at screen edges (issue #270).
Made tiled window placement (the tiled group option) minimize overlap if no window position can be found with no overlap (issue #269).
Removed exit confirmation when exit is invoked from the command line (issue #275).
Now maximized windows restore when being dragged.
Restored the ClockStyle tag to allow setting a custom font and color for clocks (issue #276).
Fixed layout and mouse location tracking of tray items for trays with lots of components.
Added the ability to use the output of a program for Include (issue #291).
Added the fixed group option (issue #209).
wmutils is a a set of Window Manipulation Utilities.
Its purpose is to separate all the vital functions
of a window manager into separate pieces.
Using these tools, you can build your own window manager
as a shell script. Think of wmutils as coreutils for X11.
Here is the list of the core utilities composing wmutils:
chwb: change window's border
chwso: change window's stacking order
ignw: ignore/unignore window
killw: kill windows
lsw: list windows
mapw: map/unmap windows
pfw: print focused window
wattr: show window's attributes
wmp: move the mouse pointer
wmv: move a window
wrs: resize a window
wtf: focus a window
wtp: teleport a window
Originally packaged in pkgsrc-wip by Mateusz Poszwa.
A simple window management tool which:
* Allows you to set basic rules for a window type, such as maximise|undecorate
* Allows exceptions to the rules, based on string matching for window name
and window class.
* Allows 'reversing' of rules when the user manually changes something:
* Re-decorates windows on un-maximise.
Changes from upstream since 4.11
• use https instead of git/http, update contact information, add GPG key
• docs/hacking-howto: fix old cfgparse.y reference to config_parser.c
• docs/ipc: added link to i3ipcpp (C++ library)
• docs/userguide: clarify no_focus documentation
• docs/userguide: add documentation for binding modes
• docs/userguide: fix rendering of __focused__
• docs/userguide: improve placement of explicit IDs for headings
• docs/userguide: make rendering of key bindings more consistent
• docs/userguide: clarify quoting of “exec” commands
• man/i3-nagbar: fix example invocation
• man/i3: add “floating window” to terminology
• i3-sensible-*: quote variables correctly
• i3-sensible-editor: add neovim
• i3-sensible-terminal: add termit, st
• i3bar: use cairo for all drawing operations
• i3bar: support per-statusblock border and background colors
• i3bar: support different bar background colors depending on whether the bar
is on the focused output or not
• i3bar: multiple tray_output directives on the same bar are now supported
• i3bar: support disabling the modifier by specifying “modifier none”
• use cairo for all drawing operations
• fix a number of memory leaks, thanks to AddressSanitizer
• no_focus is now suppressed for the first window of a workspace
• “workspace next/prev” now looks for numbered workspaces after reaching the
last workspace (it used to incorrectly only look at named workspaces)
• multiple marks can now be set on a single window (but a mark can still only
be present on one window at a time)
• the “unmark” command now supports criteria
• the “con_id” criterion now supports the special value __focused__
• the “workspace” command now supports the --no-auto-back-and-forth parameter
• the “move window to workspace” command now supports the
--no-auto-back-and-forth parameter
• the “resize grow|shrink width|height” command now works for a nested split
in the same direction
• support _NET_WM_USER_TIME’s special 0 value, indicating that a window
should not be focused
• use 32-bit visual by default if available. This reduces graphical glitches
when using transparency (which is still not officially supported)
• the “move position center” command now supports criteria
• specifying invalid match criteria now results in an error instead of
blindly applying the operation to the currently focused window
• allow mouse bindings to run on the root window
• support matching _NET_WM_WINDOW_TYPE_NOTIFICATION in criteria
• all criteria are now matched, even when con_id or con_mark are given (used
to be a special case)
• allow the “id” criterion to be specified in any base recognized by
strtol(), not only base 10
• non-true color displays are now supported again (e.g. the Raspberry Pi)
• the “split” command now has a “toggle” option
• the additional color class “decoration_border” was added
• title_format is now stored on containers instead of windows, allowing the
use of title_format on split containers
• On OpenBSD, i3 now uses pledge(2)
• support _NET_WM_DESKTOP (for pager applications like gnome-panel)
• floating workspaces are no longer available (they were not supported for a
while now)
• floating windows now carry the I3_FLOATING_WINDOW atom so that tools like
compositors can be configured to match on floating windows
Bugfixes from upstream since 4.11
• i3bar: display short text only on the monitor(s) on which it is necessary
• i3bar: explicitly set cursor using libxcb-cursor if available
• i3bar: fix XEMBED messages
• i3-nagbar: explicitly set cursor using libxcb-cursor if available
• duplicated keybindings are now also detected when one uses bindcode but the
other(s) use(s) bindsym
• keymap fallback for servers without XKB (e.g. TightVNC) has been added
• using pango markup in mode names is now optional, fixing a regression in i3
v4.11 where modes which contained characters such as “<” would break.
• moving windows to a workspace by specifying a mark now works
• the root output is now used when any RandR request fails (for x2go)
• assignments are now marked as run before executing them, preventing endless
loops/crashes when assignments cause another assignment evaluation
• splitting/floating a dock container no longer crashes i3
• correctly compare modifier mask when identifying keybindings (fixes
bindings which use --release)
• no longer fail config validation when there is no newline at the end of
the config file
• scrollwheel buttons are now only grabbed when necessary, allowing the use
of “bindsym button*” or scrolling in windows without focusing them (in case
no “bindsym button*” is present)
• parse con_id in base 16 (affected FreeBSD only)
• fix crash when opening a large number of windows
• reject empty swallow definitions to avoid crashes
• don’t remove SubstructureRedirect event mask temporarily (fixes i3bar
stopping after system suspend)
• move urgent flag before killing the parent to avoid a crash
• correctly validate “kill” command to avoid crashing when “kill” is invoked
on workspace containers
• actually accept the documented “workspace” token as an alternative to “→”
in assign statements
• remove _NET_WM_STATE on withdrawn windows to comply with the spec
• the “border” command now uses logical pixels (relevant for hi-dpi displays)
• “tray_output primary” does not properly fall back and hence was removed
from the default config again
• correctly determine focused workspace when moving workspace to output
• revert to default binding mode before reloading the config file
• correctly interpret _MOTIF_WM_HINTS (endianness-dependent)
SunOS:
#error "Compiler or options invalid for pre-UNIX 03 X/Open applications"
While here also delete not need NO_CONFIGURE and convert SUBST_STAGE to
pre-configure.
Thanks to jperkin@ (possible mistakes are mine).
CHANGES:
## 0.12 (December 14, 2015)
### Breaking Changes
* `XMonad.Actions.UpdatePointer.updatePointer` arguments were
changed. This allows including aspects of both of the
`TowardsCentre` and `Relative` methods. To keep the same behavior,
replace the entry in the left column with the entry on the right:
| < 0.12 | >= 0.12 |
|-------------------------------------|----------------------------------|
| `updatePointer Nearest` | `updatePointer (0.5, 0.5) (1,1)` |
| `updatePointer (Relative x y)` | `updatePointer (x,y) (1,1)` |
| `updatePointer (TowardsCentre x y)` | `updatePointer (0.5,0.5) (x,y)` |
### New Modules
* `XMonad.Actions.AfterDrag`
Perform an action after the current mouse drag is completed.
* `XMonad.Actions.DynamicProjects`
Imbues workspaces with additional features so they can be treated
as individual project areas.
* `XMonad.Actions.LinkWorkspaces`
Provides bindings to add and delete links between workspaces. It
is aimed at providing useful links between workspaces in a
multihead setup. Linked workspaces are viewed at the same time.
* `XMonad.Config.Bepo`
This module fixes some of the keybindings for the francophone
among you who use a BEPO keyboard layout. Based on
`XMonad.Config.Azerty`
* `XMonad.Config.Dmwit`
Daniel Wagner's configuration.
* `XMonad.Config.Mate`
This module provides a config suitable for use with the MATE
desktop environment.
* `XMonad.Config.Prime`
A draft of a brand new config syntax for xmonad.
* `XMonad.Hooks.DynamicProperty`
Module to apply a `ManageHook` to an already-mapped window when a
property changes. This would commonly be used to match browser
windows by title, since the final title will only be set after (a)
the window is mapped, (b) its document has been loaded, (c) all
load-time scripts have run.
* `XMonad.Hooks.ManageDebug`
A `manageHook` and associated `logHook` for debugging `ManageHook`s.
Simplest usage: wrap your xmonad config in the `debugManageHook`
combinator. Or use `debugManageHookOn` for a triggerable version,
specifying the triggering key sequence in `XMonad.Util.EZConfig`
syntax. Or use the individual hooks in whatever way you see fit.
* `XMonad.Hooks.WallpaperSetter`
Log hook which changes the wallpapers depending on visible
workspaces.
* `XMonad.Hooks.WorkspaceHistory`
Keeps track of workspace viewing order.
* `XMonad.Layout.AvoidFloats`
Find a maximum empty rectangle around floating windows and use
that area to display non-floating windows.
* `XMonad.Layout.BinarySpacePartition`
Layout where new windows will split the focused window in half,
based off of BSPWM.
* `XMonad.Layout.Dwindle`
Three layouts: The first, `Spiral`, is a reimplementation of
`XMonad.Layout.Spiral.spiral` with, at least to me, more intuitive
semantics. The second, `Dwindle`, is inspired by a similar layout
in awesome and produces the same sequence of decreasing window
sizes as Spiral but pushes the smallest windows into a screen
corner rather than the centre. The third, `Squeeze` arranges all
windows in one row or in one column, with geometrically decreasing
sizes.
* `XMonad.Layout.Hidden`
Similar to `XMonad.Layout.Minimize` but completely removes windows
from the window set so `XMonad.Layout.BoringWindows` isn't
necessary. Perfect companion to `XMonad.Layout.BinarySpacePartition`
since it can be used to move windows to another part of the BSP tree.
* `XMonad.Layout.IfMax`
Provides `IfMax` layout, which will run one layout if there are
maximum `N` windows on workspace, and another layout, when number
of windows is greater than `N`.
* `XMonad.Layout.PerScreen`
Configure layouts based on the width of your screen; use your
favorite multi-column layout for wide screens and a full-screen
layout for small ones.
* `XMonad.Layout.Stoppable`
This module implements a special kind of layout modifier, which when
applied to a layout, causes xmonad to stop all non-visible processes.
In a way, this is a sledge-hammer for applications that drain power.
For example, given a web browser on a stoppable workspace, once the
workspace is hidden the web browser will be stopped.
* `XMonad.Prompt.ConfirmPrompt`
A module for setting up simple confirmation prompts for
keybindings.
* `XMonad.Prompt.Pass`
This module provides 3 `XMonad.Prompt`s to ease passwords
manipulation (generate, read, remove) via [pass][].
* `XMonad.Util.RemoteWindows`
This module implements a proper way of finding out whether the
window is remote or local.
* `XMonad.Util.SpawnNamedPipe`
A module for spawning a pipe whose `Handle` lives in the xmonad state.
* `XMonad.Util.WindowState`
Functions for saving per-window data.
### Miscellaneous Changes
* Fix issue #9: `XMonad.Prompt.Shell` `searchPredicate` is ignored,
defaults to `isPrefixOf`
* Fix moveHistory when alwaysHighlight is enabled
* `XMonad.Actions.DynamicWorkspaceGroups` now exports `addRawWSGroup`
* Side tabs were added to the tabbed layout
* `XMonad/Layout/IndependentScreens` now exports `marshallSort`
* `XMonad/Hooks/UrgencyHook` now exports `clearUrgency`
* Exceptions are now caught when finding commands on `PATH` in `Prompt.Shell`
* Switched to `Data.Default` wherever possible
* `XMonad.Layout.IndependentScreens` now exports `whenCurrentOn`
* `XMonad.Util.NamedActions` now exports `addDescrKeys'`
* EWMH `DEMANDS_ATTENTION` support added to `UrgencyHook`
* New `useTransientFor` modifier in `XMonad.Layout.TrackFloating`
* Added the ability to remove arbitrary workspaces
CHANGES:
## 0.12 (December 14, 2015)
* Compiles with GHC 7.10.2, 7.8.4, and 7.6.3
* Use of [data-default][] allows using `def` where previously you
had to write `defaultConfig`, `defaultXPConfig`, etc.
* The [setlocale][] package is now used instead of a binding shipped
with xmonad proper allowing the use of `Main.hs` instead of
`Main.hsc`
* No longer encodes paths for `spawnPID`
* The default `manageHook` no longer floats Gimp windows
* Doesn't crash when there are fewer workspaces than screens
* `Query` is now an instance of `Applicative`
* Various improvements to the example configuration file
[data-default]: http://hackage.haskell.org/package/data-default
[setlocale]: https://hackage.haskell.org/package/setlocale
Pkgsrc changes:
- use ${PREFIX} for icon path in example.jwmrc
- rename patch files per new format
- add patch comments
- take maintainership
Upstream changes list from
http://joewing.net/projects/jwm/release-2.3.shtml
JWM v2.3 Release Notes
This is a collection of major changes between JWM v2.2 and JWM v2.3.
Version 2.3.0 was released 20150618.
You can download the latest snapshot of JWM here: jwm-1356.tar.xz.
New Features
* Added support for client requested XRaiseWindow (issue #117).
* Added native language support for the confirm dialog.
* Added support for _NET_RESTACK_WINDOW (issue #118).
* Added key binding to send the current window to a different desktop (issue
#119).
* Support the specification of an alternate configuration file (patch from
Brian Bidulock)
* Added Corner option to configure the roundedness of windows.
* Updated the look of borders around menus and trays.
* Add support for _NET_WM_MOVERESIZE (issue #142).
* Add the fullscreen group option (patch from George Shaw).
* Made window style configuration more consistent (may break old
configuration files).
* Add scale background type.
* Added group options: nomin, nomax, noclose, nomove, noresize (issue #152),
and nofullscreen (issue #163).
* Added the Outline tag to MenuStyle to specify the color of menu outlines
(issue #31).
* Added the Outline tag to TrayStyle to specify the color of tray outlines.
* To conform with GNU standards, running "make install" no longer strips the
executable. To strip the executable, "make install?strip" can be used
instead.
* Added the ability to swallow the same client into a tray multiple times.
* Added the ability to specify where the tray is hidden when auto-hide is
enabled (issue #34).
* Menu Includes are now loaded dynamically when a menu is shown rather than
when JWM starts.
* Added the sendu, sendd, sendl and sendr key bindings to send a window to a
different desktop (issue #119).
* Added the maxh, maxv, maxtop, maxbottom, maxleft and maxright key bindings
(issues #120 and #157).
* Added the ability to have separate actions per mouse button for tray
buttons (issue #171). This is accomplished using the Button tag. For
example:
<TrayButton label="My Button">
<Button mask="1">
exec:program_for_left_click
</Button>
<Button mask="45">
exec:program_for_scroll_wheel
</Button>
</TrayButton>
The Button tags are optional. By default the action will use mouse button
mask 123.
* Add the ability to have separate actions per mouse button for clock tray
components (issue #171) and the ability to have clock tray components run
actions like tray buttons (issue #172).
* Add support for more than 10 menus. Now 26 additional menus can be defined
using the letters a through z.
Configuration Changes
The following XSLT is available to update JWM v2.2 configuration files for use
with JWM v2.3: jwm-2.3.xslt.
To convert an existing v2.2 configuration file using xsltproc, run:
cp ~/.jwmrc ~/.jwmrc.old
xsltproc jwm-2.3.xslt ~/.jwmrc.old > ~/.jwmrc
If you have multiple configuration files, it may be necessary to apply the XSLT
to some or all of them depending on what configuration options are stored in
the file.
A summary of configuration changes follows.
* The ActiveBackground and ActiveForeground tags have been replaced by
Background and Foreground under the Active tag. This applies to TrayStyle,
TaskListStyle, TrayButtonStyle, PagerStyle, and MenuStyle.
* The Inactive tag under WindowStyle has been removed. The tags that used to
go within this tag now go directly under the WindowStyle tag.
* The autohide attribute in Tray now determines where the tray should be
hidden (left, right, top, bottom, or off) instead of true or false.
* Now actions in the Clock tag must be prefixed with exec: to run an external
program.
See the configuration documentation for documentation on all configuration
options.
Bug Fixes
* ICCCM 2.0 WM_S selection compliance (patch from Brian Bidulock).
* Fixed client window position after maximize/restore (issue #115, patch from
Biran Bidulock).
* Fixed window mapping bug with show desktop (issue #114).
* Give focus to the top-most window after show desktop (issue #64).
* Fix uninitialized memory when loading images (patch from Brian Bidulock).
* Fix overlapping string issue with FriBidi (patch from Brian Bidulock).
* Fixed non-UTF8 locales (issue #56).
* Fixed transparency issue with some applications (issue #130).
* Fixed focus after key events (patch from Brian Bidulock).
* Fixed loss of focus after restoring windows (issue #131).
* Fix setting of _NET_WM_STATE_HIDDEN when a window is minimized (issue #133,
patch from Brian Bidulock).
* Grab input focus at startup if not already set (issue #148).
Updated Translations
* Russian (Aleksandr Samusenko)
* French (Pierrick)
* Italian (Flavio aka Man from Mars)
* Spanish (Pablo Lezaeta)
Changes in 2.3.1 (20150628)
* Added an option to group windows by class in the task bar. (the group
attribute of the TrayStyle tag).
* Fixed an issue with menus showing up across monitors when Xinerama is
enabled.
* Added the ability to show Motif-style handles on windows (the decorations
attribute of WindowStyle).
* Fixed an issue where the next/prev key bindings would not advance past a
window that does not accept input focus.
* Fixed the behavior of the Include tag within menus so that it no longer
creates a submenu.
* Menus included using Include are no longer loaded each time the menu is
accessed.
* Added a Dynamic submenu that will re-load its menu contents each time it is
accessed.
Changes in 2.3.2 (20150913)
* Restored the ability to specifiy that windows should not have an icon
(using the "icon:" group option).
* JWM will now try several common extensions when loading icons.
* Fixed the height and default label for dynamic menus (issue #188).
* Improved handling of colormaps for pseudo-color displays.
* Fixed handling of WM_STATE on big-endian machines.
* Fixed an issue with menus getting stuck open.
* Removed the TaskListStyle, TrayButtonStyle, and ClockStyle configuration
options. These options are now set from TrayStyle.
* Added the Hungarian translation (from Hermit).
* Added the ability to give a 3D look to menus and trays by specifying
decorations="motif" in MenuStyle and TrayStyle respectively.
* Fixed an issue where JWM key bindings would not be available to
applications (issue #201).
* JWM now highlights the first menu item when opening a menu with the
keyboard (issue #102).
* Add the ability to selectively enable popups (issue #189).
* Various other fixes.
Changes in 2.3.3 (20151118)
* JWM windows now set _NET_WM_WINDOW_TYPE (issue #223).
* Added the Chinese translation (from Christopher Meng).
* Added the height attribute to TaskList (issue #227).
* Fixed tray button mouse bindings for the scroll wheel buttons (issue #229).
* Added the restore key binding (issue #233).
* Made middle-click on a task list item close the window (issue #232).
* Added support for tooltips in menus (issue #111).
* Added Portuguese (Brazil) translation (from Holmes).
* Fixed an issue where the dock would change size if its size was not
explicitly set (issue #238).
* Fixed the height calculation of vertical trays (issue #228).
Changes in 2.3.4 (20151122)
* Now a negative tray width/height can be specified to subtract from the
screen width/height (issue #250).
* Added the list configuration option to TrayStyle to allow displaying
windows from all desktops (all) or only the current desktop (the default,
desktop) in task lists.
* Improved scaling of JPEG and SVG images (issue #253).
* Fixed the rendering of fixed-aspect background images.
* Added the drag group option (issue #235).
* Fixed rendering of window borders without a title bar.
The find-prefix infrastructure was required in a pkgviews world where
packages installed from pkgsrc could have different installation
prefixes, and this was a way for a dependency prefix to be determined.
Now that pkgviews has been removed there is no longer any need for the
overhead of this infrastructure. Instead we use BUILDLINK_PREFIX.pkg
for dependencies pulled in via buildlink, or LOCALBASE/PREFIX where the
dependency is coming from pkgsrc.
Provides a reasonable performance win due to the reduction of `pkg_info
-qp` calls, some of which were redundant anyway as they were duplicating
the same information provided by BUILDLINK_PREFIX.pkg.
Pkgsrc changes:
* Add a bugfix patch for an LP64 problem in the X11 protocol handling, from
FreeBSD ports tree
* Add a patch to complete initialization of pointers, also from FreeBSD
* Add dependency on libXft, it appears to be required
Upstream changes:
* Add sendToPreviousWorkspace and sendToNextWorkspace functions
* Add new config option: followWindowOnSend, allows bbkeys to change
workspace to the space it just sent a window to
* Fix for underquoted definitions in configure.ac
* Fix annoying behaviour when cycling through windows on all workspaces,
no longer flip workspace when doing this
* Add config option includeIconifiedWindowsInCycle to include iconified
windows in window cycling list
Changes:
Features:
- Now uses Xft for font rendering by default with fallback-font
support, this also allows anti-aliased fonts and such.
The font string matching will be different, check out
http://www.freedesktop.org/software/fontconfig/fontconfig-user.html
for the font string syntax, huge thanks to Eric Pruitt and the other
people who worked on the dwm-xft patch (previously on the wiki).
- Uses a shared libdraw codebase (also used for dmenu right now).
- _NET_ACTIVE_WINDOW improvements (Andreas Amanns).
- _NET_CLIENT_LIST support (Andreas Amanns).
- Spawn dmenu on the selected monitor in dwm (dmenu -m option).
- Use st as default terminal from now on (used to be xterm).
Notable fixes:
- Barwin memory leak fix (Eckehard Berns).
- Drw_text width check fix (Jochen).
- Setfullscreen: don't process the property twice (Quentin Rameau,
Markus Teich).
- Smoother resizing of floating windows (capped at 60fps), (Hiltjo).
- Unfocus on slow sloppy monitor focus (Connor Lane Smith).
Build improvements:
- config.mk: add $FREETYPELIBS and $FREETYPEINC, simpler to override
(ports and *BSDs).
Changes to i3 mentioned in the release notes:
Keyboard binding handling has been made more correct, for details see:
bf3cd41b5d
Changes:
* docs/debugging: provide instructions on how to debug i3bar
* docs/debugging: added a note about sensitive data
* docs/userguide: add a note to both "exec"s about semicolon and comma
* docs/userguide: quoted strings need to be used, escaping isn't possible
* docs/userguide: make syntax of syntax descriptions consistent
* docs/userguide: recommend "exec exec" for correct signal handling
* docs/userguide: explain i3-config-wizard's behavior
* i3-nagbar: open on the primary screen
* i3-config-wizard: respect XDG config directories
* i3-input: position i3-input at window with input focus
* i3bar: use a reasonable default sep_block_width if a separator_symbol is given
* i3bar: add binding mode indicator
* i3bar: add bindsym command (deprecates wheel_{up,down}_cmd)
* i3bar: make tray padding configurable
* makefiles: respect EXEC_PREFIX and PKG_CONFIG
* added a --toggle switch to mark: "mark [--toggle] <mark>"
* added "focus_on_window_activation" directive
* added "no_focus" directive
* added "move [container|window] [to] mark <str>" command
* added "move [window|container] [to] position mouse|cursor|pointer" command
* added "title_format" command
* added "resize set [width] [height]" command
* added "sticky" command (for floating containers)
* added "workspace" criterion
* added "window_type" criterion
* make center coordinates relative to current workspace
* draw marks in window decoration (configure with show_marks)
* only mark a window if only one window is matched
* make floating window mouse handling consistent with tiled windows
* add a --border flag to enable mouse binds to trigger on border click
* set the _NET_WM_STATE_HIDDEN atom on windows that are currently not visible
due to being in the non-focused tab of a stacked or tabbed container
* ignore InputHint when not in WM_HINTS
* display which config is used in i3 --moreversion
* support config file line continuation
* use WM_SIZE_HINTS when present to set the geometry of floating windows
* add "tray_output primary" to the default config
* use libxkbcommon for translating keysyms, support all XKB groups
* support special value "__focused__" in criteria
* support _NET_WM_VISIBLE_NAME
* make sure borders are never counted as adjacent to the edge for floating
containers
* support moving dock clients to another output
* let "focus" report success depending on whether a window was matched
* handle _NET_WM_STATE_STICKY (for floating containers)
* make "debuglog on" command persist over restarts
* randr: use root window in case of no randr outputs
* set proper WM_CLASS on frame windows
Bugfixes:
* i3bar: only detect clicks within the statusline width
* i3bar: fix flickering shortened status bar on other output(s)
* i3bar: send custom-defined command upon click on the non-statusline part of
i3bar even if workspace_buttons is set to "no".
* i3-config-wizard: Make window size and click coordinates dependent on font
* i3-save-tree: retain "rect" for floating cons
* move urgency hint when moving container
* fix percents when attaching a window to a ws creates a new split con
* cope with non-null-terminated x class properties
* get workspace name when renaming current workspace
* allow single-child non-default layout cons to be moved between outputs
* allow --whole-window right after 'bindsym' within binding modes
* remove windows from the save set when unmapping (fixes problems with e.g.
owncloud when restarting i3)
* serialize con_id with %p in run_binding()
* initialize workspace rect to the output's upon creation
* mkdirp: do not throw an error if directory exists
* grab all buttons when managing a window to also allow 'bindsym
--whole-window button4 ...' to work correctly
* properly clear the urgency hint when set by i3
* layout restore: load floating containers correctly
* layout restore: remove remaining criteria when swallowing window
* layout restore: When appending a layout containing a marked container, make
sure that any other containers with the same mark are unmarked during
insertion of the new container.
* use the EWMH support window rather than the root window as an input
focus fallback
* use the focused container to determine the target window_mode when using
floating mode_toggle
Problems found with existing distfiles:
distfiles/fvwm-1.24r.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
quartz-wm is the window manager used by XQuartz to bring an OS X-like
experience to X11 applications. It makes use of the AppleWM X11 protocol
extension to have libXplugin within XQuartz render window decoration on its
behalf and handles basic wm functionality as described by the ICCCM.
Release notes:
Bugfixes:
* serialize con_id with %p in run_binding() (For FreeBSD)
* ignore InputHint when not in WM_HINTS (fixes e.g. mupdf focus)
* disable physically disconnect RandR outputs
* initialize workspace rect to the output's upon creation
* userguide: quoted strings need to be used, escaping isn’t possible
* mkdirp: do not throw an error if directory exists (fixes layout loss for
in-place restarts)
* i3bar: fix freeing static strings
Version 1.1.1, Mon Jul 13 2015
* Revert client lowering behaviour from 1.1.0. Also fixes a build error
when virtual desktops are disabled.
* Change default to not warp pointer.
* Don't automatically focus notification windows.
* Don't automatically focus dock windows.
* Changes since 1.4.7
This is mostly a bugfix release.
** fix cmd_sfdump with multiple screens
Broken since last release, from Joshua Leners.
** respect --enable-history=no
From Jeroen Roovers (jer@gentoo).
** fix for sloppy.c
The ugly sloppy.c had "a bug". It may be fixed now.
** README improvements
From Jeff Abrahamson.
* Changes since 1.4.6
** More fixes and code cleanup.
** UTF-8 editing support in the input bar
** get rid of "XGetWMName failed" spam on stderr
Introduced in the previous release, sorry!
** groups can now be renumbered (`gnumber')
** contrib/rpdate.sh, fancy calendar shell script to use instead of `time'
** fix `meta', which was sending garbage and made firefox unusable
** handle errors about missing config files
- ratpoison -f missing-config-file -> error
- unreadable ~/.ratpoisonrc file -> warning
** respect --sysconfdir for the global ratpoisonrc file
Rather than a hardcoded /etc/ratpoisonrc location.
** rpws gains a new `current' command (prints the current workspace)
** new manpage, mdoc(7) formatted
** X socket closed before spawning processes
Let's save those precious file descriptors.
** DWIM windows/groups names matching
Window and group names are first looked up for exact match; in last
resort a fuzzy match is attempted.
** try to cope with unset/empty HOME env. variable
** ratpoison.el is now installed at the proper location
ie. in $prefix/share/emacs/site-lisp/
** ratpoison now restricts permissions on your history file
* Changes since 1.4.5
** *Lots* of reliability fixes in ratpoison itself
Please check out the ChangeLog for more details.
** Build process cleanup
e.g. detection of getline() was fixed, build is ok with old gcc's (2.95)
** ratpoison -c now reports errors ($? != 0)
** UTF-8 text is now printed correctly
Both with and without Xft support.
** contrib/ cleanup
Scripts should be more portable, ruby bindings work with newer ruby versions.
** New newwindow and titlechanged hooks
** Functionality was added to rpws
It can now move windows to other workspaces; workspaces can be dumped and
restored.
Highlights include:
* Travis continuous integration
* Better lua autodetection (thanks to Nikolay Orlyuk)
* Various code consistency changes
* Fixing p2 variable scopes in xkbevents handler (thanks to Jon Canning)
* Fixing resizing of dock windows managed by mod_statusbar (thanks
to Edward J. Schwartz)
A fast floating WM, with the particularity of having 2 borders,
written over the XCB library and derived from mcwm written by
Michael Cardell. In 2bWM everything is accessible from the keyboard
but a pointing device can be used for move, resize and raise/lower.
* Added various new abilities to If action, including the <query> tag,
matching class, name, role and window type.
* Added ForEach action.
* Restore the <center> option for window placement.
* New GrowToFill action.
* Updated Portuguese and Polish translations.
* New Galician translation.
* Added strict option to ToggleShowDesktop action.
* Speed optimization in rendering code.
* New <position> tag for ShowMenu action allows placing menus other
than at the mouse cursor.
* Fix some corner cases of relative position to work correctly.
* Allow specifying multiple mousebinds in one tag as we already do
for keybinds (separated by spaces, as "W-Return M-S-F3" for example).
* Added option rebindOnMappingNotify option, on by default, which
controls if we update binds when the keyboard layout changes at runtime.
* The resize action now only considers the part of the client that is onscreen
for purposes of picking an action to perform.
* Make desktop actions non-interactive (means you can have more actions bound
to a key after them, and the dialog disappears on a timer instead of when
releasing the modifier keys).
* obxprop is now not pathologically slow when printing very long arrays.
* Fix menu accelerator underlines sometimes not showing up.
* Fix so you can click menu entries before the menuHideDelay expires if it's
a new click.
* Don't readd the X event fd to the poll set every time we reconfigure.
* Fix some specialized button bitmaps not loading from the correct files.
(toggled + pressed or hover would just be the base toggled image).
* Various small bugfixes.
Changes mentioned in the release notes:
* Cope with non-null-terminated x class properties.
* Get workspace name when renaming current workspace (fixes crash).
* Use a reasonable default sep_block_width if a separator_symbol is given.
* Remove windows from the save set when unmapping.
This is a very large change, and incorporates the 4.8, 4.10, and 4.12 major
Xfce releases since 4.6.2, our previous pkgsrc release. For more information
about the thousands of changes in each major release since then, please see:
Xfce 4.12 announcement:
http://www.xfce.org/about/news
Xfce 4.12 tour:
http://www.xfce.org/about/tour
Xfce 4.10 announcement:
http://www.xfce.org/about/news/?post=1335571200
Xfce 4.10 tour:
http://www.xfce.org/about/tour410
Xfce 4.8 announcement:
http://www.xfce.org/about/news/?post=1295136000
Xfce 4.8 tour:
http://www.xfce.org/about/tour48
The pkgsrc changes since then are:
New packages:
archivers/xfce4-thunar-archive
graphics/elementary-xfce-icon-theme
mail/xfce4-mailwatch-plugin
misc/xfce4-time-out-plugin
multimedia/xfce4-thunar-media-tags
sysutils/xfce4-mount-plugin
sysutils/xfce4-taskmanager
sysutils/xfce4-thunar-vcs
sysutils/xfce4-verve-plugin
x11/xfce4-garcon
x11/xfce4-notifyd
x11/xfce4-tumbler
x11/xfce4-whiskermenu-plugin
Renamed packages:
devel/xfconf to devel/xfce4-conf
x11/libxfce4menu to x11/libxfce4ui
x11/xfce4-screenshooter-plugin to x11/xfce4-screenshooter
Updated packages:
audio/xfce4-mixer
audio/xfce4-xmms-plugin
devel/xfce4-dev-tools
editors/xfce4-mousepad
graphics/ristretto
meta-pkgs/xfce4-extras
meta-pkgs/xfce4
misc/xfce4-weather-plugin
multimedia/xfce4-mpc-plugin
net/xfce4-wavelan-plugin
sysutils/xfce4-appfinder
sysutils/xfce4-battery-plugin
sysutils/xfce4-cpugraph-plugin
sysutils/xfce4-diskperf-plugin
sysutils/xfce4-fsguard-plugin
sysutils/xfce4-genmon-plugin
sysutils/xfce4-netload-plugin
sysutils/xfce4-quicklauncher-plugin
sysutils/xfce4-systemload-plugin
sysutils/xfce4-thunar
sysutils/xfce4-xarchiver
sysutils/xfce4-xkb-plugin
textproc/xfce4-dict-plugin
time/xfce4-datetime-plugin
time/xfce4-orage
time/xfce4-timer-plugin
wm/xfce4-wm-themes
wm/xfce4-wm
x11/libxfce4gui
x11/libxfce4util
x11/xfce4-clipman-plugin
x11/xfce4-desktop
x11/xfce4-exo
x11/xfce4-eyes-plugin
x11/xfce4-gtk2-engine
x11/xfce4-notes-plugin
x11/xfce4-panel
x11/xfce4-places-plugin
x11/xfce4-session
x11/xfce4-settings
x11/xfce4-terminal
Removed packages:
sysutils/xfce4-volman
x11/xfce4-utils
This is based on a huge amount of work by the NetBSDfr team and Youri Mouton,
who takes over as MAINTAINER, and has been tested by Youri on a large number
of platforms prior to commit. A massive thanks to them. Any issues with the
import are mine alone as the committer-by-proxy.
Alan Coopersmith (5):
configure: Drop AM_MAINTAINER_MODE
autogen.sh: Honor NOCONFIGURE=1
Only use results from GetWindowProperty if it returned success
Remove custom version of system(3c) for Solaris
twm 1.0.9
Gaetan Nadon (1):
config: replace deprecated use of AC_OUTPUT with AC_CONFIG_FILES
Laurent Carlier (1):
Update manpage with the proper location of system.twmrc file
Remove do-install and use post-install for the files not
installed by the install from the package.
Changelog:
Changes in i3 v4.10.1
* i3bar: cut long statuslines from the left
* i3bar: add support for the short_text property
* i3-sensible-terminal: launch i3-nagbar when no terminal is found
* i3-config-wizard: switch modifier on key up/down
* docs/layout-saving: added a troubleshooting section
* docs: degender all the terms
* Revert "Workspace command number selection"
* don't parse blocks as markup by default
* Allow escaping backslashes in commands.
* switch default font from "DejaVu Sans Mono 8" to "monospace 8", which is
typically a synonym, except for users who prefer a different font.
* When renaming a workspace, look for assignments and move the renamed
workspace to the appropriate output.
* i3-save-tree: make --workspace optional by defaulting to the focused
workspace
* Allow nop command without argument
Bugfixes
* i3bar: buffer the statusline to avoid flickering
* i3bar: fix click events for workspace buttons with long statusline
* i3bar: set correct initial position when reconfiguring
* i3bar: reconfigure strut partial on reload
* i3-nagbar: fix sizes/positioning on hi-dpi displays
* i3-config-wizard: fix sizes/positioning on hi-dpi displays
* i3-input: fix sizes/positioning on hi-dpi displays
* Fix scrolling in window decoration with hidden cursor.
* workspace rename focus mismatch
* Don't overwrite border width when already set (placeholders).
* fix a segfault during config file validation
* Restore placeholder windows after restarting.
* Don't focus placeholder windows.
Changes in v4.9.1
Bugfixes
* i3bar: fix incorrect y-offset for text
* fix key bindings on big-endian platforms
* fix key bindings using Mode_switch
* fix keyboard layout change detection
* revert "Handle WM_CHANGE_STATE requests for iconic state" (fixes problems
with application windows disappearing, like SDL-based games when switching
workspaces)
* insert id-based match at HEAD, not TAIL (fixes window swallowing not
working when the criteria match the placeholder window)
* improve error messages on failing commands
* replace ~ in filepath when calling append_layout
* properly error out when the layout file cannot be read
Changes in v4.9
* docs/ipc: use an actual event type
* docs/debugging: use logs.i3wm.org
* docs/testsuite: add hint to use xvfb-run
* testcases: use Xephyr instead of XDummy
* i3-sensible-*: use command -v (built-in) instead of which(1)
* i3.xsession.desktop: set DesktopNames (which gdm uses)
* i3-save-tree: interpret commandline parameters as utf-8
* i3-save-tree: add 'mark' as allowed key to i3-save-tree output
* i3bar-protocol: ensure align = left is the default
* i3bar: implement custom mouse wheel commands
* i3bar: improve error message when a full_text property is missing
* i3bar: respect the urgency flag on status blocks
* i3bar: inset the urgent background of a status block for consistency with
workspace buttons
* i3bar: suspend the child when bars are fully obscured
* i3bar: use Pango markup
* ipc: implement the window::close event
* ipc: implement the window::move event
* ipc: implement the window::floating event
* ipc: implement the window::urgent event
* ipc: set ws reply "num" member to -1 when named
* ipc: add deco_rect property to con in ipc response
* ipc: include workspace con in workspace event
* ewmh: implement property _NET_NUMBER_OF_DESKTOPS
* ewmh: implement property _NET_DESKTOP_VIEWPORT
* ewmh: implement property _NET_DESKTOP_NAMES
* ewmh: handle _NET_CURRENT_DESKTOP requests
* ewmh: handle _NET_CLOSE_WINDOW requests
* ewmh: handle _NET_WM_MOVERESIZE requests
* implement mouse bindings (e.g. bindsym button3 kill)
* add mouse binding --whole-window flag
* add mouse binding --release flag
* switch to xcb-xkb and libxkbcommon, removing our last direct Xlib dep
* make "move [direction]" work with criteria
* make "move <window|container> to <absolute> position" work with criteria
* "workspace <n>" and "move to workspace <n>" now look for a workspace
starting with number <n> (unless there is a workspace exactly matching that
number). I.e., "workspace 4" will go to a workspace called ": www" unless
you have a workspace "4"
* "focus <direction>" now focuses floating containers when there are no
tiling containers on the destination output
* take the motif border into account when calculating floating window
geometry
* revert "Disable pointer warps when focus_follows_mouse is disabled" as it
was unexpected by a number of users. Sorry for the back-and-forth
* handle WM_CLASS changes
* raise floating windows on "focus <direction>"
* align lower line of bar decoration to border width
* parse tray_output as a word, not string
* allow to validate the config file without X
* do not resend focus on click, fixes compatibility problems with some wine
or mono apps (e.g. Office 2010)
* don't draw borders wider than actual width
* prevent workspace change during global fullscreen
* extend the fullscreen command (fullscreen <enable|toggle|disable> [global])
* fix start_application() doc about which shell is used
Bugfixes
* i3-dmenu-desktop: quote path
* i3bar: fix a double free when changing color configuration
* i3bar: render bars after the first chunk of JSON
* i3bar: add a sync call to confirm reparents before exiting (fixes tray
restart issues)
* i3bar: correctly calculate clicks on i3bar status blocks
* i3bar: make click events on status blocks work with 'workspace_buttons no'
* retina support: convert logical to physical pixels for default_border_width
* retina support: treat everything up to 120 dpi as 96 dpi
* don't set input focus if not accepted (fixes problems with xfce4-notifyd)
* don't focus unmapped container on manage
* create the directory for storing the restart state
* avoid changing border width when changing containers from tiling to
floating
* layout saving: properly restore workspace containers
* rerender the decoration when the container requires a pixmap and doesn't
have one
* don't set focus in con_set_layout() on invisible workspaces
* properly handle windows unsetting WM_TRANSIENT_FOR
* use the command parser to properly extract workspace names
* copy binding before run (fixes reloads)
* revert "Bugfix: Set input focus with last timestamp"
* render floating windows during global fullscreen
* actually parse client.placeholder
* Window Maker can now load WebP images and support ImageMagick library to support even more formats like SVG, BMP, TGA, ...
* Add mini-window apercu , a small preview of window contents
* Support for up to 9-buttons mouse added
* Many configuration options added to WPrefs.app
* Add wmiv, an image viewer application
* Bug fixes and code cleanups by various people.
packaged for wip by degroote.
Third party tiling algorithms, configurations and scripts to xmonad,
a tiling window manager for X.
For an introduction to building, configuring and using xmonad
extensions, see "XMonad.Doc". In particular:
"XMonad.Doc.Configuring", a guide to configuring xmonad
"XMonad.Doc.Extending", using the contributed extensions library
"XMonad.Doc.Developing", introduction to xmonad internals and writing
your own extensions.
Important changes since 4.7:
- layout saving / restoring
- proper handling of DPI
- improve compatibility with other softwares (java-based, or external
pagers)
- fix several memory leaks
Fix segfault when loading "layout" with non-zero parameters.
This affected multi-region. stack() must be called after the region bars
are created.
Fix layout entry in man page.
Improve stacking for windows with multiple transients.
Fix hang in fullscreen layout when a window has multiple transients.
Fix focus_(prev|next) for windows with multiple transients.
Add a missing queue.h macro to Linux util.h.
Set stacking order when setting up a new status bar.
Fixes stacking issues that can arise on a randr screenchange event.
Fix segfault in fullscreen layout when a window with transient(s) unmap.
Add default maximize_toggle binding to man page.
Add clarification for the 'name' option to man page.
Remove stray new paragraph macro in man page.
Based on maintainer update request per PR pkg/48820.
From CHANGES:
Changes from version 3.8.1 to 3.8.2
2014-??-??
-----------------------------------
1 - Various code cleanups.
Cleanup re: raising and warping to windows (previous location of
pointer in windows), SaveWorkspaceFocus. A few extra NULL
pointer checks.
Logical hasfocusvisible cleanup.
Rename TwmWindow.list to iconmanagerlist, and various smaller
cleanups.
Eliminated TwmWindow TwmRoot from struct ScreenInfo. Mostly a
mechanical change.
I found some cases where the dummy TwmWindow was apparently
mistakenly included in a loop. Replaced .next with TwmWindow
*FirstWindow and .cmaps witn Colormaps RootColormaps. Other
members were not used.
2 - Fix a bug where insufficient validation of the size hints
resulted in a division by zero when considering aspect ratio.
3 - Lots of minor compiler warnings and build fixes, a few of which
were real current or latent bugs. Leave warnings enabled by
default. A few of the build system adjustments may break very
old systems (e.g., those with original AT&T yacc).
4 - Fix incorrect inclusion of $DESTDIR in some paths.
5 - Update for new website and mailing list at ctwm.org.
6 - Look at _MOTIF_WM_HINTS for titlebar-less or border-less
windows.
Changes from Relase Notes page:
http://www.joewing.net/projects/jwm/release-2.2.shtml
Changes in 2.2.1
* JWM no longer waits for an X11 event when exiting. This fixes an issue
where Control+C didn't cause JWM to exit immediately (issue #104).
* Fixed a crash if a window went away while a JWM confirm dialog was active
for the window.
* Fixed some issues related to aspect ratios (issue #106).
* Fixed handling of window gravity for _NET_MOVERESIZE_WINDOW.
* Added support for XBM icons (issue #107).
* Fixed an issue with resizing of dock icons.
* Fixed an issue with command line argument parsing.
Changes in 2.2.2
* More efficient handling of gradient backgrounds.
* Fixed an issue _NET_WM_STATE not being updated (issue #109).
* Improved the performance of moving/resizing windows.
* Made it possible to switch desktops immediately while dragging a window if
mod1 is pressed (issue #12).
* Fixed an issue with windows mapping behind other windows (issue #110).
* Fixed an issue where JWM would attempt to process the last X event multiple
times before exiting or restarting.
* Made newer desktop background settings override older settings.
* Fixed a memory leak with invalid configuration files.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
* Improvement: 'windows' key is now the default META key (thanks to Dima
Kogan)
* Bugfix: seldomly triggered crash in memory pool (thanks to Matthieu Moy)
* Bugfix: save the session atomically (thanks to Matthias Lederhofer)
* Bugfix: various fixes to contributed scripts, notably more lua5.2 support
(thanks to several contributors)
* Improvement: various code cleanups (thanks to Campbell Barton)
* Improvement: various build/packaging improvements (thanks to Dima Kogan)
* Feature: Workspace indicator (thanks to Dima Kogan)
* Feature: Delayed population of the focuslist (thanks to Dima Kogan)
* Improvement: improved kludges/focus behavior (IntelliJ IDEA, xeyes)
* Improvement: expose 'warp_pointer' to lua
* Improvement: lock using i3lock when available
packaged for wip by esg.
xmonad is a tiling window manager for X. Windows are arranged
automatically to tile the screen without gaps or overlap, maximising
screen use. All features of the window manager are accessible from
the keyboard: a mouse is strictly optional. xmonad is written and
extensible in Haskell. Custom layout algorithms, and other
extensions, may be written by the user in config files. Layouts are
applied dynamically, and different layouts may be used on each
workspace. Xinerama is fully supported, allowing windows to be tiled
on several screens.
(Perhaps (re?)compiling the .lc files would work, but it's not done by
the normal build, and then there are errors about binaries for other
lua versions.)
Bump PKGREVISION.
Changes since 4.6
v 4.7.2
• install i3-with-shmlog.xsession.desktop to the correct location
• OpenBSD currently lacks posix_fallocate()
v 4.7.1
• docs/debugging: explain how to enable logging on the fly
• docs/debugging: small cleanups (versions, bzip2)
• add i3-with-shmlog.xsession.desktop
• only LOG() the DPI when it changes, DLOG() it otherwise
• make “move <direction>” properly send workspace focus event
• i3bar: set mapped flag on trayclient creation
• i3bar: don’t show EOF status line error in favor of exit code
v 4.7.0
• docs/userguide: clarify variable parsing
• docs/userguide: clarify urgent_workspace
• docs/userguide: add proper quoting for rename sample command
• docs/userguide: clarify multiple criteria
• docs/userguide: userguide: explain the difference between comma and semicolon for command chaining
• docs/hacking-howto: update to reflect parser changes
• man/i3-dump-log: document -f
• switch from libXcursor to xcb-util-cursor
• Respect workspace numbers when looking for a free workspace name
• Revert "raise fullscreen windows on top of all other X11 windows"
• i3bar: Create pixmaps using the real bar height, rather than screen height
• Add scratchpad bindings to the default config
• Close all children when closing a workspace
• i3bar: Add new bar.binding_mode_indicator configuration
• Improve error message when $XDG_RUNTIME_DIR is not writable
• libi3/font: Draw the text at the expected place
• libi3/font: Set DPI for the pango context
• Add ability to escape out of a mouse-resize operation
• Do not resize/reposition floating containers when moving them to scratchpad
• i3-nagbar: Set button inner-width to the width of the label
• Assigned windows open urgent when not visible
• i3bar: Only configure tray on own outputs
• Command 'move <direction>' moves across outputs
• i3bar: Handle DestroyNotify events
• i3bar: Realign tray clients on map/unmap notify
• i3bar: Group child processes for signalling
• i3bar: Print error message when status_command fails
• Remove references to PATH_MAX macro for GNU/Hurd
• update root geometry on output changes for “fullscreen global”
• don’t flatten tabbed/stacked containers
• Fix handling of new windows with WM_STATE_FULLSCREEN
• correctly recognize assigned windows as urgent
• Fix keyboard and mouse resize in nested containers
• Reply to _NET_REQUEST_FRAME_EXTENTS correctly
• Fix command parser: resizing tiling windows
• Fix output retrieval for floating cons
• Use _PATH_BSHELL to ensure using a bourne shell
• Instead of crashing, return DRAG_ABORT on UnmapNotify from drag_pointer
• Remove-child callback skips output content cons
• ignore _NET_ACTIVE_WINDOW for scratchpad windows
Emmanuel Lepage Vallee (2):
Move 'surface_size' to gears.surface and make it public
Make sure gears.color.create_png_pattern are being repeated
Tin Benjamin Matuka (1):
Allow reversing the icon order in systray
Uli Schlachter (7):
imagebox: Don't try to scale by infinite (FS#1248)
gears.color: Handle nil arguments correctly again
naughty: Don't use the cache when loading icons (FS#1253)
gears.surface: Handle the cache more intelligently
awful.tag.move: Fix tag index setting
awful.tag.setscreen: Check if old_screen == new_screen
change codename again
v3.5.4:
Uli Schlachter (8):
gears.surface: Cache files from disk
gears.color: Add a pattern cache
awful.tooltip: Small reorganization
awful.tooltip: Add (and use) :set_markup() function
systray: Don't set WM_STATE on embedded windows (FS#1246)
Revert "root: Make sure cairo doesn't cache our temporary connection" (FS#1245)
wibox.drawable: Assert that no cairo error occurred
change codename
v3.5.3:
Björn Åström (1):
drawable: Support for true transparency (FS#1210)
Campbell Barton (1):
Remove raise call from mouse.client.move
Daniel Hahler (14):
Do not raise clients in client_manage
Add a "deep" option to awful.util.table.clone
Fallback to comparing layout names in awful.layout.inc
Add client.maximized (a shortcut for ~_horizontal and ~_vertical)
Minor doc fixes
awful.rules: add does_match and matching_rules functions (FS#1224)
Factor `awful.rules.apply_do` out of `apply`
Only set client's urgent after startup
Set c.screen in ewmh.tag and before tags in rules.execute
Expand '~' in the path for beautiful.init
Drop focus:raise() in magnifier.arrange
Set c.screen in ewmh.tag and before tags in rules.execute
Add and improve some comments to awesomerc.lua
Fix the call to tag.history.restore from tag.delete
Emmanuel Lepage Vallee (2):
Add end to end support for spawning tracking using startup notifications
Fix tag screen switching
Enrico Scholz (1):
menu: do not double escape name in 'menu:clients()' (FS#1202)
Fabienne Ducroquet (1):
layouts: spiral: Avoid gaps between windows
Jan Larres (1):
taglist: Add [bg|fg]_empty
Massimiliano Brocchini (3):
prompt: fix search term ctrl+up/ctrl+down when starting from existing entries
prompt: search in prompt history using exact string match
prompt: CTRL+DELETE deletes history entries
Rocco Aliberti (3):
awesomerc: Fix set menu clients width (FS#1200)
awful.menu.clients: Remove useless line (FS#1200)
wibox.layout.margin: Add margins color parameter
Uli Schlachter (71):
luadoc: Document screen outputs
Print libxcb error codes for broken connections
tasklist: Add default colors for broken themes
Really ignore loops in transient_for (FS#1124)
awful.tag.delete: Deactivate tags
awful.menu: Add missing "local" declaration
menubar: Fix API docs
awful.tag.viewmore: Make screen optional (FS#1203)
Finish C-side support for window shapes (FS#1051)
awful.menu.clients: Fix API (FS#1200)
naughty: fix ldoc
Add awesome.composite_manager_running
wibox.drawable: Cache the wallpaper
client: Add c.blob property
Improve the check for another window manager
Update the luadoc for the C API
client: Add request::activate signal (FS#848)
awful.ewmh: Correctly handle bw change for maximized clients
client: Emit property::screen after geometry
awful.ewmh: Enforce client geometry (FS#764,FS#1216)
root.wallpaper: Cleanup and correctness fixes
Revert "awful.ewmh: Enforce client geometry (FS#764,FS#1216)"
mouse.screen: Lie when we have no clue where the pointer is
Measure the time a main loop iteration takes
Update fields for capi.awesome in C comment
Improve fatal signal handling
awful.util.spawn*: Remove obsolete screen argument
Make objects properly inherit signals from classes
Add awesome.register_xproperty (FS#1212)
Revert "client: Add c.blob property"
Fix handling of _NET_CURRENT_DESKTOP messages (FS#1219,FS#1217)
xproperty: Don't limit property lengths
spawn: Don't try to spawn with empty argv (FS#1225)
awesome.spawn(): Check table arguments better
spawn: Remove useless argv[0] calculation
drawin: Inline drawin_init() into its only caller
drawin: Don't unconditionally redraw when made visible
awful.tooltip: Work with all gears.colors as foreground
drawin: Only redraw on move with translucent background
Redraw titlebars more intelligently
Fix cairo surface memory leak
drawable: Add pixmap member
root: Make sure cairo doesn't cache our temporary connection
Add awesome.startup
awful.client.movetoscreen: Don't untag clients completely (FS#1196)
ewmh: Factor out common code into a helper function
EWMH: Ignore invalid _NET_WM_DESKTOP
ewmh: Use client_set_sticky() for making clients sticky
EWMH: Handle _NET_WM_DESKTOP in lua
Drawable: Ignore exposes when we have nothing to draw
Fixup indentation
Bump minimum lgi dependency to 0.7.0
awful.rules: Emit request::activate on the client
luaa: Remove lots of unused code
awful.client: Add marked and unmarked signals (FS#1227)
imagebox: Avoid division by zero
wibox.layout.base.fit_widget: Enforce sane width and height
window: Factor out helper functions for xproperties
awesome: Add get_* and set_xproperty
xproperty: Emit on "awesome" for root window properties
rc.lua: Raise all clients by default (regression, FS#1234)
Make debug::index::miss and newindex work on classes and all objects
awesome.startup_errors: Never emit debug::index::miss
beautiful: Don't use non-existant API
gears.color.create_opaque_pattern: Fix for SurfacePatterns (FS#1236)
drawin: Correctly add property::shape_* signals
Revert "Set c.screen in ewmh.tag and before tags in rules.execute"
Revert "awful.client.movetoscreen: Don't untag clients completely (FS#1196)"
awful.tag.withcurrent: Try harder at finding a tag (FS#1196)
Ignore enter/leave events when unmanaging a window (FS#1239)
change codename
heithe (1):
Add awful.titlebar.widget.minimizebutton
v3.5.2:
Alexander Kondratev (1):
fixed#1184. Calling movetotag method throw an error on a blank screen
Björn Åström (1):
wibox.layout.fixed: Fix fill space
David Mohr (1):
Revert "client: add a limit to the loop (FS#573)"
Uli Schlachter (28):
Implement window gravity in ConfigureRequests (FS#1137)
awful.tooltip: Set the bg color correctly (FS#1148)
lua: Print traceback on startup errors
luadoc: Clients have a leader_window, not leader_id
Fix WM_CLIENT_LEADER handling
client: Ignore "fake" string property changes
wibox: Add widget geometry cache
draw: Add function for finding a visual by id
client.content: Use correct client size (FS#1150)
client.content: Return a cairo xcb surface
Stop linking against xcb-image
awful.titlebar: Add show, hide, toggle functions
Switch from libXcursor to libxcb-cursor
CMake: Look for both "ldoc" and "ldoc.lua"
Use $PATH when starting $SHELL
ewmh: remove _NET_DESKTOP_GEOMETRY support
screen: Make sure we always have a screen
Fix possible deadlock during startup
naughty: Verify image parameters coming from dbus (FS#1162)
awful.screen.focus: Don't move mouse to (0, 0) first (FS#1173)
awful.client.tiled: Ignore fullscreen (etc) clients (FS#1106)
client: Ignore transient_for causing loops (FS#1124)
screen: Fix screen equality comparison (FS#1151)
client: Don't move clients around across restarts (FS#1159)
Revert "client: Don't move clients around across restarts (FS#1159)"
event: Handle MotionNotify before ButtonPress/Release (FS#1136)
awful.tag.withcurrent: Also act on restarts (FS#1155)
change codename
kardan (1):
honor appended -c option for --check
* prevent to buildlink with pango, it will be loaded vir lua-gi.
* add buildlink with libexecinfo, it is installed as a dependency of cmake now
and found by cmake. PR pkg/48717.
* set prefix of libev more closely.
Bump PKGREVISION from dependency update.
Changes since previous version:
Fix text rendering issue in search_win.
The depth of the indicator window must match the depth of the allocated
text color. To ensure this is always the case, copy from root
instead of parent.
Ignore EnterNotify when entering from an inferior window.
Fix floating windows remaining borderless after being fullscreen.
Fix window border colors when moving windows to hidden workspaces.
Add new OBEYAPPFOCUSREQ quirk.
When an application requests focus on the window via a
_NET_ACTIVE_WINDOW client message (source indication of 1),
comply with the request.
Improve support for Extended Window Manager Hints (EWMH).
Add support for _NET_CURRENT DESKTOP, _NET_DESKTOP_NAMES,
_NET_NUMBER_OF_DESKTOPS and _NET_CLIENT_LIST.
Windows are sorted according to _NET_CLIENT_LIST at start.
Change iconify to use _NET_WM_STATE_HIDDEN instead of
_SWM_ICONIC.
Add _NET_WM_FULL_PLACEMENT to _NET_SUPPORTED.
Improve handling of _NET_WM_STATE_FULLSCREEN.
Improve general handling of EWMH.
Fix focus issues when a window maps/unmaps on an unfocused region.
Fix calls to get property length that did not adjust for item size.
Fix stacking issues.
Fix segfault.
Disable swapwin on fullscreen layout.
Remove floating property from ws_win struct.
Add new macros for accessing ewmh_flags.
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
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
* 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.
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.
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.
* 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
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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".
pkgsrc changes:
---------------
Fetch over https using curl.
Upstream changes:
-----------------
Bugs fixed
#235 "GotoClientID does not work if switch workspace." reported by Markand
and fixed by Andreas Schlick.
#286 "Funky behaviors of FocusDirectional" reported by b4283 and fixed by
Andreas Schlick.
#317 "Shape masks are defined by image alpha>50% -- sometimes this is
wrong" reported by rtollert and fixed by Andreas Schlick.
#318 "x11.cc:1005:9: erreur: #pragma GCC diagnostic not allowed inside
functions" reported and fixed by wallex.
#319 "data/scripts/Makefile breaks when building out of the source tree"
reported and fixed by Ondrej Kubecka.
#321 "DisallowedActions - Close doesn't work (0.1.16)" reported by cico and
fixed by Andreas Schlick.
#323 "Infinite loop if screen's visual is PsuedoColor" reported by Jari
Aalto and fixed by Andreas Schlick.
"x11.cc compilation error without XShape" reported by Martin Åkerström.
"Crash on empty menus after reload". Reported by Martin Åkerström and
fixed by Claes Nästén and Andreas Schlick.
Improve placement of windows skipping heads with fullscreen windows. Claes
Nästén and Andreas Schlick
User visible changes
New SetGeometry action for moving/resizing a Frame to a fixed position.
New MoveToHead action for moving a Frame between heads.
Configuration changes
Miscellaneous changes
Added pekwm_screenshot.sh that takes screenshots using scrot, ImageMagick
or xwd+netpbm. Available via the keybinding Alt + PrintScreen or the root menu.
Removed undocumented HarbourMenu (if it ever worked for you, write me :-)
inotify (enabled by default), gnome, kde{3,4}, and fuse PKG_OPTIONS.
PLIST is handled accordingly. USE_TOOLS+=xgettext msgmerge; Moved
PKG_OPTIONS in Makefile to options.mk. Fix DLLIBS using
BUILDLINK_TRANSFORM. Buildlink pango (build), dlopen, glib2,
libxml2, libXext, and libX11. From NEWS:
Release 0.8.8 (2011-03-30 Danny Baumann <dannybaumann@web.de>)
==============================================================
Maintenance release.
Various focus and stacking fixes.
Removed usages of deprecated GTK API.
Fixed drawing of switcher background with KDE4 window decorator.
Release 0.8.6 (2010-03-28 Danny Baumann <dannybaumann@web.de>)
==============================================================
Maintenance release.
Various focus and window placement fixes.
Fixed handling of windows that have a (server-drawn) border.
Fixed handling of window icons that have a colour depth of 1 bit.
Added KDE 4.4 support to KDE4 window decorator.
Changelog:
Changes from version 3.8 to 3.8.1
---------------------------------
1 - Fix bug causing [de]iconified status of windows to not be
maintained across workspaces.
[Matthew Fuller]
2 - Quite a bunch of compiler warnings.
[Matthew Fuller]
3 - Make sure we fully initialize our WorkSpaceWindow structure so
we don't try to dereference uninitialized pointers later on.
[Matthew Fuller]
4 - Increased the number of supported mouse buttons again, having
just heard of a mouse with 9 possible buttons...
[Richard Levitte]
5 - Fix a bug in the warping "next" function, where if there is a
single window and the cursor is not on it, invoking 'f.warpring
"next"' does nothing.
[Martin Blais]
6 - Introduce a new feature called "SaveWorkspaceFocus", which when
enabled, makes ctwm remember which window has the focus within
each virtual workspace. As you switch workspaces, the cursor is
automatically warped to the window previous in focus in the
workspace. This significantly reduces the amount of mouse use.
[Martin Blais]
7 - From Matthias Kretschmer <kretschm@cs.uni-bonn.de>:
f.fill patch.
Without the patch, you might get windows which are increased by
two times the border width more than it should be. Additionally
if you place a window with no/not much size contrainst like
firefox in the upper left corner and perform f.fill "top" or
f.fill "left" the size of the window will increase by two times
the border width in width and height without changing the
top-left coordinate without the patch. Of course in such a
situation the size should not change at all...
[via Olaf Seibert]
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
AppleWM is a simple library designed to interface with the Apple-WM extension.
This extension allows X window managers to better interact with
the Mac OS X Aqua user interface when running X11 in a rootless mode.
This package provides the libAppleWM library from the modular X.org
X11 project.
WindowsWM - Cygwin/X rootless window management extension.
WindowsWM is a simple library designed to interface with the Windows-WM
extension. This extension allows X window managers to better interact with the
Cygwin XWin server when running X11 in a rootless mode.
This module provides the definition of the WindowsWM extension to the X11
protocol, used for coordination between an X11 server and the Microsoft Windows
native window manager.
WindowsWM is only intended to be used on Cygwin when running a rootless XWin
server.
Changes since 0.92.0:
- Left Half / Right Half Maximize, tiled maximization
- New mouse-resizing functionality
- History and TAB completion in dialogs
- Bouncing appicon effect
- New applications (wmgenmenu and wmmenugen) to generate the root menu
automatically by looking which applications you have on your $PATH
- Automatic detection of configuration changes through inotify
- Improved dockapp recognition
- many trivial things which reduce little annoyances one might have
- Added keyboard shortcut to uncover/cover the dock
- Mac OS X-style window cycling
- Preliminary XRandR support
- lots of bug fixes