aboutsummaryrefslogtreecommitdiff
path: root/src/Main.hs
Commit message (Collapse)AuthorAge
* Add quick-clip and bind it to <M-z>c.Josh Rahm2025-10-29
| | | | | Quick-clip makes it easy to keep text snippets around for quick copy-paste.
* Implement basic screen corners.Josh Rahm2025-03-06
| | | | | It would be really cool to integrate screen corners with the binding DSL, but that requires extra thought.
* Add some support for vertially ordered screens.Josh Rahm2024-10-14
| | | | | | | | Add's the workspace '+' as the first workspace that's not on the same 'plane' as the current workspace. A screen, screen1 is considered on the same plane as screen2 if screen2's vertical center point is within screen1's vertical bounds.
* Add popup terminal when the "explode" happendsJosh Rahm2024-08-23
|
* Add some keybindings. Add some manage hooks.wip_mapping_keycodesJosh Rahm2024-03-15
|
* Switch back to using mod4 as the main key with XMonad. Using the hyper key ↵Josh Rahm2024-01-29
| | | | is too much work.
* Change the default workspaces to use some of my common letters first.Josh Rahm2024-01-26
|
* 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.
* Revert "Experimental ability to pin a window using Mod+p"Josh Rahm2023-12-08
| | | | This reverts commit 87b103a4995fd2b6bbd1e72c446fd789caf5a050.
* Experimental ability to pin a window using Mod+pJosh Rahm2023-12-07
| | | | | A pinned window will always try to stay on the same screen in the sname position if it can.
* Add rudimentary float for when a chrome tab is ripped out of a Chrome instance.Josh Rahm2023-12-06
|
* Better implementation of history.Josh Rahm2023-11-26
| | | | | | | Each screen now has its own history and if a workspace is swapped with another visible workspace, the history between those screens is also swapped, so this gives a feeling of a kind of persistent history that follows the screen.
* Remove more unused imports.Josh Rahm2022-11-23
| | | | GHC left some of the unused imports as `import X ()`
* Change to use minimal imports.Josh Rahm2022-11-23
| | | | | This is achieved by using `stack build --ghc-options=-ddump-minimal-imports` and looking for the *.imports files.
* Remove Swallow. It does not work well and is counter-productiveJosh Rahm2022-11-22
|
* Better implementation of the pending buffer. Still need to iron out some bugs.Josh Rahm2022-11-22
|
* WIP: trying to make the pending buffer betterJosh Rahm2022-11-21
|
* Format with ormolu.Josh Rahm2022-11-21
|
* Add new conditional description for workspaces.Josh Rahm2022-10-09
| | | | | | | | | | | | | | | | | 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)."
* Remove taking the screen count from the workspaces. It breaks docking the laptopJosh Rahm2022-10-09
|
* Roll Windows.hs into R.D.StackSetJosh Rahm2022-10-09
|
* Add R.D.StackSet as a replacement for StackSet.Josh Rahm2022-10-09
|
* Infrastructure for better logging, finally!Josh Rahm2022-10-09
| | | | | | | | 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.
* Starting to implement window management languageJosh Rahm2022-10-09
|
* Make history much, much more reliable.Josh Rahm2022-10-09
| | | | | | 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.
* Rename KeysM -> Keys/DslJosh Rahm2022-10-09
|
* Move Rahm.Desktop.Layout.Layout to Rahm.Desktop.LayoutJosh Rahm2022-10-09
|
* More refactoring. Started breaking up Layout. Moved Language extensions into ↵Josh Rahm2022-10-09
| | | | stack file.
* Rename Internal to Rahm.DesktopJosh Rahm2022-10-09
|
* Fixed bug where multiple configures would override previous configures for ↵Josh Rahm2022-10-09
| | | | window-specific bindings
* Add a DSL for configuring Window-Specific bindings and move it into the ↵Josh Rahm2022-10-09
| | | | Keys.hs file.
* Add firefox to the browsers listJosh Rahm2022-10-09
|
* add swallow behavior. Add more Chrome bindings.Josh Rahm2022-10-09
|
* Figured out the flakiness was due to withAll only applying to windows on the ↵Josh Rahm2022-10-09
| | | | current workspace instead of _all_ windows. Poor naming.
* Add (some) ability to send keys to other windowsJosh Rahm2022-10-09
|
* Move Intercept to RebindKeys. Remove the intercept subsystem as it was ↵Josh Rahm2022-10-09
| | | | experimental and I do not have a real use for it anymore.
* Add Brave to list of browsers to intercept keystrokes. Add mouse bindingns ↵Josh Rahm2022-10-09
| | | | | | | | for dragging and resizing. button13+LeftMouse = Drag button13+RightMouse = Resize button13+button13 = retile
* Another Chrome binding added.Josh Rahm2022-10-09
| | | | | | There's a bug where it seems the mappings are applied inconsistently after a restart. Not sure what causes that. Seems bouncing XMonad again fixes it.
* Added a way to do per-window bindings in XMonad.Josh Rahm2022-10-09
| | | | | | This is particularly great for Chrome where one cannot remap the built-in bindings and some built-in bindings are really dumb (looking at you Ctrl+w!!).
* Add more mouse motions. Add bindings for navigation to button15+<>Josh Rahm2022-10-09
|
* Add experimental motion events. Not super useful at the moment, but might be ↵Josh Rahm2022-10-09
| | | | in the future.
* Better Rofi integrationJosh Rahm2022-10-09
|
* Fix fullscreen issues.Josh Rahm2022-10-09
|
* Add some support of the XF86 keys.Josh Rahm2022-10-09
|
* Compeletely change how KeyBindings are done.Josh Rahm2022-10-09
| | | | | | | | | | | | | | | | | | | | | | | | Created new KeysM and ButtonsM monads to make configuring keybindings and button bindings more readable through a DSL. Before bindings would just be a giant list, but that made it difficult to read and repetitive. Now the syntax follows the pattern bind key-to-bind mask1 : action mask2 : action i.e. bind xK_a $ do justMod $ doSomeAction a b c shiftMod $ doSomeOtherAction a b c This makes it a lot cleaner to see all the bindings allocated to a specific key. That way, when adding a new binding, I can easily see what bindings already exist for that key.
* Add keybindings toJosh Rahm2022-10-09
| | | | | - Copy window to another Workspace. - Launch a floating terminal.
* minor fixes and whatnotJosh Rahm2022-10-09
|
* Clean up LayoutDraw.hsJosh Rahm2022-10-09
|
* Break out the XMobar logging subroutines into its own module.Josh Rahm2022-10-09
|
* Remove extra log. Change trunc to be TCO-able.Josh Rahm2022-10-09
|