<柱間 (@hashirama:hashi.sbs)> Leary: like this: main = do let workspacen = ["ws1", "ws2", "ws3", "ws4", "ws5", "ws6", "ws7", "ws8", "ws9", "ws10"] let myKeys = [ (otherModMasks ++ "M-" ++ key, action tag) | (tag, key) <- zip workspacen (words "1 2 3 4 5 6 7 8 9 0") , (otherModMasks, action) <- [("", windows . W.greedyView) ,("S-", windows . W.shift) ,("C-", windows . copy) ] ] ++ [ ("M-d", spawn "rofi -show run") , ("M-s", spawn "bash -c dictpopup") , ("M-S-e", spawn "flameshot full --path=/mnt/Data/mpv-screenshots/screenshots/light_novels") , ("M-e", runOrRaise "goldendict" (className =? "GoldenDict-ng")) , ("M-p", runOrRaise "librewolf" (className =? "librewolf-default")) , ("M-S-g", spawn "~/.local/bin/mpv-tube.sh") ] xmonad $ def { manageHook = manageDocks , layoutHook = avoidStruts $ layoutHook def , logHook = dynamicLogWithPP xmobarPP } "additionalKeysP" myKeys