| Commit message (Collapse) | Author | Age |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Macros may be defined by using <M-d>
<M-d>w begins defining a windowset macro
<M-d>t begins defining a workspace macro
The next character typed is the key chord to save the macro to. The next
sequence of keys read up until the Return key is the macro value. This
macro may then be used as WML objects.
Macros are pretty primitive right now. I need to think about if it would
be worthwhile to make these macros either take arguments or add some
kind of state to WML a la sed to take a step to make the language Turing
complete, and if such a development would actually be desirable. If
anything it would be an academic exercise.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
to it.
|
| | | |
|
| | | |
|
| | | |
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
slam dunk.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
This time history is being done using a hook to keep track of history.
This means I don't have to manually call pushHistory every time I focus
a new window.
|
| | | | |
|
| | |/ |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
timeout to nextButton
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Right now, Mosaic operate on the windows itself. But this means that
swapping windows can act very unintuitively. This wrapper changes
mosaci to work on window /positions/ rather than windows themselves,
so the window in position 1 will always be the same size, and when moved
to position 2, it will inherit that position's size.
There's still some buggy behavior, but it is in general much more
intuitive than it was before.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
It's not the best thing in the world, but it should help keep things in
a consistent state when dealing with many multi-stroke bindings.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
sure how I feel about it right now; it'll take some getting used to.
|
| | |
| |
| |
| | |
than a LayoutModifier.
|
| | |
| |
| |
| | |
sure how I feel about it, but Imma try it out
|
| | |
| |
| |
| |
| |
| |
| | |
This is mostly an academic exercise, as there's probably not much reason
to put a hole in the layout, but I must admit that sometimes is
aesthetically pleasing to see a little more desktop wallpaper in some
cases.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This also combines the two into a single type.
|
| | | |
|
| | |
| |
| |
| |
| | |
Unfortunately it's a little hacky how this ended up working, but I don't
have a great solution yet.
|
| | |
| |
| |
| | |
Much cleaner.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is using xdotool to send a keystroke, which is not the best way to
do this. In fact, a proper server protocol would be better, but this is
how it is at the momement unfortunately.
There is a problem where trying to use xdotool to send a key for a
multibyte character will cause all events to freeze on XMonad for some
reason, so these actions are guarded so only 'a-zA-Z0-9' are clickable
and the rest are not, which is /okay/, I don't use unicode workspaces
that often.
|
| | |
| |
| |
| | |
stack file.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
The wml workspace @w refers to the workspace that contains the window
marked 'w', however when jumping to that workspace, an arbitrary window
is focused. It's more intuitive to set focus to the window 'w'. This
means that <H-g>@• is the same as <H-w>•.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was <l₀l₁w₀w₁ to condition on if l₀ is a subset of l₁, but this is
redundant, instead add "?" that conditions of if l₀ is empty.
So the new syntax is
?lw₀w₁ which is read, if the windowset l is not empty, then workspace w₀
else w₁.
This is the same use-case as before. Handy for defining macros to, say,
jump to Spotify if it's not on the current workspace, otherwise jump
to the prior window.
This is now accomplished with (assuming Spotify is marked 's'):
<H-g>?&s@.'@s
This reads as, if (?) the intersection between the Spotify window and the
windows on the current workspace (&s@.) is not empty (if spotify is on
the current window), go to the last workspace ('), otherwise go to the
workspace Spotify is on (@s).
|