aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Fix firefox matching with window-specific bindingsJosh Rahm2024-03-15
|
* Add some keybindings. Add some manage hooks.wip_mapping_keycodesJosh Rahm2024-03-15
|
* Remove some extreneous logging in Keys.hsJosh Rahm2024-02-07
|
* More XMobar clickable elements.Josh Rahm2024-02-07
|
* Change how history works. History will now not send the user to the hidden ↵Josh Rahm2024-02-06
| | | | workspace, making it harder to explicitly go to the hidden workspace
* Overhaul how Wml is implemented.Josh Rahm2024-02-04
| | | | | | | | | 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.
* Merge branch 'main' into wip_mapping_keycodesJosh Rahm2024-02-03
|\
| * Reverse keybindings between xK_x and Space,xK_xJosh Rahm2024-02-03
| |
| * Add Firefox to the browsers listJosh Rahm2024-02-01
| |
* | Break out some stuff in Dsl2.Josh Rahm2024-02-03
| | | | | | | | | | Create new Grab and KeyCodeMapping modules to support keycode mapping. That subsystem did not belong in Dsl2.
* | Configure some more mod3 keys; add a test mod2 key.Josh Rahm2024-02-02
| |
* | Add support for root-level keycode mappings.Josh Rahm2024-02-02
| | | | | | | | | | | | | | | | | | 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.
* | Add limited ability to bind directly to keycodes.Josh Rahm2024-01-31
|/ | | | | | | | | | | | | | | 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.
* Fix the XMobar actions to use Super istead of HyperJosh Rahm2024-01-30
|
* Add movement keybindings to Mod3.Josh Rahm2024-01-30
| | | | | | | | 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.
* Add ability to move floating windows around using mod+shift+{l,h}Josh Rahm2024-01-30
|
* Add Keybinding to remove the border from a window.Josh Rahm2024-01-30
| | | | | | 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.
* Switch back to using mod4 as the main key with XMonad. Using the hyper key ↵Josh Rahm2024-01-29
| | | | is too much work.
* Change binding for launching xterm. Add bindings for killing XMonad.Josh Rahm2024-01-29
| | | | | As I move to use mod4 again instead of Hyper (mod3) it will conflict with switching xmobar.
* Add <M-a> and <S-M-a> to cycle between monitors.Josh Rahm2024-01-29
| | | | | | 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.
* Change the default workspaces to use some of my common letters first.Josh Rahm2024-01-26
|
* Moving away from the a, o, e keybindings. Change f to 'focus'Josh Rahm2024-01-26
| | | | | | | | | | | | 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).
* Add withNextWorkspaceOrKey.Josh Rahm2024-01-26
| | | | | | | | 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.
* Remove broken smartBorders from layoutJosh Rahm2023-12-29
|
* Add ability to add a hole to the layout. Doesn't work perfectly.Josh Rahm2023-12-18
|
* Add some documentation to Dsl2.hsJosh Rahm2023-12-14
|
* Move the pinnable layout to outside the avoidStruts layout. This fixes the ↵Josh Rahm2023-12-13
| | | | small bug where pinned windows would move down slightly on release when Xmobar is present
* Fix issue where pointer and keyboard were not being properly ungrabbed.Josh Rahm2023-12-13
|
* Added documentation ability for Dsl2 keys.Josh Rahm2023-12-13
|
* Add multi-select Rofi support and allow multiselect for windows.Josh Rahm2023-12-13
|
* Replacing existing binder DSL with a better and more expressive DSL.Josh Rahm2023-12-13
| | | | | This new DSL is cleaner and more powerful. This new DSL allows mixing key and mouse bindings in submappings, which can be very useful.
* Make button 15 escape from the window selection submodeJosh Rahm2023-12-12
|
* Fixed workspace mouse movements to be more intuitive.Josh Rahm2023-12-11
|
* Some better handling for pinned windows.Josh Rahm2023-12-09
|
* Added BorderColors.hsJosh Rahm2023-12-09
| | | | | | | | 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.
* Fix some dragging behavior. Remove some conflicting bindings.Josh Rahm2023-12-08
|
* Fix withWindowsUnpinned to not pin unpinned windows after the function is ↵Josh Rahm2023-12-08
| | | | completed
* Fix issue where submapping keys does not work with numlock onJosh Rahm2023-12-08
|
* Got the pin window layout to work. It works better than the main branch for ↵pinwindowJosh Rahm2023-12-08
| | | | now except the border color does not change.
* WIP trying to use pin-window as a layout. Not really working too wellJosh Rahm2023-12-07
|
* Clean the mask for button submaps.Josh Rahm2023-12-06
| | | | This fixes the bug where many bindings don't work if numberlock is set.
* Add duplicate windowJosh Rahm2023-12-06
|
* Add new 'selected windows' featureJosh Rahm2023-12-06
| | | | | | | | | | | | 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.
* Add rudimentary float for when a chrome tab is ripped out of a Chrome instance.Josh Rahm2023-12-06
|
* Bunch of changes. Not good git ettiquiteJosh Rahm2023-12-06
| | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* Fixed problem with the hole layout where it was not passing on the focused ↵Josh Rahm2023-12-05
| | | | window correctly
* Still a work-in-progress, but better dragging window.Josh Rahm2023-12-05
| | | | | | | | | | Dragging a window will leave a hole behind until it reaches its final destination, making it look a little better. Now I've also implemented drag so that when ending the drag with a right-click it tiles the window on the screen it's currently on. It is still pretty jenky and very much a WIP.
* Catch printf exceptions in logs to avoid having rde crash for stupid reasonsJosh Rahm2023-12-05
|
* Add ability to tile-dragJosh Rahm2023-12-05
|
* Added a couple of draggable bindings.Josh Rahm2023-12-04
| | | | | | These new bindings allow the user to click on a window and "drag" it to a different window. This will swap the two windows once the drag button is released. The other binding is similar, but for whole workspaces.