Created
August 8, 2019 00:06
-
-
Save mankyKitty/053b03bf29f4f1f59630c1f8cd3d1741 to your computer and use it in GitHub Desktop.
weeee
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import qualified Data.Map as M | |
import Data.Monoid ((<>)) | |
import qualified Graphics.X11.Types as XT | |
import XMonad (Full (..), Layout, | |
ManageHook, Mirror (..), | |
Tall (..), X, XConfig (..), | |
def, spawn, windows, | |
xmonad, (.|.), (|||)) | |
import XMonad.Actions.SpawnOn (manageSpawn, spawnOn) | |
import XMonad.Hooks.EwmhDesktops (ewmh) | |
import XMonad.Hooks.ManageDocks (avoidStruts, docks, | |
manageDocks) | |
import XMonad.ManageHook (className, composeAll, | |
doShift, (-->), (<+>), | |
(=?)) | |
-- Taffybar 0.4.6 | |
-- import System.Taffybar.Hooks.PagerHints (pagerHints) | |
-- Taffybar 3.0.0 | |
import System.Taffybar.Support.PagerHints (pagerHints) | |
import XMonad.Hooks.DynamicLog | |
import XMonad.Layout.Circle | |
import XMonad.Layout.Grid | |
import XMonad.Layout.ThreeColumns | |
-- Some keys for later | |
-- ((0, XT.xK_Print), spawn "maim -c 1,0,0,0.6 -s ~/screenshots/$(date +%F_%T).png") | |
-- , ((modm, XT.xK_Print), spawn "maim -s --format png -c 1,0,0,0.6 /dev/stdout | xclip -selection clipboard -t image/png -i") | |
-- , ((XT.controlMask .|. XT.mod1Mask, XT.xK_q), spawn "~/.screenlayout/laptop-only.sh") | |
-- , ((XT.controlMask .|. XT.mod1Mask, XT.xK_w), spawn "~/.screenlayout/the-fort.sh") | |
-- , ((modm .|. XT.shiftMask, XT.xK_p), spawn "~/bin/passmenu") | |
-- | |
spotifySend = | |
mappend "dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player." | |
myKeys :: XConfig Layout -> M.Map (XT.ButtonMask, XT.KeySym) (X ()) | |
myKeys conf@XConfig {modMask = modm} = | |
let xK_X86MonBrightnessDown = 0x1008ff03 | |
xK_X86MonBrightnessUp = 0x1008ff02 | |
xK_X86AudioLowerVolume = 0x1008ff11 | |
xK_X86AudioRaiseVolume = 0x1008ff13 | |
xK_X86AudioMute = 0x1008ff12 | |
xK_X86AudioPlay = 0x1008ff14 | |
xK_X86AudioPrev = 0x1008ff16 | |
xK_X86AudioNext = 0x1008ff17 | |
kees = | |
M.fromList [ ((XT.controlMask .|. XT.mod1Mask, XT.xK_l), spawn "xscreensaver-command -lock") | |
, ((0, xK_X86MonBrightnessDown), spawn "xbacklight -dec 5") | |
, ((0, xK_X86MonBrightnessUp), spawn "xbacklight -inc 5") | |
, ((0, xK_X86AudioLowerVolume), spawn "amixer sset Master 5%-") | |
, ((0, xK_X86AudioRaiseVolume), spawn "amixer sset Master 5%+") | |
, ((0, xK_X86AudioMute), spawn "amixer sset Master toggle") | |
, ((0, xK_X86AudioPlay), spawn (spotifySend "PlayPause")) | |
, ((0, xK_X86AudioNext), spawn (spotifySend "Next")) | |
, ((0, xK_X86AudioPrev), spawn (spotifySend "Previous")) | |
] | |
in kees <> keys def conf | |
myLayout | |
= ThreeColMid 1 (3/100) (1/2) | |
||| Tall nmaster delta ratio | |
||| Mirror (Tall nmaster delta ratio) | |
||| Full | |
where | |
nmaster = 1 | |
delta = 3/100 | |
ratio = 1/2 | |
-- docks: add dock (panel) functionality to your configuration | |
-- ewmh: https://en.wikipedia.org/wiki/Extended_Window_Manager_Hints - lets XMonad talk to panels | |
main :: IO () | |
main = xmonad . docks . pagerHints $ def | |
{ keys = myKeys | |
, modMask = XT.mod4Mask | |
, terminal = "urxvt" | |
-- avoidStruts tells windows to avoid the "strut" where docks live | |
, layoutHook = avoidStruts myLayout | |
, manageHook = manageDocks <+> manageHook def | |
, workspaces = | |
[ "1:code" | |
, "2:browserB" | |
, "3:browserA" | |
, "4:musak" | |
, "5" | |
, "6:time-wasting" | |
, "7" | |
, "8" | |
, "9" | |
] | |
, startupHook = do | |
spawnOn "1:code" "urxvt" | |
spawnOn "2:browserB" "firefox" | |
spawnOn "4:musak" "spotify" | |
spawnOn "6:time-wasting" "Discord" | |
spawnOn "6:time-wasting" "slack" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment