aboutsummaryrefslogtreecommitdiff
path: root/src/Main.hs
Commit message (Collapse)AuthorAge
* 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
|
* Fixed huuuuge bug related to dynamicLogWithPP.Josh Rahm2022-10-09
| | | | | | | | | | | dynamicLogWithPP does not support Unicode properly!! It was encoding each "Char" (32 bits in Haskell, mind you!) to a utf-8 byte instead of a codepoint. The result was a butchared faux-utf8 encoded string. This was causing xmobar to crash with unicode + my truncating code. I have now moved away from dynamicLogWithPP and am writing my own log string manually. It's better this way anyway; less hacky; more fine-grained control.
* Change the strut behavior.Josh Rahm2022-10-09
| | | | | It wasn't working as expected for flips. This is because the avoidStructs layout modifier was too low in the layout stack.
* Display stdin ellipsis only if it makes the string shorter.Josh Rahm2022-10-09
| | | | i.e. would rather show 'My Title' rather than 'My Titl ...'
* Add ability to truncate xmobar output.Josh Rahm2022-10-09
| | | | | | | | This is done by removing all visible characters after a certain point. Right now that's set to 70, which was found just via trial-and-error. This will break if something has '>' or '<' and this will not be able to handle xmobar's 'raw' tag, but it's good enough.