aboutsummaryrefslogtreecommitdiff
path: root/src/Main.hs
Commit message (Collapse)AuthorAge
* 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.
* Finally, after much wailing and gnashing of teeth, fixed the Xmobar layout ↵Josh Rahm2022-10-09
| | | | icon issue!
* Synchronize with the look on photonJosh Rahm2022-10-09
|
* More XMobar sexiness.Josh Rahm2022-10-09
| | | | | Revamped the install script to make it easier to handle the install process.
* Changed how titles are parsed.Josh Rahm2022-10-09
|
* Big powerpill added to my XMonad and XMobar.Josh Rahm2022-10-09
|
* Add passmenu integrations.Josh Rahm2021-11-01
|