aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/Keys.hs
Commit message (Collapse)AuthorAge
* 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
|
* 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.
* 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.
* 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.
* 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.
* Better history. Works even when non-current screens changeJosh Rahm2023-12-04
|
* Add ability to swap two workspaces with the W commandJosh Rahm2023-12-04
|
* Fix bug in master swapping where the last window is not scoped to a tag.Josh Rahm2023-12-04
|
* Change the rotate-screen-left/right to just swap current screen with ↵Josh Rahm2023-12-04
| | | | left/right. It is more intuitive and is more flexible. As a part of this, I incresed the timeout for multiple button bindings to 5000ms like how keystrokes work.
* Minor code improvementsJosh Rahm2023-11-30
|
* run ormoluJosh Rahm2023-11-30
|
* Better modelling for moving between windows. Reworked shifting windows and ↵Josh Rahm2023-11-30
| | | | made the movement atomic to improve speed
* Change win+w to a swap windows command.Josh Rahm2023-11-30
|
* Make a couple mouse bindings nicer.Josh Rahm2023-11-26
| | | | | | | | 1. Change swap windows to be button13 + mousewheel instead of mouse wheel buttons 2. Change the history double-tap button to focus the window under the cursor before going back.
* Add ability to seek media with shift+next/prev.Josh Rahm2023-02-03
|
* Decouple RDE from spotify by allowing the user to select the media to controlJosh Rahm2023-02-03
| | | | | | | | Perhaps a Python script is in order to make it less ugly, but as things stand it works. This also uses the XDG_RUNTIME_DIR to store the variable associated with the target to control.
* Rename spotify-control to media-control.Josh Rahm2023-02-03
| | | | This is part of a plan to decouple Spotify from RDE.
* Change Swap to be instead a shift-and-follow.Josh Rahm2022-11-28
|
* PendingBuffer now shows "'" when "'" is pressed instead of "w".Josh Rahm2022-11-23
|
* Clean up import list in Keys.hsJosh Rahm2022-11-22
|
* Remove some layout bloat.Josh Rahm2022-11-22
| | | | | | | | Remove a bunch of esentially-unused layouts. Now the layouts are: - Spiral - Mosaic - Tall
* Implement documentation for mouse bindings.Josh Rahm2022-11-22
|
* More consistent handling with button mapping.Josh Rahm2022-11-22
| | | | | Button mapping is now similar in architecture to KeyMapping. As a consequence it works with the pending buffer.
* Remove some unused key bindings to help simplify thingsJosh Rahm2022-11-22
|
* withPendingBuffer -> pushPendingBuffer.Josh Rahm2022-11-22
|
* Better implementation of the pending buffer. Still need to iron out some bugs.Josh Rahm2022-11-22
|
* Rudimentary pending buffer shown in Xmobar.Josh Rahm2022-11-21
|
* Format with ormolu.Josh Rahm2022-11-21
|
* Remove border-width change for shifting windows.Josh Rahm2022-11-20
|
* Rebind theater selection to M-S-g instead of M-C-g.Josh Rahm2022-11-20
|
* Add "Theaters" to RDE.Josh Rahm2022-11-20
| | | | | | | | | | A "Theater" is basically the state of the "StackSet". This means that jumping to a Theater will reset all the windows to where they were when the user last left that theater, or an empty theater if there is not. New windows that a theater does not know about are put in the "hidden" workspace (which is "*").
* Change term "Theater" -> "Desktop"Josh Rahm2022-11-20
|
* Merge remote-tracking branch 'origin/v017' into v017Josh Rahm2022-11-20
|\
| * Add "Theater" concept.Josh Rahm2022-11-18
| | | | | | | | | | | | | | This is the set of the current set of screens and workspaces. It can be saved and restored. In a sense it works like how most other tiling managers handle "workspaces" where one can change all screens at once. Not that it's a superior system to XMonad (it's not), but it's sometimes helpful.
| * Change up the override keys for browsersJosh Rahm2022-06-08
| |
| * Change WML workspaces to have a Maybe name.Josh Rahm2022-05-01
| |
| * Add Bordering layout.Josh Rahm2022-04-28
| | | | | | | | | | | | 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.
| * Add M-S-s to swap windows with eachotherJosh Rahm2022-04-24
| |
| * Roll Windows.hs into R.D.StackSetJosh Rahm2022-04-24
| |
| * Roll ScreenRotate into StackSetJosh Rahm2022-04-24
| |
| * Add R.D.StackSet as a replacement for StackSet.Josh Rahm2022-04-24
| |
| * Run hlintJosh Rahm2022-04-22
| |
| * Some new styling and better logging capabilitesJosh Rahm2022-04-22
| |
| * Infrastructure for better logging, finally!Josh Rahm2022-04-22
| | | | | | | | | | | | | | | | 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.
| * Add macro support to WML.Josh Rahm2022-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Highlight windows for marking tooJosh Rahm2022-04-18
| |
| * Change window border when selecting windowsJosh Rahm2022-04-18
| |