mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 14:49:14 +00:00
add(nixos): xscreensaver for xmonad
This commit is contained in:
parent
f4beaf22cb
commit
98d0feb8f0
10 changed files with 118 additions and 34 deletions
|
|
@ -42,7 +42,6 @@
|
|||
"promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" },
|
||||
"rust-tools.nvim": { "branch": "master", "commit": "0cc8adab23117783a0292a0c8a2fbed1005dc645" },
|
||||
"tabular": { "branch": "master", "commit": "339091ac4dd1f17e225fe7d57b48aff55f99b23a" },
|
||||
"telescope-fzf-native.nvim": { "branch": "main", "commit": "6c921ca12321edaa773e324ef64ea301a1d0da62" },
|
||||
"telescope.nvim": { "branch": "0.1.x", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" },
|
||||
"twilight.nvim": { "branch": "main", "commit": "8b7b50c0cb2dc781b2f4262a5ddd57571556d1e4" },
|
||||
|
|
|
|||
|
|
@ -20,6 +20,10 @@ import XMonad.Hooks.DynamicLog
|
|||
import XMonad.Hooks.StatusBar
|
||||
import XMonad.Hooks.StatusBar.PP
|
||||
|
||||
import XMonad.ManageHook
|
||||
|
||||
import Graphics.X11.ExtraTypes.XF86
|
||||
|
||||
import qualified XMonad.StackSet as W
|
||||
|
||||
import NeatInterpolation
|
||||
|
|
@ -28,9 +32,10 @@ import qualified Data.Text as T
|
|||
xmonadConfig = def
|
||||
{ modMask = myMod
|
||||
, terminal = myTerm
|
||||
, focusFollowsMouse = False
|
||||
, focusFollowsMouse = True
|
||||
, borderWidth = 2
|
||||
, workspaces = myWorkspaces
|
||||
, manageHook = myManageHook
|
||||
, layoutHook = myLayoutHook
|
||||
, startupHook = myStartupHook
|
||||
, normalBorderColor = "#2a00a6"
|
||||
|
|
@ -47,15 +52,18 @@ myWorkspaces = map show [1..4]
|
|||
|
||||
myLayoutHook =
|
||||
let nmaster = 1
|
||||
ratio = 3/5
|
||||
ratio = 1/2
|
||||
delta = 3/100
|
||||
tiled = Tall nmaster delta ratio
|
||||
threeCol = ThreeColMid nmaster delta ratio
|
||||
mag = magnifiercz' 1.3
|
||||
|
||||
in spacingWithEdge 5
|
||||
$ mag tiled ||| Mirror tiled ||| Full ||| mag threeCol
|
||||
$ tiled ||| Full ||| (mag $ tiled ||| threeCol)
|
||||
|
||||
myManageHook = composeAll
|
||||
[ className =? "cinny" --> doFloat <+> doShift "4"
|
||||
]
|
||||
|
||||
-- Only remove mappings that needs pass through.
|
||||
-- If a new mapping is added, the old one is overridden
|
||||
|
|
@ -66,27 +74,51 @@ myUnmaps =
|
|||
++ [ ((myMod , n)) | n <- [xK_1 .. xK_9] ]
|
||||
++ [ ((myMod .|. shiftMask, n)) | n <- [xK_1 .. xK_9] ]
|
||||
|
||||
toggleXkbLayout = T.unpack
|
||||
[text|
|
||||
if setxkbmap -query | grep dvorak-french 2>&1 > /dev/null; then
|
||||
setxkbmap dvorak
|
||||
else
|
||||
setxkbmap dvorak-french
|
||||
fi
|
||||
|]
|
||||
externalScreenOnly = T.unpack
|
||||
[text|
|
||||
if xrandr --output DP-1 --left-of eDP-1 --mode 2560x1440 --rate 59.94; then
|
||||
xrandr --output eDP-1 --off
|
||||
else
|
||||
xrandr --auto
|
||||
fi
|
||||
|]
|
||||
|
||||
myKeymaps =
|
||||
let remap src dst =
|
||||
( src
|
||||
, bindFirst $ dst ++ [ (pure True, uncurry sendKey src) ]
|
||||
)
|
||||
toggleXkbLayout = T.unpack
|
||||
[text|
|
||||
if setxkbmap -query | grep dvorak-french 2>&1 > /dev/null; then
|
||||
setxkbmap dvorak
|
||||
else
|
||||
setxkbmap dvorak-french
|
||||
fi
|
||||
|]
|
||||
in [ -- shortcuts
|
||||
((controlMask .|. mod1Mask, xK_f), spawn "firefox")
|
||||
, ((controlMask .|. mod1Mask, xK_s), spawn "scrot -s")
|
||||
, ((controlMask .|. mod1Mask, xK_z), spawn "xsreensaver-command -lock")
|
||||
, ((controlMask .|. mod1Mask, xK_z), spawn "xscreensaver-command -lock")
|
||||
, ((controlMask .|. mod1Mask, xK_c), spawn $ unwords [ myTerm, "--", "fish -c tmux_cmus" ])
|
||||
|
||||
-- TODO: https://libreddit.earth2077.fr/r/xmonad/comments/i1s9do/keybinding_send_key_to_application/
|
||||
|
||||
-- toggle external display
|
||||
, ((controlMask, xK_F7), spawn "xrandr --output DP-1 --left-of eDP-1 --mode 2560x1440 --rate 59.94 && xrandr --output eDP-1 --off || xrandr --auto")
|
||||
|
||||
-- FIXME: brightness adjustments
|
||||
, ((controlMask, xK_F5), spawn "light -S 10")
|
||||
, ((controlMask, xK_F6), spawn "light -A 10")
|
||||
|
||||
-- volume adjustments
|
||||
, ((controlMask, xK_F1), spawn "amixer set Master toggle")
|
||||
, ((controlMask, xK_F2), spawn "amixer set Master 5%-")
|
||||
, ((controlMask, xK_F3), spawn "amixer set Master 5%+")
|
||||
, ((0, xF86XK_AudioMute), spawn "amixer set Master toggle")
|
||||
, ((0, xF86XK_AudioLowerVolume), spawn "amixer set Master 5%-")
|
||||
, ((0, xF86XK_AudioRaiseVolume), spawn "amixer set Master 5%+")
|
||||
|
||||
-- tab navigation in firefox
|
||||
, remap
|
||||
(controlMask .|. shiftMask, xK_bracketright)
|
||||
|
|
@ -134,6 +166,12 @@ myStartupHook = do
|
|||
|]
|
||||
-- notification daemon
|
||||
spawnOnce "/usr/bin/env wired &"
|
||||
-- screensaver
|
||||
spawnOnce "/usr/bin/env xscreensaver --no-splash &"
|
||||
-- bluetooth applet
|
||||
spawnOnce "/usr/bin/env blueman-applet &"
|
||||
-- external display hack
|
||||
spawnOnce externalScreenOnly
|
||||
|
||||
main = xmonad
|
||||
. ewmhFullscreen . ewmh
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue