| Commit message (Collapse) | Author | Age |
| | |
|
| | |
|
| |
|
|
| |
As opposed to always changing the volume of the default sink.
|
| |
|
|
| |
running Chrome.
|
| |
|
|
|
| |
Quick-clip makes it easy to keep text snippets around for quick
copy-paste.
|
| | |
|
| |
|
|
|
|
|
|
| |
This change adds a "workspaceWindows" function on a pseudo-workspace
level so now the windowsets '@_', '@#', '@-' actually have meaning.
Also now the "move to workspace" function buffers the windows which
makes things more responsive and intuitive.
|
| | |
|
| | |
|
| |
|
|
|
| |
Made the selector a wheel instead of a row. Added some keybindings and
button bindings.
|
| |
|
|
|
| |
It would be really cool to integrate screen corners with the binding
DSL, but that requires extra thought.
|
| |
|
|
|
|
| |
When a key or button is pressed, RDE will display the set of current
workspaces, prompting the user to click on one to switch to that
workspace.
|
| | |
|
| | |
|
| |
|
|
| |
This uses Dzen to display this, so that's a new dependency.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This adds a new "KeyFeed" monad which is reminiscent of a parsec-type
monad. This allows keys like 'g' to be mapped using a subbind and the
actual WML part be handled in the catch-all handler.
This also significantly cleans up the typing and complexity of the Wml
implementation.
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
Create new Grab and KeyCodeMapping modules to support keycode mapping.
That subsystem did not belong in Dsl2.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The code is a bit of a mess, and should probably be moved out of Dsl2
and into a dedicated place, but it works.
I had to do a bit of a hack to get around XMonad's ungrabbing the
keyboard after a Mapping event, which is not the best, but I don't have
a better way of doing it.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Binding to keycodes is good for nonmnemonic key bindings -- where the
choice of key is due to its position on the keyboard rather than the
character associated with it.
Right now only window bindings and subbindings can use keycode bindings.
Root bindings can still only be keysyms and buttons.
I've been using this feature to map some movement keys to Hyper. This
emulates the function key on my M770 keyboard where fn+ijkl are used as
arrow keys. I use the tab key as my hyper key. With xcape it can operate
as a Tab key when release, or a modifier key when held down, which is
awesome.
|
| |
|
|
|
|
|
|
| |
These keybindings give me the ability to use arrow keys and other
movement keys without physical keys.
This is helped by my keyboard script which maps Tab to Hyper when held
down, so tab acts like a function key of sorts.
|
| | |
|
| |
|
|
|
|
| |
In the future I would like to auto-detect when a window is large enough
to be fullscreen and remove the border in that case, but that will take
more work. For now a manual action is sufficient.
|
| |
|
|
|
| |
As I move to use mod4 again instead of Hyper (mod3) it will conflict
with switching xmobar.
|
| |
|
|
|
|
| |
This is more general than it was before. It's quicker than typing its
synonymous equivalent, <M-f>,. as a bonus it's the same on both dvorak
and qwerty keyboards.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
These keybindings are
1. Expensive, it's 3 different keys on a prime spot on the keyboard.
2. Position dependent to make sense. Not interoperable between QWERTY
and Dvorak.
3. Not very powerful
These keys are being replaced with a new 'f' keybinding. 'f' operates
just like 'g' except it will non-greedily focus the workspace if it's
already visible. (and 'f' only works with normal workspaces right now).
|
| |
|
|
|
|
|
|
| |
This function invokes a handler if a WML workspace is entered, or if a
non-Wml key is entered, it invokes a different handler.
This allows Wml-tied keys like 'g' to handle non-wml sequences. I.e. "g
<F1>" now displays help.
|
| | |
|
| | |
|
| |
|
|
|
| |
This new DSL is cleaner and more powerful. This new DSL allows mixing
key and mouse bindings in submappings, which can be very useful.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
This module manager border colors for the windows and handles
automatically maintaining the colors across stack changes.
This also adds green borders to pinned windows to differentiate them
from normal windows.
|
| | |
|
| |
|
|
| |
now except the border color does not change.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This new feature creates a 'selected windows' buffer which allows
the user to select windows. These windows are then automatically
made the argument for a Wml window operation such as shifting.
This is great for when one wants to apply an action to a set of windows
which are too difficult to describe with Wml expressions.
In addition, I have added a bunch of mouse bindings and key bindings
to this.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Added ShiftAndSwap functionality, which allows user to shift a
<windowset> to a <workspace> and then swap that workspace with
another <workspace>
e.g. move Spotify to workspace 's' and put workspace 's' on the last
monitor.
This replaces the shift-and-follow as this is more powerful (shift
and follow just puts the "shifted-to" workspace on the current
monitor.)
ofc if the two workspaces to swap are not visible, this just operates
as a normal shift command.
- Moved more dragging functionality to the Dragging.hs file and cleaned
it up a little. More is certainly needed.
- With the more powerful dragging functionality, many bindings are made
redundant. I replaced one of these redundant bindings (button13 ->
mouseWheel). This used to move the focused window around the stack,
but this has been made redundant by the drag-to-swap functionality
(button14 -> left-click-drag), so now it changes the master region
size.
|