xmonad-contrib v0.16 Release Notes
Release Date: 2019-09-22 // over 4 years ago-
๐ฅ Breaking Changes
XMonad.Layout.Decoration
- Added
Theme
record fields for controlling decoration border width for active/inactive/urgent windows.
- Added
XMonad.Prompt
- Prompt ships a vim-like keymap, see
vimLikeXPKeymap
andvimLikeXPKeymap'
. A reworked event loop supports new vim-like prompt actions. - Prompt supports dynamic colors. Colors are now specified by the
XPColor
type inXPState
whileXPConfig
colors remain unchanged for backwards compatibility. - Fixes
showCompletionOnTab
. - The behavior of
moveWord
andmoveWord'
has changed; brought in line with the documentation and now internally consistent. The old keymaps retain the original behavior; see the documentation to do the same your XMonad configuration.
- Prompt ships a vim-like keymap, see
XMonad.Util.Invisble
- Requires
MonadFail
forRead
instance
- Requires
๐ New Modules
XMonad.Layout.TwoPanePersistent
A layout that is like TwoPane but keeps track of the slave window that is currently beside the master. In TwoPane, the default behavior when the master is focused is to display the next window in the stack on the slave pane. This is a problem when a different slave window is selected without changing the stack order.
XMonad.Util.ExclusiveScratchpads
Named scratchpads that can be mutually exclusive: This new module extends the idea of named scratchpads such that you can define "families of scratchpads" that are exclusive on the same screen. It also allows to remove this constraint of being mutually exclusive with another scratchpad.
XMonad.Actions.Prefix
A module that allows the user to use an Emacs-style prefix argument (raw or numeric).
๐ Bug Fixes and Minor Changes
XMonad.Layout.Tabbed
tabbedLeft and tabbedRight will set their tabs' height and width according to decoHeight/decoWidth
XMonad.Prompt
Added
sorter
toXPConfig
used to sort the possible completions by how well they match the search string (example:XMonad.Prompt.FuzzyMatch
).Fixes a potential bug where an error during prompt execution would leave the window open and keep the keyboard grabbed. See issue #180.
Fixes issue #217, where using tab to wrap around the completion rows would fail when maxComplRows is restricting the number of rows of output.
XMonad.Prompt.Pass
Added 'passOTPPrompt' to support getting OTP type password. This require pass-otp (https://github.com/tadfisher/pass-otp) has been setup in the running machine.
Added 'passGenerateAndCopyPrompt', which both generates a new password and copies it to the clipboard. These two actions are commonly desirable to take together, e.g. when establishing a new account.
Made password prompts traverse symlinks when gathering password names for autocomplete.
XMonad.Actions.DynamicProjects
Make the input directory read from the prompt in
DynamicProjects
absolute wrt the current directory.Before this, the directory set by the prompt was treated like a relative directory. This means that when you switch from a project with directory
foo
into a project with directorybar
, xmonad actually tries tocd
intofoo/bar
, instead of~/bar
as expected.XMonad.Actions.DynamicWorkspaceOrder
Add a version of
withNthWorkspace
that takes a[WorkspaceId] -> [WorkspaceId]
transformation to apply over the list of workspace tags resulting from the dynamic order.XMonad.Actions.GroupNavigation
Add a utility function
isOnAnyVisibleWS :: Query Bool
to allow easy cycling between all windows on all visible workspaces.XMonad.Hooks.WallpaperSetter
Preserve the aspect ratio of wallpapers that xmonad sets. When previous versions would distort images to fit the screen size, it will now find a best fit by cropping instead.
XMonad.Util.Themes
Add adwaitaTheme and adwaitaDarkTheme to match their respective GTK themes.
'XMonad.Layout.BinarySpacePartition'
Add a new
SplitShiftDirectional
message that allows moving windows by splitting its neighbours.XMonad.Prompt.FuzzyMatch
Make fuzzy sort show shorter strings first.