diff --git a/files/.Xresources b/files/.Xresources index b814af6..5a81bdf 100644 --- a/files/.Xresources +++ b/files/.Xresources @@ -3,6 +3,14 @@ Xcursor.size: 16 Xcursor.theme: capitaine-cursors-light +Xft.autohint: 0 +Xft.antialias: 1 +Xft.hinting: true +Xft.hintstyle: hintslight +Xft.dpi: 96 +Xft.rgba: rgb +Xft.lcdfilter: lcddefault + rofi.lines: 5 rofi.eh: 2 rofi.padding: 200 diff --git a/files/.config/fish/config.fish b/files/.config/fish/config.fish index 576e305..3ebc6b5 100644 --- a/files/.config/fish/config.fish +++ b/files/.config/fish/config.fish @@ -3,6 +3,9 @@ fish_vi_key_bindings set -U FZF_TMUX 1 set -U FZF_PREVIEW_FILE_CMD "head -n 10 | bat --color=always --decorations=never" +set -U fish_greeting +#function fish_greeting +#end alias ls=lsd diff --git a/files/.config/fish/fish_variables b/files/.config/fish/fish_variables index a6c8a9f..a9f73df 100644 --- a/files/.config/fish/fish_variables +++ b/files/.config/fish/fish_variables @@ -40,7 +40,7 @@ SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrbl SETUVAR fish_color_status:red SETUVAR fish_color_user:brgreen SETUVAR fish_color_valid_path:\x2d\x2dunderline -SETUVAR fish_greeting:Willkommen\x20zu\x20fish\x2c\x20der\x20freundlichen\x20interaktiven\x20Shell\x0aType\x20\x60help\x60\x20for\x20instructions\x20on\x20how\x20to\x20use\x20fish +SETUVAR fish_greeting:\x1d SETUVAR fish_key_bindings:fish_vi_key_bindings SETUVAR fish_pager_color_completion:\x1d SETUVAR fish_pager_color_description:B3A06D\x1eyellow diff --git a/files/.config/gtk-3.0/settings.ini b/files/.config/gtk-3.0/settings.ini index 928a81b..d3418f2 100644 --- a/files/.config/gtk-3.0/settings.ini +++ b/files/.config/gtk-3.0/settings.ini @@ -4,7 +4,7 @@ gtk-theme-name="Arc-Darker" [Settings] gtk-theme-name=Adwaita-dark gtk-icon-theme-name=Arc-X-D -gtk-font-name=Noto Sans 10 +gtk-font-name=Sans 10 gtk-cursor-theme-name=capitaine-cursors-light gtk-cursor-theme-size=0 gtk-toolbar-style=GTK_TOOLBAR_ICONS diff --git a/files/.config/nitrogen/nitrogen.cfg b/files/.config/nitrogen/nitrogen.cfg index 3b10a21..ffed03d 100644 --- a/files/.config/nitrogen/nitrogen.cfg +++ b/files/.config/nitrogen/nitrogen.cfg @@ -1,8 +1,8 @@ [geometry] -posx=2580 -posy=43 -sizex=1246 -sizey=1013 +posx=316 +posy=101 +sizex=1525 +sizey=1054 [nitrogen] view=icon diff --git a/files/.config/polybar/config.ini b/files/.config/polybar/config.ini index 29367e8..fec752a 100644 --- a/files/.config/polybar/config.ini +++ b/files/.config/polybar/config.ini @@ -62,7 +62,7 @@ locale = de_DE.UTF-8 enable-ipc = true padding = 0 ;; center centered modules on screen, not between other modules -fixed-center = true +fixed-center = true separator = "%{F#aaa}|%{F-}" separator-padding = 1 @@ -80,8 +80,8 @@ border-color = #00000000 padding-left = 0 padding-right = 2 -module-margin-left = 1 -module-margin-right = 1 +module-margin-left = 0 +module-margin-right = 0 ;font-0 = fixed:pixelsize=10;2 ;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 @@ -99,11 +99,11 @@ font-3 = "Iosevka Nerd Font:size=17;4" modules-left = xmonad bspwm -modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail date -modules-right = pulseaudio-control updates-arch pulseaudio filesystem memory cpu time +modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail time +modules-right = pulseaudio-control updates-arch pulseaudio filesystem memory cpu date ; network-traffic -tray-position = right +tray-position = ${env:TRAY_POSITION:right} tray-padding = 2 tray-maxsize = 16 tray-background = ${colors.background} @@ -114,7 +114,7 @@ cursor-scroll = ns-resize ;; }}} -;; MODULES ----------------------------------------------- {{{ +;; MODULES ----------------------------------------------- {{{ [module/filesystem] @@ -125,7 +125,7 @@ mount-0 = / format-mounted = ;format-mounted-prefix = "disk: " ;format-mounted-prefix-foreground = ${colors.foreground-alt} -format-mounted-prefix = "%{F#8ec07c}  %{F-} " +format-mounted-prefix = "%{F#8ec07c}%{F-} " ;format-mounted-prefix = "  " ;format-mounted-underline = #0fca42 ;label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% @@ -133,33 +133,18 @@ label-mounted = %percentage_used%% label-unmounted = %mountpoint% not mounted label-unmounted-foreground = ${colors.foreground-alt} - -[module/mpd] -type = internal/mpd -format-online = - -icon-prev =  -icon-stop =  -icon-play =  -icon-pause =  -icon-next =  - -label-song-maxlen = 25 -label-song-ellipsis = true - - [module/cpu] type = internal/cpu interval = 2 ;format-prefix-foreground = ${colors.foreground-alt} -format-prefix = "%{F#fe8019}  %{F-} " +format-prefix = "%{F#fe8019}%{F-} " label = %percentage:2%% [module/memory] type = internal/memory interval = 2 ;format-prefix-foreground = ${colors.foreground-alt} -format-prefix = "%{F#83a598}  %{F-} " +format-prefix = "%{F#83a598}%{F-} " label = %percentage_used%% [module/date] @@ -188,10 +173,14 @@ label = "%time%" [module/xmonad] type = custom/script -exec = "/home/leon/.config/polybar/polybar-scripts/xmonad-status.sh" +exec = "~/.config/polybar/polybar-scripts/xmonad-status.sh" +label = " %output%" tail = true -;interval = 1 -;exec = "xmonad-log" + +[module/gpu] +type = custom/script +exec = "cat /tmp/gpu_load" +interval = 5 [module/timerDisplay] @@ -275,7 +264,7 @@ fuzzy-match = true [global/wm] -margin-bottom = -7 +margin-bottom = 0 diff --git a/files/.config/polybar/launch.sh b/files/.config/polybar/launch.sh index 3874b7f..e1da44d 100755 --- a/files/.config/polybar/launch.sh +++ b/files/.config/polybar/launch.sh @@ -3,9 +3,22 @@ killall -q polybar echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log -# for loop only for multi monitor -for m in $(xrandr --query | grep " connected" | cut -d" " -f1); do - MONITOR=$m polybar -r --config=/home/leon/.config/polybar/config.ini main >>/tmp/polybar1.log 2>&1 & + +outputs=$(xrandr --query | grep " connected" | cut -d" " -f1) +tray_output=HDMI-A-0 +for m in $outputs; do + if [[ $m == "DisplayPort-1" ]]; then + tray_output=$m + fi +done + +for m in $outputs; do + export MONITOR=$m + export TRAY_POSITION=none + if [[ $m == "$tray_output" ]]; then + TRAY_POSITION=right + fi + MONITOR=$m polybar -r --config=/home/leon/.config/polybar/config.ini main & # >>/tmp/polybar1.log 2>&1 & done #polybar --config=/home/leon/.config/polybar/config.ini main >>/tmp/polybar1.log 2>&1 & diff --git a/files/.config/polybar/polybar-scripts/xmonad-status.sh b/files/.config/polybar/polybar-scripts/xmonad-status.sh index 0e4824b..fed62f1 100755 --- a/files/.config/polybar/polybar-scripts/xmonad-status.sh +++ b/files/.config/polybar/polybar-scripts/xmonad-status.sh @@ -1,12 +1,27 @@ #!/bin/bash +format_workspaces() { + while read -r line; do + echo "$line" \ + | sed 's/__active__/⬤/g' \ + | sed 's/__urgent__/⬤/g' \ + | sed 's/__hidden__/⬤/g' \ + | sed 's/__empty__/⭕/g' \ + | perl -pe 's/((?:%{F#888974*?}%{A1:.*} __empty__ %{A}%{F-} ?)*)(?!.*\1)//g' + done +} + + + + + if [ "$MONITOR" = "HDMI-A-0" ]; then #while true; do - tail -f /tmp/xmonad-state-bar0 + tail -F /tmp/xmonad-state-bar0 | stdbuf -o0 cat | format_workspaces #done else #while true; do - tail -f /tmp/xmonad-state-bar1 + tail -F /tmp/xmonad-state-bar1 | stdbuf -o0 cat | format_workspaces #done fi diff --git a/files/.config/qutebrowser/bookmarks/urls b/files/.config/qutebrowser/bookmarks/urls index ab50260..1de82de 100644 --- a/files/.config/qutebrowser/bookmarks/urls +++ b/files/.config/qutebrowser/bookmarks/urls @@ -14,3 +14,5 @@ https://lebenslauf.com/?theme=Belleza&utm_source=tabellarischer-lebenslauf.net&u https://rust-unofficial.github.io/too-many-lists/index.html Introduction - Learning Rust With Entirely Too Many Linked Lists https://wiki.haskell.org/GHC_optimisations#Fusion GHC optimisations - HaskellWiki https://github.com/ViktorNova/architect ViktorNova/architect: Automatically builds native packages for any Linux distribution using the source code repositories from Arch Linux and the Arch User Repository (AUR) +https://stackoverflow.com/questions/38252123/piping-tail-f-to-cut-to-sed-produces-no-output linux - Piping tail -f to cut to sed produces no output - Stack Overflow +https://start.duckduckgo.com/ DuckDuckGo — Privacy, simplified. diff --git a/files/.config/qutebrowser/quickmarks b/files/.config/qutebrowser/quickmarks index 0f5e93f..825837b 100644 --- a/files/.config/qutebrowser/quickmarks +++ b/files/.config/qutebrowser/quickmarks @@ -4,3 +4,4 @@ confluence https://confluence-student.it.hs-heilbronn.de/display/AIB/AIB_LabSWP_ bitbucket https://bitbucket-student.it.hs-heilbronn.de/projects/LABAIB ilias https://ilias.hs-heilbronn.de/ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems git-xware https://git.xware-gmbh.de/xware +THE solution https://stackoverflow.com/questions/38252123/piping-tail-f-to-cut-to-sed-produces-no-output diff --git a/files/.xmonad/.stack-work/stack.sqlite3 b/files/.xmonad/.stack-work/stack.sqlite3 index 3f4b3d7..b0cc5d9 100644 Binary files a/files/.xmonad/.stack-work/stack.sqlite3 and b/files/.xmonad/.stack-work/stack.sqlite3 differ diff --git a/files/.xmonad/lib/Config.hs b/files/.xmonad/lib/Config.hs index 90b82a2..3c96863 100644 --- a/files/.xmonad/lib/Config.hs +++ b/files/.xmonad/lib/Config.hs @@ -142,11 +142,11 @@ myTabTheme = def -- layoutHints . -myLayout = avoidStruts - $ smartBorders - $ MTog.mkToggle1 MTog.FULL +myLayout = avoidStruts + $ smartBorders + $ MTog.mkToggle1 MTog.FULL $ ToggleLayouts.toggleLayouts resizableTabbedLayout - $ layoutHintsToCenter + $ layoutHintsToCenter $ layouts where layouts =((rename "Tall" $ onlySpacing $ mouseResizableTile {draggerType = dragger}) @@ -210,10 +210,10 @@ multiMonitorOperation operation n = do myKeys :: [(String, X ())] -myKeys = - [ ("M-+", sendMessage zoomIn) - , ("M--", sendMessage zoomOut) - , ("M-#", sendMessage zoomReset) +myKeys = + [ ("M-+", sendMessage zoomIn) + , ("M--", sendMessage zoomOut) + , ("M-#", sendMessage zoomReset) -- Tabs @@ -229,6 +229,11 @@ myKeys = , ("M-C-", onGroup W.focusUp') , ("M-S-t", toggleTabbedLayout) + , ("M-S-", do windows W.focusMaster + BoringWindows.focusDown + onGroup W.focusDown' + windows W.focusMaster) + --, ("M-f", toggleFullscreen) , ("M-f", sendMessage $ MTog.Toggle MTog.FULL) @@ -271,10 +276,10 @@ myKeys = generatedMappings = windowGoMappings ++ windowSwapMappings ++ resizeMappings ++ workspaceMappings where workspaceMappings = - [ (mappingPrefix ++ show wspNum, + [ (mappingPrefix ++ show wspNum, do -- get all workspaces from the config by running an X action to query the config - wsps <- workspaces' <$> asks config + wsps <- workspaces' <$> asks config windows $ onCurrentScreen action (wsps !! (wspNum - 1)) ) | (wspNum) <- [1..9 :: Int] @@ -292,9 +297,9 @@ myKeys = , ("M-C-l", ifLayoutIs "BSP" (sendMessage $ ExpandTowards R) (ifLayoutIs "Horizon" (sendMessage ExpandSlave) (sendMessage Expand))) ] - + toggleTabbedLayout :: X () - toggleTabbedLayout = do + toggleTabbedLayout = do sendMessage $ ToggleLayouts.Toggle "Tabbed" ifLayoutIs "Tabbed" (do BoringWindows.focusMaster withFocused (sendMessage . MergeAll) @@ -396,7 +401,7 @@ main = do let myConfig = desktopConfig { terminal = myTerminal - , workspaces = withScreens (fromIntegral currentScreenCount) (map show [1..9 :: Int]) + , workspaces = withScreens (fromIntegral currentScreenCount) (map show [1..5 :: Int]) , modMask = myModMask , borderWidth = 2 , layoutHook = myLayout @@ -415,8 +420,6 @@ main = do $ Nav2d.withNavigation2DConfig def { Nav2d.defaultTiledNavigation = Nav2d.sideNavigation } $ myConfig - - -- }}} -- POLYBAR Kram -------------------------------------- {{{ @@ -431,27 +434,25 @@ polybarLogHook monitor = do -- swapping namedScratchpadFilterOutWorkspacePP and marshallPP will throw "Prelude.read no Parse" errors..... wtf -- | create a polybar Pretty printer, marshalled for given monitor. + polybarPP :: Int -> PP polybarPP monitor = namedScratchpadFilterOutWorkspacePP $ marshallPP (fromIntegral monitor) $ def - { ppCurrent = withFG aqua . withMargin - --ppCurrent = withBG bg2 - , ppVisible = withFG aqua . withMargin - , ppUrgent = withFG red . withMargin - , ppLayout = removeWord "Minimize" . removeWord "Hinted" . removeWord "Spacing" . withFG purple . withMargin - , ppHidden = withMargin . withFG gray . unwords . map wrapOpenWorkspaceCmd . words - , ppWsSep = "" - , ppSep = " | " - , ppExtras = [] - , ppTitle = const "" -- withFG aqua . (shorten 40) + { ppCurrent = withFG aqua . withMargin . const "__active__" + , ppVisible = withFG aqua . withMargin . const "__active__" + , ppUrgent = withFG red . withMargin . const "__urgent__" + , ppHidden = withFG gray . (\wsp -> wrapOnClickCmd ("xdotool key super+" ++ wsp) $ withMargin "__hidden__") + , ppHiddenNoWindows = withFG gray . (\wsp -> wrapOnClickCmd ("xdotool key super+" ++ wsp) $ withMargin "__empty__") + , ppWsSep = "" + , ppSep = " | " + , ppLayout = removeWord "Minimize" . removeWord "Hinted" . removeWord "Spacing" . withFG purple . withMargin + , ppExtras = [] + , ppTitle = const "" -- withFG aqua . (shorten 40) } where withMargin = wrap " " " " removeWord substr = unwords . filter (/= substr) . words withBG col = wrap ("%{B" ++ col ++ "}") "%{B-}" withFG col = wrap ("%{F" ++ col ++ "}") "%{F-}" - wrapOpenWorkspaceCmd wsp - | all isDigit wsp = wrapOnClickCmd ("xdotool key super+" ++ wsp) wsp - | otherwise = wsp wrapOnClickCmd command = wrap ("%{A1:" ++ command ++ ":}") "%{A}" -- }}} @@ -479,7 +480,7 @@ ifLayoutIs layoutAName = ifLayoutName (== layoutAName) ifLayoutName :: (String -> Bool) -> X a -> X a -> X a ifLayoutName check onLayoutA onLayoutB = do - layout <- getActiveLayoutDescription + layout <- getActiveLayoutDescription if (check layout) then onLayoutA else onLayoutB -- Get the name of the active layout. diff --git a/files/scripts/bookmarks/config_files b/files/scripts/bookmarks/config_files new file mode 100644 index 0000000..1f5bc7e --- /dev/null +++ b/files/scripts/bookmarks/config_files @@ -0,0 +1,4 @@ +xmonad /home/leon/.xmonad/lib/Config.hs +polybar /home/leon/.config/polybar/config.ini +picom /home/leon/.config/picom.conf +vimrc /home/leon/.vimrc diff --git a/files/scripts/conf b/files/scripts/conf new file mode 100755 index 0000000..22592f1 --- /dev/null +++ b/files/scripts/conf @@ -0,0 +1,5 @@ +#!/bin/bash +selected=$(cat /home/leon/scripts/bookmarks/config_files | awk '{print $1}' | fzf) +test "$selected" = "" && exit 1 +file=$(grep "$selected" /home/leon/scripts/bookmarks/config_files | sed -r 's/^\w*\s+(.*)$/\1/g') +nvim "$file"