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.