ENH move external scripts to this repo
This commit is contained in:
parent
80c3d33010
commit
8064b01c90
|
@ -14,6 +14,7 @@ import Data.Internal.XIO
|
|||
import GHC.Enum (enumFrom)
|
||||
import Options.Applicative
|
||||
import RIO hiding (hFlush)
|
||||
import RIO.FilePath
|
||||
import RIO.List
|
||||
import qualified RIO.NonEmpty as NE
|
||||
import qualified RIO.Text as T
|
||||
|
@ -163,7 +164,7 @@ config bf ifs ios br confDir =
|
|||
, pickBroadest = False
|
||||
, persistent = True
|
||||
, -- store the icons with the xmonad/xmobar stack project
|
||||
iconRoot = confDir ++ "/icons"
|
||||
iconRoot = confDir </> "assets" </> "icons"
|
||||
, commands = csRunnable <$> concatRegions br
|
||||
}
|
||||
|
||||
|
|
|
@ -206,7 +206,7 @@ runStopPlay = runMultimediaIfInstalled "stop playback" "stop"
|
|||
-- Volume Commands
|
||||
|
||||
soundDir :: FilePath
|
||||
soundDir = "sound"
|
||||
soundDir = "assets" </> "sound"
|
||||
|
||||
playSound :: MonadIO m => FilePath -> m ()
|
||||
playSound file = do
|
||||
|
|
|
@ -9,9 +9,10 @@ extra-source-files:
|
|||
- README.md
|
||||
- fourmolu.yaml
|
||||
- make_pkgs
|
||||
- icons/*
|
||||
- runtime_pkgs
|
||||
- assets/icons/*
|
||||
- assets/sound/*
|
||||
- scripts/*
|
||||
- sound/*
|
||||
|
||||
default-extensions:
|
||||
- OverloadedStrings
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
#! /bin/bash
|
||||
|
||||
## capture a screenshot using scrot
|
||||
|
||||
SS_DIR="$XDG_CACHE_HOME/screenshots"
|
||||
|
||||
while getopts ":sw" opt; do
|
||||
case ${opt} in
|
||||
s)
|
||||
scrot "$SS_DIR/desktop/%Y-%m-%d-%H:%M:%S_desktop.png"
|
||||
notify-send "Screen captured"
|
||||
;;
|
||||
w)
|
||||
scrot -u "$SS_DIR/window/%Y-%m-%d-%H:%M:%S-\$wx\$h.png"
|
||||
notify-send "Window captured"
|
||||
;;
|
||||
\?)
|
||||
echo "invalid option, read the code"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
#! /bin/bash
|
||||
|
||||
## lock the screen using i3lock (and maybe suspend)
|
||||
|
||||
## usage: screenlock [SUSPEND]
|
||||
|
||||
# WORKAROUND make the date show up in the right place on 2+ monitor setups
|
||||
# I want it to only show up on the primary screen, so use xrandr to get the
|
||||
# dimensions and position of the primary monitor and calculate the date position
|
||||
# from that
|
||||
geometry=$(xrandr | sed -n 's/^.*primary \([0-9]*\)x[0-9]*+\([0-9]\)*+[0-9]* .*/\1 \2/p')
|
||||
width=$(echo "$geometry" | cut -f1 -d" ")
|
||||
xpos=$(echo "$geometry" | cut -f2 -d" ")
|
||||
xoffset=$(("$xpos" + "$width" / 2))
|
||||
datepos="$xoffset:600"
|
||||
|
||||
# lock and fork so we can suspend with the screen locked
|
||||
i3lock --color=000000 \
|
||||
--pass-media-keys \
|
||||
--nofork \
|
||||
--ignore-empty-password \
|
||||
--screen=0 \
|
||||
--indicator \
|
||||
--inside-color=00000055 \
|
||||
--insidever-color=00000055 \
|
||||
--insidewrong-color=00000055 \
|
||||
--ring-color=555555ff \
|
||||
--ringwrong-color=ff3333ff \
|
||||
--ringver-color=99ceffff \
|
||||
--keyhl-color=99ceffff \
|
||||
--bshl-color=9523ffff \
|
||||
--line-color=00000000 \
|
||||
--separator-color=00000000 \
|
||||
--clock \
|
||||
--verif-color=99ceffff \
|
||||
--wrong-color=ff8282ff \
|
||||
--time-color=ffffffff \
|
||||
--time-size=72 \
|
||||
--time-str="%H:%M" \
|
||||
--date-color=ffffffff \
|
||||
--date-size=42 \
|
||||
--date-str="%b %d, %Y" \
|
||||
--date-align 0 \
|
||||
--date-pos="$datepos" \
|
||||
--wrong-size=72 \
|
||||
--verif-size=72 \
|
||||
--radius=300 \
|
||||
--ring-width=25 &
|
||||
|
||||
# suspend if we want, and if this machine is currently using a battery
|
||||
batpath=/sys/class/power_supply/BAT0/status
|
||||
|
||||
if [ -f "$batpath" ] && \
|
||||
[ "$(cat $batpath)" == "Discharging" ] && \
|
||||
[ "$1" == "true" ]; then
|
||||
systemctl suspend
|
||||
fi
|
||||
|
||||
# block until the screen is unlocked (since xss-lock expects the locker to exit
|
||||
# only when unlocked)
|
||||
wait
|
Loading…
Reference in New Issue