huge change in xmonad
- added copy window feature - keybindings are set in the "myKeys" variable - only one "qualified" instance of StackSet - a variable that dictates my workspaces (needed in the myKeys definition)main
parent
3888160cb1
commit
a6de086c3b
|
@ -6,7 +6,7 @@ import XMonad.Hooks.ManageHelpers
|
||||||
import XMonad.Hooks.StatusBar
|
import XMonad.Hooks.StatusBar
|
||||||
import XMonad.Hooks.StatusBar.PP
|
import XMonad.Hooks.StatusBar.PP
|
||||||
|
|
||||||
import XMonad.StackSet as W -- float purposes
|
|
||||||
import XMonad.Actions.MouseResize
|
import XMonad.Actions.MouseResize
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ import XMonad.Util.SpawnOnce (spawnOnce)
|
||||||
-- run or raise
|
-- run or raise
|
||||||
import XMonad.Actions.WindowGo (raiseMaybe, runOrRaise)
|
import XMonad.Actions.WindowGo (raiseMaybe, runOrRaise)
|
||||||
import XMonad.ManageHook (className)
|
import XMonad.ManageHook (className)
|
||||||
import XMonad.StackSet (RationalRect(..))
|
|
||||||
--
|
--
|
||||||
|
|
||||||
import XMonad.Layout.Decoration
|
import XMonad.Layout.Decoration
|
||||||
|
@ -36,7 +36,6 @@ import XMonad.Actions.PerWindowKeys
|
||||||
import XMonad.Actions.FindEmptyWorkspace
|
import XMonad.Actions.FindEmptyWorkspace
|
||||||
import XMonad.Layout.Grid
|
import XMonad.Layout.Grid
|
||||||
import XMonad.Layout.PerScreen (ifWider)
|
import XMonad.Layout.PerScreen (ifWider)
|
||||||
import XMonad.StackSet
|
|
||||||
import XMonad.Layout
|
import XMonad.Layout
|
||||||
import XMonad.Layout.Reflect
|
import XMonad.Layout.Reflect
|
||||||
import XMonad.Layout.WindowArranger
|
import XMonad.Layout.WindowArranger
|
||||||
|
@ -45,8 +44,10 @@ import XMonad.Layout.WindowArranger
|
||||||
import Data.List (find)
|
import Data.List (find)
|
||||||
import XMonad.Actions.EasyMotion (selectWindow)
|
import XMonad.Actions.EasyMotion (selectWindow)
|
||||||
import XMonad.Actions.FocusNth (swapNth)
|
import XMonad.Actions.FocusNth (swapNth)
|
||||||
import qualified XMonad.StackSet as W
|
|
||||||
import XMonad.Layout.LimitWindows
|
import XMonad.Layout.LimitWindows
|
||||||
|
import XMonad.Actions.CopyWindow
|
||||||
|
import qualified XMonad.StackSet as W
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -57,12 +58,52 @@ main = xmonad
|
||||||
. withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) defToggleStrutsKey
|
. withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) defToggleStrutsKey
|
||||||
$ myConfig
|
$ myConfig
|
||||||
|
|
||||||
|
workspacen :: [String]
|
||||||
|
workspacen = ["ws1", "ws2", "ws3", "ws4", "ws5", "ws6", "ws7", "ws8", "ws9", "ws10"]
|
||||||
|
|
||||||
|
myKeys =
|
||||||
|
[ (otherModMasks ++ "M-" ++ key, action tag)
|
||||||
|
| (tag, key) <- zip workspacen (words "1 2 3 4 5 6 7 8 9 0")
|
||||||
|
, (otherModMasks, action) <-
|
||||||
|
[ ("z-" , 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")
|
||||||
|
, ("M-S-c", spawn "emacsclient --eval '(emacs-everywhere)'")
|
||||||
|
, ("M-S-p", runOrRaise "nyxt" (className =? "Nyxt"))
|
||||||
|
, ("M-t", withFocused $ windows . W.sink) -- Toggle float for the focused window
|
||||||
|
, ("M-`", runOrRaise "emacs" (className =? "Emacs"))
|
||||||
|
, ("M-S-q", return ()) -- Unbind Mod + Shift + Q, to avoid quiting the wm.
|
||||||
|
, ("M-q", kill) -- Change the keybinding for closing windows to Mod + Q
|
||||||
|
, ("M-m", spawn "mpv --audio-pitch-correction=yes --vf=setpts=PTS/1 --idle")
|
||||||
|
, ("M-S-r", spawn "~/.local/bin/run_anki.sh")
|
||||||
|
, ("M-S-d", spawn "~/.local/bin/recent_journal.py | popup")
|
||||||
|
, ("M-r", runOrRaise "~/.local/bin/run_anki.sh" (className =? "Anki"))
|
||||||
|
, ("M-g", runOrRaise "foliate" (className =? "com.github.johnfactotum.Foliate"))
|
||||||
|
, ("M-S-f", sendToEmptyWorkspace) -- View an empty workspace
|
||||||
|
, ("M-f", viewEmptyWorkspace) -- View an empty workspace
|
||||||
|
, ("M-S-w", spawn "flameshot gui --path=/mnt/Data/mpv-screenshots/screenshots")
|
||||||
|
, ("M-w", spawn "~/.local/bin/copy_image.sh")
|
||||||
|
, ("M-v", easySwap)
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
myConfig = def
|
myConfig = def
|
||||||
{ modMask = mod4Mask -- Rebind Mod to the Super key
|
{ modMask = mod4Mask -- Rebind Mod to the Super key
|
||||||
, layoutHook = windowArrange myLayout -- Use custom layouts
|
, layoutHook = windowArrange myLayout -- Use custom layouts
|
||||||
, terminal = "kitty"
|
, terminal = "kitty"
|
||||||
, focusedBorderColor = "#000000"
|
, focusedBorderColor = "#000000"
|
||||||
|
, workspaces = workspacen
|
||||||
, manageHook = myManageHook -- Match on certain windows
|
, manageHook = myManageHook -- Match on certain windows
|
||||||
, startupHook = do
|
, startupHook = do
|
||||||
-- other startup commands
|
-- other startup commands
|
||||||
|
@ -76,30 +117,8 @@ myConfig = def
|
||||||
spawnOnce "emacs --daemon"
|
spawnOnce "emacs --daemon"
|
||||||
}
|
}
|
||||||
|
|
||||||
`additionalKeysP`
|
`additionalKeysP` myKeys
|
||||||
[ ("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")
|
|
||||||
, ("M-S-c", spawn "emacsclient --eval '(emacs-everywhere)'")
|
|
||||||
, ("M-S-p", runOrRaise "nyxt" (className =? "Nyxt"))
|
|
||||||
, ("M-t", withFocused $ windows . W.sink) -- Toggle float for the focused window
|
|
||||||
, ("M-`", runOrRaise "emacs" (className =? "Emacs"))
|
|
||||||
, ("M-S-q", return ()) -- Unbind Mod + Shift + Q, to avoid quiting the wm.
|
|
||||||
, ("M-q", kill) -- Change the keybinding for closing windows to Mod + Q
|
|
||||||
, ("M-m", spawn "mpv --audio-pitch-correction=yes --vf=setpts=PTS/1 --idle")
|
|
||||||
, ("M-S-r", spawn "~/.local/bin/run_anki.sh")
|
|
||||||
, ("M-S-d", spawn "~/.local/bin/recent_journal.py | popup")
|
|
||||||
, ("M-r", runOrRaise "~/.local/bin/run_anki.sh" (className =? "Anki"))
|
|
||||||
, ("M-g", runOrRaise "foliate" (className =? "com.github.johnfactotum.Foliate"))
|
|
||||||
, ("M-S-f", sendToEmptyWorkspace) -- View an empty workspace
|
|
||||||
, ("M-f", viewEmptyWorkspace) -- View an empty workspace
|
|
||||||
, ("M-S-w", spawn "flameshot gui --path=/mnt/Data/mpv-screenshots/screenshots")
|
|
||||||
, ("M-w", spawn "~/.local/bin/copy_image.sh")
|
|
||||||
, ("M-v", easySwap)
|
|
||||||
]
|
|
||||||
|
|
||||||
easySwap :: X ()
|
easySwap :: X ()
|
||||||
easySwap = do
|
easySwap = do
|
||||||
|
|
Loading…
Reference in New Issue