From e890e496bdceb1b6bccb6b7d248563abf3e0d135 Mon Sep 17 00:00:00 2001 From: 4Lost Date: Thu, 7 Mar 2024 20:45:47 +0100 Subject: [PATCH] xmobar - audio --- home/TODOS.md | 13 ----------- home/programs/xmonad/default.nix | 2 +- .../xmonad/src/xmobar/scripts/audio.sh | 22 +++++++++++++++++++ home/programs/xmonad/src/xmobar/xmobar.hs | 7 +++--- home/programs/xmonad/src/xmonad.hs | 14 ++++++++---- 5 files changed, 37 insertions(+), 21 deletions(-) create mode 100755 home/programs/xmonad/src/xmobar/scripts/audio.sh diff --git a/home/TODOS.md b/home/TODOS.md index af2f3d7..7ea0003 100644 --- a/home/TODOS.md +++ b/home/TODOS.md @@ -114,10 +114,6 @@ - mit alsa - Workspaces -## git - -- Packete signieren für github - ## Nautilus - Thumbnailer @@ -132,15 +128,6 @@ - Sperrbild? - Wann sperren -> XMonad -## XMoBar - -- Zur Leiste hinzufügen - - Uhrzeit - - Akku - - Netzwerk - - i3? - - Audio - ## Dateien - Sortieren diff --git a/home/programs/xmonad/default.nix b/home/programs/xmonad/default.nix index 779e2ee..f50aeda 100644 --- a/home/programs/xmonad/default.nix +++ b/home/programs/xmonad/default.nix @@ -12,5 +12,5 @@ }; }; - home.packages = [ pkgs.xmobar ]; + home.packages = with pkgs; [ xmobar maim ]; } diff --git a/home/programs/xmonad/src/xmobar/scripts/audio.sh b/home/programs/xmonad/src/xmobar/scripts/audio.sh new file mode 100755 index 0000000..5296dac --- /dev/null +++ b/home/programs/xmonad/src/xmobar/scripts/audio.sh @@ -0,0 +1,22 @@ +Status=$(pulseaudio-ctl full-status) +Volume=$(cut -d ' ' -f 1 <<<$Status) +Mute=$(cut -d ' ' -f 2 <<<$Status) +Microphone=$(cut -d ' ' -f 3 <<<$Status) + +if [[ $Mute == "yes" ]]; then + Symbol="\xe04f" +else + if [[ $Volume -le 50 ]]; then + Symbol="\xe04d" + else + Symbol="\xe050" + fi +fi + +if [[ $Microphone == *"yes"* ]]; then + MicOut="\xe02b" +else + MicOut="\xe029" +fi + +echo "$Symbol $Volume% $MicOut" diff --git a/home/programs/xmonad/src/xmobar/xmobar.hs b/home/programs/xmonad/src/xmobar/xmobar.hs index 429e9e5..427778c 100644 --- a/home/programs/xmonad/src/xmobar/xmobar.hs +++ b/home/programs/xmonad/src/xmobar/xmobar.hs @@ -3,7 +3,7 @@ import Xmobar config :: Config config = defaultConfig - { font = "Fira Code" + { font = "Fira Code 9" , position = TopH 30 , borderColor = "#402339" , border = FullB @@ -13,6 +13,7 @@ config = , commands = [ Run $ Com "./scripts/backlight.sh" [] "backlight" 10 + Run $ Com "./scripts/audio.sh" [] "audio" 10 Run $ Cpu [ "--template", "\xf085 %" @@ -38,7 +39,7 @@ config = , "--" , "--on", "\xe050>/fc> " ] - , Run $ Date "\xf017 %d.%m.%y %H:%M" "date" 300 + , Run $ Date "\xf017 %a %d.%m.%y %H:%M" "date" 300 , Run $ DynNetwork [ "-t","\xf063 \xf062 " @@ -68,7 +69,7 @@ config = ] , sepChar = "%" , alignSep = "}{" - , template = "%XMonadLog% }{ %backlight% | %cpu% | %memory% | %battery% | %dynnetwork% | %date% " + , template = "%XMonadLog% }{ %audio% | %backlight% | %cpu% | %memory% | %battery% | %dynnetwork% | %date% " } main :: IO () diff --git a/home/programs/xmonad/src/xmonad.hs b/home/programs/xmonad/src/xmonad.hs index 3a4454f..f468c28 100644 --- a/home/programs/xmonad/src/xmonad.hs +++ b/home/programs/xmonad/src/xmonad.hs @@ -11,6 +11,7 @@ import XMonad.Util.ClickableWorkspaces import XMonad.Util.Loggers import Data.ByteString (maximum) import Text.XHtml (gray) +import Distribution.Compat.Prelude (print) main = xmonad . ewmhFullscreen . ewmh . withEasySB (statusBarProp "xmobar" (pure myXmobarPP)) defToggleStrutsKey $ myconfig @@ -24,14 +25,19 @@ myconfig = def } `additionalKeysP` [ + -- System ("M-p", spawn "rofi -show \"drun\"") + , ("", spawn "maim --format=png \"/home/elias/Pictures/screenshot-$(date -u +'%Y-%m-%d-%H:%M:%S.png')\"") + --Program , ("M-c", spawn "firefox") + -- Brightness , ("", spawn "xbacklight -inc 10") , ("", spawn "xbacklight -dec 10") - --, ("", spawn "wpctl set-mute 58 toggle") - --, ("", spawn "wpctl set-volume 58 0.05+") - --, ("", spawn "wpctl set-volume 58 0.05-") - --, ("", spawn "wpctl set-mute 52 toggle") + -- Audio + , ("", spawn "pulseaudio-ctl mute") + , ("", spawn "pulseaudio-ctl up 5") + , ("", spawn "pulseaudio-ctl down 5") + , ("", spawn "pulseaudio-ctl mute-input") ] `removeKeysP` []