Skip to content

A Configuraton File and Molokai Theme for the XMonad Window Manager

Notifications You must be signed in to change notification settings

prikhi/xmonad-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

556f800 · Jan 14, 2025
Aug 6, 2023
Apr 14, 2020
Jan 14, 2025
Jul 14, 2023
Sep 7, 2021
Jul 14, 2023
Sep 4, 2021
Feb 9, 2020
Apr 11, 2020
Mar 16, 2018
Jun 3, 2023
Jun 3, 2023
May 20, 2021
Feb 15, 2021
Apr 11, 2020
Sep 8, 2024
Sep 8, 2024
Sep 4, 2021
Mar 16, 2018

Repository files navigation

My xmonad Configuration

I really like awesome but would love to write configs in haskell instead of lua.

You should also install:

  • libxpm - status bar icons
  • trayer - system tray
  • mpc - control MPD
  • scrot - screenshots

Screenshot

Usage

  • Clone this repo to somewhere like ~/.config/xmonad/.
  • In ~/.profile set XMONAD_CONFIG_DIR to this folder.
  • Log out & in to reload .profile & run xmonad --recompile && xmonad --restart.

While developing, you can run stack build --file-watch.

TODO:

Things Awesome does that I like:

  • Keyboard shortcut popup
  • On click tag selection
  • Multiple tag viewing, Clients on multiple tags
  • Better Floating Placement when using keyboard toggle
  • Floating layout
  • Maximizable floating windows
    • Add custom maximize function, checks if window floating, if so adds to floating set(in ExtensibleState), unfloats, & maximizes. When un-maximized, float & re-position.
  • Configure & launch hs-notifications from xmonad
  • Layout icons
  • MPD Widget
  • Click window in taskbar to minimize/restore
  • Minimize windows
  • Increase / Decrease Column Count
  • Jump to Urgent - make it change focused screen if necessary
  • ncmpcpp dropdown (Util.Scratchpad)
  • Keep on Top keybinding
  • Mod-RightMouseBtn to resize master width
  • Shell Prompt below the status bar instead of overlaid on top
  • Equal spacing to each window in status bar.

Extra things I want it to do:

  • Quick note taking to a file (Prompt.AppendFile)
    • Maybe different modes for different lists, eg. shopping list, notes, todo list
  • Quick access to calculator
  • Native systray & notifications
  • Native randomized wallpaper changes? Or just keep using feh-bg.
  • Supervise & re-start statusbar/notification threads: https://hackage.haskell.org/package/threads-supervisor-1.1.0.0/docs/Control-Concurrent-Supervisor-Tutorial.html
  • Proper dynamic tagging + autotagging new windows (sometimes assigned tags get fucked in awesome)
    • Need to write custom XMonad.Prompt that will use DynamicWorkspaces extension to add new workspaces w/ names as expected by IndependentScreens extension. Not sure how to make dynamic keybindings to switch to newly created workspaces.
  • Jump to window prompt w/ autocomplete
  • Workspace-specific positioning on init
    • Gimp: Put image in center & toolbars to left & right side, all floating.
    • Audio: non-mixer & jamin stacked on left, Claudia on right
  • Project-specific workspaces that open terminals and run commands
    • SESE Website: Open main term w/ server/client vim & file tabs, another term w/ files & server repl tabs, & third term with build script, move palemoon & chromium to appropriate screens.

Links to do some of that stuff:

License

GPL-3.0

About

A Configuraton File and Molokai Theme for the XMonad Window Manager

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published