fix powerbutton - with xmonad | remove xmobar
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(cat /sys/class/power_supply/BAT0/status)
|
||||
stat=$(cat /sys/class/power_supply/AC/online)
|
||||
|
||||
class="batteryFull"
|
||||
|
||||
if [[ $stat == "Charging" ]]; then
|
||||
if [[ $stat == 1 ]]; then
|
||||
class="batteryCharging"
|
||||
elif [[ $bat -le 10 ]]; then
|
||||
class="batteryEmpty"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
bat=$(cat /sys/class/power_supply/BAT0/capacity)
|
||||
stat=$(cat /sys/class/power_supply/BAT0/status)
|
||||
stat=$(cat /sys/class/power_supply/AC/online)
|
||||
|
||||
icon=""
|
||||
|
||||
if [[ $stat == "Charging" ]]; then
|
||||
if [[ $stat == 1 ]]; then
|
||||
icon=""
|
||||
elif [[ $bat -le 10 ]]; then
|
||||
icon=""
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
WINDOW_NAME="power"
|
||||
if eww windows | grep -q "$WINDOW_NAME"; then
|
||||
|
||||
echo "Power button pressed" >>/tmp/acpi_log.txt
|
||||
|
||||
# Check if the window is already open
|
||||
if eww active-windows | grep -q "$WINDOW_NAME"; then
|
||||
eww close "$WINDOW_NAME"
|
||||
else
|
||||
eww open "$WINDOW_NAME"
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
module Plugins.Audio where
|
||||
|
||||
import Xmobar
|
||||
import System.Process
|
||||
import Control.Concurrent
|
||||
|
||||
data Audio = Audio Int deriving (Read, Show)
|
||||
|
||||
instance Exec Audio where
|
||||
alias (Audio _) = "audio"
|
||||
start (Audio r) cb = if r > 0 then go cb r else go cb 1000
|
||||
where
|
||||
go :: (String -> IO ()) -> Int -> IO ()
|
||||
go cb r = do
|
||||
response <- readProcess "/bin/sh" ["-c", "pulseaudio-ctl full-status"] ""
|
||||
let list = [w | w <- words (init response)]
|
||||
audio (head list) (list !! 1) (last list) cb
|
||||
threadDelay r
|
||||
go cb r
|
||||
|
||||
audio :: String -> String -> String -> (String -> IO ()) -> IO ()
|
||||
audio vol speaker mic cb
|
||||
| speaker == "yes" = chooseMic vol "#f38ba8" "\xf466" mic cb
|
||||
| elem vol [show i | i <- [0..49]] = chooseMic vol "#a6e3a1" "\xf027" mic cb
|
||||
| otherwise = chooseMic vol "#a6e3a1" "\xf028" mic cb
|
||||
| otherwise = formatAudio vol "a" "c" "d" "e" cb
|
||||
where
|
||||
chooseMic :: String -> String -> String -> String -> (String -> IO ()) -> IO ()
|
||||
chooseMic vol speakerC speakerI mic cb
|
||||
| mic == "yes" = formatAudio vol speakerC speakerI "#f38ba8" "\xf036d" cb
|
||||
| otherwise = formatAudio vol speakerC speakerI "#a6e3a1" "\xf036c" cb
|
||||
formatAudio :: String -> String -> String -> String -> String -> (String -> IO ()) -> IO ()
|
||||
formatAudio vol speakerC speakerI micC micI cb = cb ("<fc=" ++ speakerC ++ "><fn=1>" ++ speakerI ++ "</fn></fc> " ++ vol ++ "% <fc=" ++ micC ++ "><fn=1>" ++ micI ++ "</fn></fc>")
|
||||
@@ -1,13 +0,0 @@
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
with pkgs;
|
||||
haskellPackages.mkDerivation {
|
||||
pname = "xmobar";
|
||||
version = "0.1.0.0";
|
||||
src = ./.;
|
||||
isLibrary = false;
|
||||
isExecutable = true;
|
||||
executableHaskellDepends = with haskellPackages; [ base xmobar ];
|
||||
license = "unknown";
|
||||
hydraPlatforms = lib.platforms.none;
|
||||
}
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
cabal-version: 3.0
|
||||
-- The cabal-version field refers to the version of the .cabal specification,
|
||||
-- and can be different from the cabal-install (the tool) version and the
|
||||
-- Cabal (the library) version you are using. As such, the Cabal (the library)
|
||||
-- version used must be equal or greater than the version stated in this field.
|
||||
-- Starting from the specification version 2.2, the cabal-version field must be
|
||||
-- the first thing in the cabal file.
|
||||
|
||||
-- Initial package description 'xmobar-custom' generated by
|
||||
-- 'cabal init'. For further documentation, see:
|
||||
-- http://haskell.org/cabal/users-guide/
|
||||
--
|
||||
-- The name of the package.
|
||||
name: xmobar-custom
|
||||
|
||||
-- The package version.
|
||||
-- See the Haskell package versioning policy (PVP) for standards
|
||||
-- guiding when and how versions should be incremented.
|
||||
-- https://pvp.haskell.org
|
||||
-- PVP summary: +-+------- breaking API changes
|
||||
-- | | +----- non-breaking API additions
|
||||
-- | | | +--- code changes with no API change
|
||||
version: 0.1.0.0
|
||||
|
||||
-- The package author(s).
|
||||
author: einfischy
|
||||
|
||||
-- An email address to which users can send suggestions, bug reports, and patches.
|
||||
maintainer: accounts.codeberg@kstn.in
|
||||
|
||||
-- A copyright notice.
|
||||
-- copyright:
|
||||
build-type: Simple
|
||||
|
||||
common warnings
|
||||
ghc-options: -Wall -threaded
|
||||
|
||||
executable xmobar
|
||||
-- Import common warning flags.
|
||||
import: warnings
|
||||
|
||||
-- .hs or .lhs file containing the Main module.
|
||||
main-is: xmobar.hs
|
||||
|
||||
-- Other library packages from which modules are imported.
|
||||
build-depends: base >= 4.11.0 && < 4.20,
|
||||
xmobar ^>=0.48
|
||||
|
||||
-- Directories containing source files.
|
||||
hs-source-dirs: .
|
||||
|
||||
-- Base language which the package is written in.
|
||||
default-language: Haskell2010
|
||||
|
||||
@@ -1,138 +0,0 @@
|
||||
import Xmobar
|
||||
--import Plugins.Audio
|
||||
--import Xmobar.Run.Exec
|
||||
--import Xmobar (Command(ComX))
|
||||
--import GHC.Real (Integral(rem))
|
||||
|
||||
|
||||
config :: Config
|
||||
config =
|
||||
defaultConfig
|
||||
{ font = "Fira Code 10"
|
||||
, position = TopH 25
|
||||
, borderColor = "#11111b"
|
||||
, border = FullB
|
||||
, borderWidth = 2
|
||||
, bgColor = "#1e1e2e"
|
||||
, fgColor = "#f5e0dc"
|
||||
, commands =
|
||||
[
|
||||
--Run $ Audio 10
|
||||
Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); Volume=$(cut -d ' ' -f 1 <<<$Status); Mute=$(cut -d ' ' -f 2 <<<$Status); Microphone=$(cut -d ' ' -f 3 <<<$Status); SpeakerColor=\"#a6e3a1\"; MicColor=\"#a6e3a1\"; if [[ $Mute == \"yes\" ]]; then Symbol=\"\xf466\"; SpeakerColor=\"#f38ba8\"; elif [[ $Volume -le 100 ]]; then Symbol=\"\xf027\"; elseSymbol=\"\xf028\"; fi; if [[ $Microphone == \"yes\" ]]; then MicOut=\"\xf036d\"; MicColor=\"#f38ba8\"; else MicOut=\"\xf036c\"; fi; Volume=$(( Volume/2 )); echo \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 10
|
||||
--Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status);
|
||||
-- Volume=$(cut -d ' ' -f 1 <<<$Status);
|
||||
-- Mute=$(cut -d ' ' -f 2 <<<$Status);
|
||||
-- Microphone=$(cut -d ' ' -f 3 <<<$Status);
|
||||
-- SpeakerColor=\"#a6e3a1\";
|
||||
-- MicColor=\"#a6e3a1\";
|
||||
-- if [[ $Mute == \"yes\" ]];
|
||||
-- then
|
||||
-- Symbol=\"\xf466\";
|
||||
-- SpeakerColor=\"#f38ba8\";
|
||||
-- elif [[ $Volume -le 50 ]];
|
||||
-- then
|
||||
-- Symbol=\"\xf027\";
|
||||
-- else Symbol=\"\xf028\";
|
||||
-- fi;
|
||||
--
|
||||
-- if [[ $Microphone == \"yes\" ]];
|
||||
-- then
|
||||
-- MicOut=\"\xf036d\";
|
||||
-- MicColor=\"#f38ba8\";
|
||||
-- else MicOut=\"\xf036c\";
|
||||
-- fi;xmobar.Run not found
|
||||
--
|
||||
-- echo \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 10
|
||||
--Run $ Audio
|
||||
--[
|
||||
-- "--template", "<fc=<speakerColor>><fn=1><speakerIcon></fn></fc> <Volume>% <fc=<micColor>><fn=1><micIcon></fn></fc>"
|
||||
-- , "" ""
|
||||
--] 10
|
||||
-- Run $ Audio "#f38ba8" "#a6e3a1" "\xf466" "\xf027" "\xf027" "\xf036d" "\xf036c" 10
|
||||
--Run $ Audio "<fc=#fab387><fn=1>\xf017</fn></fc> %a %d.%m.%y %H:%M" "date" 300
|
||||
, Run $ Com "/bin/sh" ["-c", "echo \"<fc=#f9e2af><fn=1>\xf00e0</fn></fc> $(xbacklight -get)%\""] "backlight" 10
|
||||
, Run $ Cpu
|
||||
[
|
||||
"--template", "<fc=#b4befe><fn=1>\xf085</fn></fc> <total>%"
|
||||
, "--Low","3"
|
||||
, "--High","50"
|
||||
, "--low","#f5e0dc"
|
||||
, "--normal","#f5e0dc"
|
||||
, "--high","#f38ba8"
|
||||
] 50
|
||||
, Run $ Memory
|
||||
[
|
||||
"-t","<fc=#74c7ec><fn=1>\xF2DB</fn></fc> <usedratio>%"
|
||||
,"-H","80"
|
||||
,"-L","10"
|
||||
,"-l","#f5e0dc"
|
||||
,"-n","#f5e0dc"
|
||||
,"-h","#f38ba8"
|
||||
] 50
|
||||
, Run $ Date "<fc=#fab387><fn=1>\xf017</fn></fc> %a %d.%m.%y %H:%M" "date" 300
|
||||
, Run $ DynNetwork
|
||||
[
|
||||
"-t","<fc=#74c7ec><fn=1>\xf063</fn></fc> <rx> <fc=#f38ba8><fn=1>\xf062</fn></fc> <tx>"
|
||||
,"-H","200"
|
||||
,"-L","10"
|
||||
,"-h","#f5e0dc"
|
||||
,"-l","#f5e0dc"
|
||||
,"-n","#f38ba8"
|
||||
] 50
|
||||
, Run $ BatteryP [ "BAT0" ]
|
||||
[
|
||||
"--template" , "<fc=#a6e3a1><fn=1>\xf240</fn></fc> <acstatus>"
|
||||
, "--Low" , "10" -- units: %
|
||||
, "--High" , "80" -- units: %
|
||||
, "--low" , "#f38ba8"
|
||||
, "--normal" , "#f5e0dc"
|
||||
, "--high" , "#a6e3a1"
|
||||
, "--" -- battery specific options
|
||||
-- discharging status
|
||||
, "-o" , "<left>% (<timeleft>)"
|
||||
-- AC "on" status
|
||||
, "-O" , "<left>% (<fc=#a6e3a1>Charging</fc>)"
|
||||
-- charged status
|
||||
, "-i" , "<fc=#f9e2af>Charged</fc>"
|
||||
] 50
|
||||
, Run XMonadLog
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = "%XMonadLog% }{ %audio% | %backlight% | %cpu% | %memory% | %battery% | %dynnetwork% | %date% "
|
||||
}
|
||||
|
||||
--instance Exec Audio where
|
||||
-- alias (Audio _ _ ) = "audio"
|
||||
-- start (Audio a r) = startAudio a r
|
||||
-- where
|
||||
-- startAudio :: [String] -> Int -> (String -> IO ()) -> IO ()
|
||||
-- startAudio =
|
||||
--Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status);
|
||||
-- Volume=$(cut -d ' ' -f 1 <<<$Status);
|
||||
-- Mute=$(cut -d ' ' -f 2 <<<$Status);
|
||||
-- Microphone=$(cut -d ' ' -f 3 <<<$Status);
|
||||
-- SpeakerColor=\"#a6e3a1\";
|
||||
-- MicColor=\"#a6e3a1\";
|
||||
-- if [[ $Mute == \"yes\" ]];
|
||||
-- then
|
||||
-- Symbol=\"\xf466\";
|
||||
-- SpeakerColor=\"#f38ba8\";
|
||||
-- elif [[ $Volume -le 50 ]];
|
||||
-- then
|
||||
-- Symbol=\"\xf027\";
|
||||
-- else Symbol=\"\xf028\";
|
||||
-- fi;
|
||||
--
|
||||
-- if [[ $Microphone == \"yes\" ]];
|
||||
-- then
|
||||
-- MicOut=\"\xf036d\";
|
||||
-- MicColor=\"#f38ba8\";
|
||||
-- else MicOut=\"\xf036c\";
|
||||
-- fi;
|
||||
--
|
||||
-- echo \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 10
|
||||
|
||||
main :: IO ()
|
||||
main = xmobar config
|
||||
|
||||
@@ -59,6 +59,8 @@ myKeys =
|
||||
, ("<XF86AudioRaiseVolume>", spawn "pactl set-sink-volume @DEFAULT_SINK@ +10%")
|
||||
, ("<XF86AudioLowerVolume>", spawn "pactl set-sink-volume @DEFAULT_SINK@ -10%")
|
||||
, ("<XF86AudioMicMute>", spawn "pactl set-source-mute @DEFAULT_SOURCE@ toggle")
|
||||
, -- Powerbutton
|
||||
("<XF86PowerOff>", spawn "/home/$USER/.config/eww/scripts/powermenu.sh")
|
||||
]
|
||||
|
||||
-- `removeKeysP` [ "M-S-q" ]
|
||||
|
||||
Reference in New Issue
Block a user