general update

This commit is contained in:
Luddifee 2021-07-26 17:09:53 +02:00
parent 4ad20f8351
commit ca518f26eb
No known key found for this signature in database
GPG Key ID: 21AC8D2CC02D7CCC
3 changed files with 77 additions and 118 deletions

View File

@ -1,22 +1,28 @@
import qualified Data.Map as M
import Data.Monoid
import System.Exit
import XMonad
import XMonad.Util.Run
import XMonad.Util.SpawnOnce
import XMonad.Util.EZConfig
import XMonad.Layout.Spacing
import XMonad.Hooks.ManageDocks
import qualified XMonad.StackSet as W
myTerminal :: String
myTerminal = "kitty"
myBrowser :: String
myBrowser = "brave"
myBrowser = "firefox"
myAltBrowser :: String
myAltBrowser = "brave"
myAppMenu :: String
myAppMenu = "rofi -show run"
myAppMenuThemes :: String
myAppMenuThemes = "rofi-theme-selector"
@ -26,7 +32,7 @@ myFocusFollowsMouse = True
myClickJustFocuses :: Bool
myClickJustFocuses = False
myBorderWidth = 3
myBorderWidth = 5
myModMask = mod4Mask
@ -35,79 +41,40 @@ myWorkspaces = ["1", "2", "3", "4", "5", "6", "7", "8", "9"]
myNormalBorderColor = "#dddddd"
myFocusedBorderColor = "#ff8700"
myKeys conf@(XConfig {XMonad.modMask = modm}) =
M.fromList $
-- launch a terminal
[ ((modm, xK_Return), spawn $ XMonad.terminal conf),
-- launch dmenu
((modm, xK_p), spawn myAppMenu),
-- launch gmrun
((modm .|. shiftMask, xK_p), spawn myAppMenuThemes),
-- close focused window
((modm, xK_q), kill),
-- Rotate through the available layout algorithms
((modm, xK_space), sendMessage NextLayout),
-- Reset the layouts on the current workspace to default
((modm .|. shiftMask, xK_space), setLayout $ XMonad.layoutHook conf),
-- Resize viewed windows to the correct size
((modm, xK_n), refresh),
-- Move focus to the next window
((modm, xK_Tab), windows W.focusDown),
-- Move focus to the next window
((modm, xK_j), windows W.focusDown),
-- Move focus to the previous window
((modm, xK_k), windows W.focusUp),
-- Move focus to the master window
((modm, xK_m), windows W.focusMaster),
-- Swap the focused window and the master window
((modm, xK_s), windows W.swapMaster),
-- Swap the focused window with the next window
((modm .|. shiftMask, xK_j), windows W.swapDown),
-- Swap the focused window with the previous window
((modm .|. shiftMask, xK_k), windows W.swapUp),
-- Shrink the master area
((modm, xK_h), sendMessage Shrink),
-- Expand the master area
((modm, xK_l), sendMessage Expand),
-- Push window back into tiling
((modm, xK_t), withFocused $ windows . W.sink),
-- Increment the number of windows in the master area
((modm, xK_comma), sendMessage (IncMasterN 1)),
-- Deincrement the number of windows in the master area
((modm, xK_period), sendMessage (IncMasterN (-1))),
-- Toggle the status bar gap
-- Use this binding with avoidStruts from Hooks.ManageDocks.
-- See also the statusBar function from Hooks.DynamicLog.
--
-- , ((modm , xK_b ), sendMessage ToggleStruts)
myKeys :: [(String, X ())]
myKeys = [
-- spawning keybindings
("M-<Return>" , spawn myTerminal),
("M-d" , spawn myAppMenu),
("M-S-d" , spawn myAppMenuThemes),
("M-i" , spawn myBrowser),
("M-S-i" , spawn myAltBrowser),
-- Launch Browser
((modm, xK_i), spawn myBrowser),
((modm .|. shiftMask, xK_s), spawn "systemctl suspend"),
-- Quit xmonad
((modm .|. shiftMask, xK_q), io (exitWith ExitSuccess)),
-- Restart xmonad
((modm .|. shiftMask, xK_o), spawn "xmonad --recompile; xmonad --restart")
]
++
--
-- mod-[1..9], Switch to workspace N
-- mod-shift-[1..9], Move client to workspace N
--
[ ((m .|. modm, k), windows $ f i)
| (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9],
(f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]
]
++
--
--
-- mod-{w,e,r}, Switch to physical/Xinerama screens 1, 2, or 3
-- mod-shift-{w,e,r}, Move client to screen 1, 2, or 3
--
[ ((m .|. modm, key), screenWorkspace sc >>= flip whenJust (windows . f))
| (key, sc) <- zip [xK_w, xK_e, xK_r] [0 ..],
(f, m) <- [(W.view, 0), (W.shift, shiftMask)]
]
-- killing, exiting and suspending keybindings
("M-q" , kill),
("M-S-q" , io (exitWith ExitSuccess)),
("M-S-b" , spawn "systemctl suspend"),
-- restarting and recompiling keybindings
("M-r" , spawn "xmonad --restart"),
("M-S-r" , spawn "xmonad --recompile; xmonad --restart"),
-- window keybindings
("M-<Tab>" , windows W.focusDown),
("M-S-<Tab>" , windows W.focusMaster),
-- brightness keybindings
("<XF86MonBrightnessUp>" , spawn "light -A 2"),
("<XF86MonBrightnessDown>" , spawn "light -U 2"),
-- touchpad keybinding(s)
("<XF86TouchpadToggle>" , spawn "bash -c \"[ \"$(xinput list-props 11 | grep 'Device Enabled' | grep -o '[01]$')\" == \"1\" ] && xinput --disable 11 || xinput --enable 11\""),
-- multimedia keybindings
("<XF86AudioRaiseVolume>" , spawn "amixer set Master 2%+"),
("<XF86AudioLowerVolume>" , spawn "amixer set Master 2%-"),
("<XF86AudioMute>" , spawn "amixer set Master toggle"),
("M-<Print>" , spawn "bash -c \"gnome-screenshot -af /tmp/screenshot && cat /tmp/screenshot | xclip -i -selection clipboard -target image/png\"") ]
------------------------------------------------------------------------
-- Mouse bindings: default actions bound to mouse events
@ -133,41 +100,30 @@ myMouseBindings (XConfig {XMonad.modMask = modm}) =
-- you may also bind events to the mouse scroll wheel (button4 and button5)
]
myLayout = spacing 24 $ avoidStruts (tiled ||| Mirror tiled ||| Full)
myLayout = spacing 12 $ avoidStruts (tiled ||| Mirror tiled ||| Full)
where
tiled = Tall nmaster delta ratio
nmaster = 1
ratio = 1/2
delta = 3/100
myManageHook =
composeAll
[ className =? "MPlayer" --> doFloat,
myManageHook = composeAll [
className =? "Gimp" --> doFloat,
resource =? "desktop_window" --> doIgnore,
resource =? "kdesktop" --> doIgnore
]
resource =? "desktop_window" --> doIgnore ]
myEventHook = mempty
myLogHook = return ()
myStartupHook = do
spawnOnce "xrandr --output DP-0 --primary --left-of HDMI-0 --auto &"
spawnOnce "nitrogen --restore &"
spawnOnce "killall picom; picom --config ~/.config/picom/picom.conf --vsync &"
spawnOnce "killall jackd;"
myStartupHook = return ()
main = do
-- xmproc0 <- spawnPipe ""
xmproc0 <- spawnPipe "killall xmobar; xmobar ~/.config/xmobar/xmobar.config"
xmproc1 <- spawnPipe "jackd"
xmproc0 <- spawnPipe "nitrogen --restore"
xmproc1 <- spawnPipe "killall picom; picom --config ~/.config/picom/picom.conf --vsync &"
xmproc2 <- spawnPipe "killall xmobar; xmobar ~/.config/xmobar/xmobar.config"
xmonad $ docks defaults
defaults =
def
{ -- simple stuff
defaults = def {
terminal = myTerminal,
focusFollowsMouse = myFocusFollowsMouse,
clickJustFocuses = myClickJustFocuses,
@ -176,14 +132,15 @@ defaults =
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,
-- key bindings
keys = myKeys,
-- bindings
mouseBindings = myMouseBindings,
-- hooks, layouts
-- hooks
layoutHook = myLayout,
manageHook = myManageHook,
handleEventHook = myEventHook,
logHook = myLogHook,
startupHook = myStartupHook
}
} `additionalKeysP` myKeys

View File

@ -89,6 +89,9 @@ ipkg picom
mkdir -p ~/.config/picom
cp $FILEDIR/.config/picom/picom.conf ~/.config/picom/
# install gnome-screenshot
ipkg gnome-screenshot
# install xmonad and xmobar
ipkg xmonad
ipkg xmonad-utils
@ -101,6 +104,7 @@ ipkg rofi
# install keepassxc
ipkg keepassxc
# copy backgrounds
# setup background stuff
ipkg nitrogen
mkdir -p ~/.local/share/backgrounds
cp $FILEDIR/backgrounds/* ~/.local/share/backgrounds/

View File

@ -11,8 +11,6 @@ cp $FILEDIR/.config/xmobar/xmobar-laptop.config ~/.config/xmobar/xmobar.config
# setup backlight
ipkg_yay light
echo "#\!/bin/sh" > /etc/rc.local
echo "chown $USER /sys/class/backlight/amdgpu_bl0/brightness" >> /etc/rc.local
echo "exit 0" >> /etc/rc.local
sudo sh -c "printf \"#\!/bin/sh\nchown $USER /sys/class/backlight/amdgpu_bl0/brightness\nexit 0\n\" > /etc/rc.local"
sudo reboot