This commit is contained in:
Leon Kowarschick 2020-05-13 10:47:11 +02:00
parent 027ab07045
commit 8aa1804333
14 changed files with 110 additions and 69 deletions

View file

@ -3,6 +3,14 @@
Xcursor.size: 16 Xcursor.size: 16
Xcursor.theme: capitaine-cursors-light 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.lines: 5
rofi.eh: 2 rofi.eh: 2
rofi.padding: 200 rofi.padding: 200

View file

@ -3,6 +3,9 @@ fish_vi_key_bindings
set -U FZF_TMUX 1 set -U FZF_TMUX 1
set -U FZF_PREVIEW_FILE_CMD "head -n 10 | bat --color=always --decorations=never" 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 alias ls=lsd

View file

@ -40,7 +40,7 @@ SETUVAR fish_color_selection:white\x1e\x2d\x2dbold\x1e\x2d\x2dbackground\x3dbrbl
SETUVAR fish_color_status:red SETUVAR fish_color_status:red
SETUVAR fish_color_user:brgreen SETUVAR fish_color_user:brgreen
SETUVAR fish_color_valid_path:\x2d\x2dunderline 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_key_bindings:fish_vi_key_bindings
SETUVAR fish_pager_color_completion:\x1d SETUVAR fish_pager_color_completion:\x1d
SETUVAR fish_pager_color_description:B3A06D\x1eyellow SETUVAR fish_pager_color_description:B3A06D\x1eyellow

View file

@ -4,7 +4,7 @@ gtk-theme-name="Arc-Darker"
[Settings] [Settings]
gtk-theme-name=Adwaita-dark gtk-theme-name=Adwaita-dark
gtk-icon-theme-name=Arc-X-D 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-name=capitaine-cursors-light
gtk-cursor-theme-size=0 gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS

View file

@ -1,8 +1,8 @@
[geometry] [geometry]
posx=2580 posx=316
posy=43 posy=101
sizex=1246 sizex=1525
sizey=1013 sizey=1054
[nitrogen] [nitrogen]
view=icon view=icon

View file

@ -62,7 +62,7 @@ locale = de_DE.UTF-8
enable-ipc = true enable-ipc = true
padding = 0 padding = 0
;; center centered modules on screen, not between other modules ;; center centered modules on screen, not between other modules
fixed-center = true fixed-center = true
separator = "%{F#aaa}|%{F-}" separator = "%{F#aaa}|%{F-}"
separator-padding = 1 separator-padding = 1
@ -80,8 +80,8 @@ border-color = #00000000
padding-left = 0 padding-left = 0
padding-right = 2 padding-right = 2
module-margin-left = 1 module-margin-left = 0
module-margin-right = 1 module-margin-right = 0
;font-0 = fixed:pixelsize=10;2 ;font-0 = fixed:pixelsize=10;2
;font-1 = unifont:fontformat=truetype:size=8:antialias=false;0 ;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-left = xmonad bspwm
modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail date modules-center = timerDisplay spotify mpd gitlab-pipeline player-mpv-tail time
modules-right = pulseaudio-control updates-arch pulseaudio filesystem memory cpu time modules-right = pulseaudio-control updates-arch pulseaudio filesystem memory cpu date
; network-traffic ; network-traffic
tray-position = right tray-position = ${env:TRAY_POSITION:right}
tray-padding = 2 tray-padding = 2
tray-maxsize = 16 tray-maxsize = 16
tray-background = ${colors.background} tray-background = ${colors.background}
@ -114,7 +114,7 @@ cursor-scroll = ns-resize
;; }}} ;; }}}
;; MODULES ----------------------------------------------- {{{ ;; MODULES ----------------------------------------------- {{{
[module/filesystem] [module/filesystem]
@ -125,7 +125,7 @@ mount-0 = /
format-mounted = <label-mounted> format-mounted = <label-mounted>
;format-mounted-prefix = "disk: " ;format-mounted-prefix = "disk: "
;format-mounted-prefix-foreground = ${colors.foreground-alt} ;format-mounted-prefix-foreground = ${colors.foreground-alt}
format-mounted-prefix = "%{F#8ec07c} %{F-} " format-mounted-prefix = "%{F#8ec07c}%{F-} "
;format-mounted-prefix = "  " ;format-mounted-prefix = "  "
;format-mounted-underline = #0fca42 ;format-mounted-underline = #0fca42
;label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%% ;label-mounted = %{F#0a81f5}%mountpoint%%{F-}: %percentage_used%%
@ -133,33 +133,18 @@ label-mounted = %percentage_used%%
label-unmounted = %mountpoint% not mounted label-unmounted = %mountpoint% not mounted
label-unmounted-foreground = ${colors.foreground-alt} label-unmounted-foreground = ${colors.foreground-alt}
[module/mpd]
type = internal/mpd
format-online = <label-song> <icon-prev> <icon-stop> <toggle> <icon-next>
icon-prev =
icon-stop =
icon-play =
icon-pause =
icon-next =
label-song-maxlen = 25
label-song-ellipsis = true
[module/cpu] [module/cpu]
type = internal/cpu type = internal/cpu
interval = 2 interval = 2
;format-prefix-foreground = ${colors.foreground-alt} ;format-prefix-foreground = ${colors.foreground-alt}
format-prefix = "%{F#fe8019} %{F-} " format-prefix = "%{F#fe8019}%{F-} "
label = %percentage:2%% label = %percentage:2%%
[module/memory] [module/memory]
type = internal/memory type = internal/memory
interval = 2 interval = 2
;format-prefix-foreground = ${colors.foreground-alt} ;format-prefix-foreground = ${colors.foreground-alt}
format-prefix = "%{F#83a598} %{F-} " format-prefix = "%{F#83a598}%{F-} "
label = %percentage_used%% label = %percentage_used%%
[module/date] [module/date]
@ -188,10 +173,14 @@ label = "%time%"
[module/xmonad] [module/xmonad]
type = custom/script 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 tail = true
;interval = 1
;exec = "xmonad-log" [module/gpu]
type = custom/script
exec = "cat /tmp/gpu_load"
interval = 5
[module/timerDisplay] [module/timerDisplay]
@ -275,7 +264,7 @@ fuzzy-match = true
[global/wm] [global/wm]
margin-bottom = -7 margin-bottom = 0

View file

@ -3,9 +3,22 @@
killall -q polybar killall -q polybar
echo "---" | tee -a /tmp/polybar1.log /tmp/polybar2.log 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 outputs=$(xrandr --query | grep " connected" | cut -d" " -f1)
MONITOR=$m polybar -r --config=/home/leon/.config/polybar/config.ini main >>/tmp/polybar1.log 2>&1 & 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 done
#polybar --config=/home/leon/.config/polybar/config.ini main >>/tmp/polybar1.log 2>&1 & #polybar --config=/home/leon/.config/polybar/config.ini main >>/tmp/polybar1.log 2>&1 &

View file

@ -1,12 +1,27 @@
#!/bin/bash #!/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 if [ "$MONITOR" = "HDMI-A-0" ]; then
#while true; do #while true; do
tail -f /tmp/xmonad-state-bar0 tail -F /tmp/xmonad-state-bar0 | stdbuf -o0 cat | format_workspaces
#done #done
else else
#while true; do #while true; do
tail -f /tmp/xmonad-state-bar1 tail -F /tmp/xmonad-state-bar1 | stdbuf -o0 cat | format_workspaces
#done #done
fi fi

View file

@ -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://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://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://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.

View file

@ -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 bitbucket https://bitbucket-student.it.hs-heilbronn.de/projects/LABAIB
ilias https://ilias.hs-heilbronn.de/ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems ilias https://ilias.hs-heilbronn.de/ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems
git-xware https://git.xware-gmbh.de/xware 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

View file

@ -142,11 +142,11 @@ myTabTheme = def
-- layoutHints . -- layoutHints .
myLayout = avoidStruts myLayout = avoidStruts
$ smartBorders $ smartBorders
$ MTog.mkToggle1 MTog.FULL $ MTog.mkToggle1 MTog.FULL
$ ToggleLayouts.toggleLayouts resizableTabbedLayout $ ToggleLayouts.toggleLayouts resizableTabbedLayout
$ layoutHintsToCenter $ layoutHintsToCenter
$ layouts $ layouts
where where
layouts =((rename "Tall" $ onlySpacing $ mouseResizableTile {draggerType = dragger}) layouts =((rename "Tall" $ onlySpacing $ mouseResizableTile {draggerType = dragger})
@ -210,10 +210,10 @@ multiMonitorOperation operation n = do
myKeys :: [(String, X ())] myKeys :: [(String, X ())]
myKeys = myKeys =
[ ("M-+", sendMessage zoomIn) [ ("M-+", sendMessage zoomIn)
, ("M--", sendMessage zoomOut) , ("M--", sendMessage zoomOut)
, ("M-#", sendMessage zoomReset) , ("M-#", sendMessage zoomReset)
-- Tabs -- Tabs
@ -229,6 +229,11 @@ myKeys =
, ("M-C-<Tab>", onGroup W.focusUp') , ("M-C-<Tab>", onGroup W.focusUp')
, ("M-S-t", toggleTabbedLayout) , ("M-S-t", toggleTabbedLayout)
, ("M-S-<Tab>", do windows W.focusMaster
BoringWindows.focusDown
onGroup W.focusDown'
windows W.focusMaster)
--, ("M-f", toggleFullscreen) --, ("M-f", toggleFullscreen)
, ("M-f", sendMessage $ MTog.Toggle MTog.FULL) , ("M-f", sendMessage $ MTog.Toggle MTog.FULL)
@ -271,10 +276,10 @@ myKeys =
generatedMappings = windowGoMappings ++ windowSwapMappings ++ resizeMappings ++ workspaceMappings generatedMappings = windowGoMappings ++ windowSwapMappings ++ resizeMappings ++ workspaceMappings
where where
workspaceMappings = workspaceMappings =
[ (mappingPrefix ++ show wspNum, [ (mappingPrefix ++ show wspNum,
do do
-- get all workspaces from the config by running an X action to query the config -- 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)) windows $ onCurrentScreen action (wsps !! (wspNum - 1))
) )
| (wspNum) <- [1..9 :: Int] | (wspNum) <- [1..9 :: Int]
@ -292,9 +297,9 @@ myKeys =
, ("M-C-l", ifLayoutIs "BSP" (sendMessage $ ExpandTowards R) (ifLayoutIs "Horizon" (sendMessage ExpandSlave) (sendMessage Expand))) , ("M-C-l", ifLayoutIs "BSP" (sendMessage $ ExpandTowards R) (ifLayoutIs "Horizon" (sendMessage ExpandSlave) (sendMessage Expand)))
] ]
toggleTabbedLayout :: X () toggleTabbedLayout :: X ()
toggleTabbedLayout = do toggleTabbedLayout = do
sendMessage $ ToggleLayouts.Toggle "Tabbed" sendMessage $ ToggleLayouts.Toggle "Tabbed"
ifLayoutIs "Tabbed" (do BoringWindows.focusMaster ifLayoutIs "Tabbed" (do BoringWindows.focusMaster
withFocused (sendMessage . MergeAll) withFocused (sendMessage . MergeAll)
@ -396,7 +401,7 @@ main = do
let myConfig = desktopConfig let myConfig = desktopConfig
{ terminal = myTerminal { terminal = myTerminal
, workspaces = withScreens (fromIntegral currentScreenCount) (map show [1..9 :: Int]) , workspaces = withScreens (fromIntegral currentScreenCount) (map show [1..5 :: Int])
, modMask = myModMask , modMask = myModMask
, borderWidth = 2 , borderWidth = 2
, layoutHook = myLayout , layoutHook = myLayout
@ -415,8 +420,6 @@ main = do
$ Nav2d.withNavigation2DConfig def { Nav2d.defaultTiledNavigation = Nav2d.sideNavigation } $ Nav2d.withNavigation2DConfig def { Nav2d.defaultTiledNavigation = Nav2d.sideNavigation }
$ myConfig $ myConfig
-- }}} -- }}}
-- POLYBAR Kram -------------------------------------- {{{ -- POLYBAR Kram -------------------------------------- {{{
@ -431,27 +434,25 @@ polybarLogHook monitor = do
-- swapping namedScratchpadFilterOutWorkspacePP and marshallPP will throw "Prelude.read no Parse" errors..... wtf -- swapping namedScratchpadFilterOutWorkspacePP and marshallPP will throw "Prelude.read no Parse" errors..... wtf
-- | create a polybar Pretty printer, marshalled for given monitor. -- | create a polybar Pretty printer, marshalled for given monitor.
polybarPP :: Int -> PP polybarPP :: Int -> PP
polybarPP monitor = namedScratchpadFilterOutWorkspacePP $ marshallPP (fromIntegral monitor) $ def polybarPP monitor = namedScratchpadFilterOutWorkspacePP $ marshallPP (fromIntegral monitor) $ def
{ ppCurrent = withFG aqua . withMargin { ppCurrent = withFG aqua . withMargin . const "__active__"
--ppCurrent = withBG bg2 , ppVisible = withFG aqua . withMargin . const "__active__"
, ppVisible = withFG aqua . withMargin , ppUrgent = withFG red . withMargin . const "__urgent__"
, ppUrgent = withFG red . withMargin , ppHidden = withFG gray . (\wsp -> wrapOnClickCmd ("xdotool key super+" ++ wsp) $ withMargin "__hidden__")
, ppLayout = removeWord "Minimize" . removeWord "Hinted" . removeWord "Spacing" . withFG purple . withMargin , ppHiddenNoWindows = withFG gray . (\wsp -> wrapOnClickCmd ("xdotool key super+" ++ wsp) $ withMargin "__empty__")
, ppHidden = withMargin . withFG gray . unwords . map wrapOpenWorkspaceCmd . words , ppWsSep = ""
, ppWsSep = "" , ppSep = " | "
, ppSep = " | " , ppLayout = removeWord "Minimize" . removeWord "Hinted" . removeWord "Spacing" . withFG purple . withMargin
, ppExtras = [] , ppExtras = []
, ppTitle = const "" -- withFG aqua . (shorten 40) , ppTitle = const "" -- withFG aqua . (shorten 40)
} }
where where
withMargin = wrap " " " " withMargin = wrap " " " "
removeWord substr = unwords . filter (/= substr) . words removeWord substr = unwords . filter (/= substr) . words
withBG col = wrap ("%{B" ++ col ++ "}") "%{B-}" withBG col = wrap ("%{B" ++ col ++ "}") "%{B-}"
withFG col = wrap ("%{F" ++ col ++ "}") "%{F-}" 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}" wrapOnClickCmd command = wrap ("%{A1:" ++ command ++ ":}") "%{A}"
-- }}} -- }}}
@ -479,7 +480,7 @@ ifLayoutIs layoutAName = ifLayoutName (== layoutAName)
ifLayoutName :: (String -> Bool) -> X a -> X a -> X a ifLayoutName :: (String -> Bool) -> X a -> X a -> X a
ifLayoutName check onLayoutA onLayoutB = do ifLayoutName check onLayoutA onLayoutB = do
layout <- getActiveLayoutDescription layout <- getActiveLayoutDescription
if (check layout) then onLayoutA else onLayoutB if (check layout) then onLayoutA else onLayoutB
-- Get the name of the active layout. -- Get the name of the active layout.

View file

@ -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

5
files/scripts/conf Executable file
View file

@ -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"