This module provides a way to query the session startup.
Currently the flag has to be set by calling setSessionStarted in
the startupHook. The goal would be to merge this into xmonad at some
point and set the flag when the state file is read in, and remove the
need to manually set it.
Before this fix, when using layoutHintsToCenter together with
MultiColumns, in certain situations XMonad would render the border of
the focused window below a border of unfocused windows. This looks odd
and is here fixed by changing MultiColumns to always place the focused
window in front (even though they should not really overlap) and making
LayoutHints preserve the order returned from the underlying layout,
except for the focused window that is placed on top.
This is a good idea since layoutHintsToCenter requires the focused
window to be on top for good rendering, even if that is not really
required when the underlying layout is used on its own. This way
layoutHintsToCenter requires less of the layout that is modified and
MultiColumns is more compatible with future layout modifiers that are
not so considerate.
* Use global state instead of per-layout - so now window is minimized on
all workspaces (EWMH requires that windows with _NET_WM_STATE_HIDDEN
set should be minimized on any workspace but previously they were not)
* Use `windows` instead of `modify`. That should fix bugs related to
actions that should be done by `windows` and not done by
`modify` (fixes#46)
* Mark module X.H.RestoreMinimized as deprecated
Like 'windowPrompt', but uses the multiple modes feature of
@Prompt@ (via 'mkXPromptWithModes').
Given a list of actions along with the windows they should work
with, display the appropriate prompt with the ability to switch
between them using the @changeModeKey@.
For example, to have a prompt that first shows you all windows, but
allows you to narrow the list down to just the windows on the
current workspace:
> windowMultiPrompt config [(Goto, allWindows), (Goto, wsWindows)]
This change improves the UX of X.Prompt when `alwaysHighlight` is
enabled. This is especially useful for use with `mkXPromptWithModes`
which forces `alwaysHighlight` to be `True`.
When the user presses the `complKey` and `alwaysHighlight` is `True`,
one of two things will happen:
1. If this is the first time `complKey` is pressed in this round of
completion then the prompt buffer will be updated so it contains
the currently highlighted item.
2. Every other time that the `complKey` is pressed the next
completion item will be selected and the prompt buffer updated.
This gives immediate feedback to the user and allows using some
prompts with `alwaysHighlight` that weren't possible before (e.g.,
shellPrompt, directoryPrompt, etc.)
Prompt should have been using getXMonadDir this entire time but since
we now have getXMonadCacheDir use that instead. This brings
xmonad-contrib inline with the changes in #62.
This also fixesxmonad/xmonad-contrib#68
Move EWMH code from `X.H.Focus` to `X.H.EwmhDesktops`. Thus:
- I'll use `manageHook` for handling activated window.
- By default window activation do nothing (assuming default `ManageHook`).
- I can use `activated` predicate for changing window activation behavior.
- I may use additional combinators from `X.H.Focus` for more complex
focus/workspace switch strategies.