| Commit message (Collapse) | Author | Age |
| ... | |
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
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).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the "<" condition, it used as "in"
i.e. "<l₀l₁w₀w₁" reads as "if l₀ is a subset of l₁, then w₀ else w₁"
Useful for macro programming like, if Spotify is on the current
workspace, then go back to where I came from, otherwise jump to Spotify.
This can be achieved with the following (assuming Spotify is marked with
"s"):
"<H-g><s@.'@s"
"if spotify (s) is in the set of the windows on the current screen (@.), jump
back to where I came from (workspace '), otherwise goto the workspace
spotify is on (@s)."
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These are:
'~ws' - Associated workspace, which is the workspace of the toggled
case. I.e. workspace ~w == W, or ~. is the toggled case of the current
workspace.
'=ws₀ws₁ws₂ws₃' ws₂ if name(ws₀) == name(ws₁) otherwise ws₃
while not _that_ helpful for interactive usage, it is useful for
programming macros. I.e.
to jump to Spotify, unless I'm already on spotify, in which case go back
to where I was, I can record this macro on my keyboard:
<Hyper-g>=.s's
or a macro to jump back and forth between the current workspace and the
associated workspace on the next monitor:
<Hyper-g>=.~,.'~,.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
The bordering layout can add windows along the border of the screen,
that way something like videos or something can be shown in the corner
of the screen.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Right now all existing logs are logged at Info, but this will
change. This should make it significantly easier to debug
things wit log levels like Trace. I may at some point define more
log level endpoints or come up with a more expressive logging
system, but this is a good start.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|