Compare commits

...

3 commits

Author SHA1 Message Date
Geoffrey Frogeye 06e24eac37 I tried using polybar again 2021-06-11 21:48:16 +02:00
Geoffrey Frogeye 6b13214c4d Script changes! 2021-06-11 21:48:16 +02:00
Geoffrey Frogeye 45e32adc61 Revamped xsession
Now supports Junest and should be better integrated with DM
2021-06-11 21:48:11 +02:00
15 changed files with 162 additions and 53 deletions

View file

@ -3,6 +3,7 @@
# Remove SSH and GPG keys from keystores # Remove SSH and GPG keys from keystores
ssh-add -D ssh-add -D
echo RELOADAGENT | gpg-connect-agent echo RELOADAGENT | gpg-connect-agent
rm -rf "/tmp/cached_pass_$UID"
dm-tool lock dm-tool lock

11
config/polybar/bars.ini Normal file
View file

@ -0,0 +1,11 @@
[bar/base]
monitor = ${env:display}
bottom = true
[bar/primary]
inherit = bar/base
modules-right = date
[bar/secondary]
inherit = bar/base
modules-right = date

View file

@ -0,0 +1,2 @@
include-file = modules.ini
include-file = bars.ini

View file

@ -21,7 +21,7 @@ do
else else
bar="secondary" bar="secondary"
fi fi
polybar $bar & polybar -q $bar -c ~/.config/polybar/config.ini &
done done
echo "Bars launched..." echo "Bars launched..."

View file

@ -0,0 +1,3 @@
[module/date]
type = internal/date
date = %m-%d %H:%M:%S

29
config/scripts/cached_pass Executable file
View file

@ -0,0 +1,29 @@
#!/usr/bin/env bash
# TODO Password changed?
set -euo pipefail
if [[ $# -ne 1 ]]
then
echo "Usage: $0 pass-name"
exit 2
fi
name="$1"
BASEDIR="/tmp/cached_pass_${UID}"
mkdir -p "$BASEDIR"
chmod 700 "$BASEDIR"
name_base64="$(echo "$name" | base64)"
file="${BASEDIR}/${name_base64}"
if [ ! -f "${file}" ]
then
pass="$(pass ${name} | head -1)"
echo -n $pass > "${file}"
notify-send -u low "cached_pass" "Cached: ${name}"
fi
cat "${file}"

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop cd ~/.dotfiles/config/automatrop
echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 1 xrandr --output HDMI-0 --brightness 1
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local --limit $HOSTNAME

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop cd ~/.dotfiles/config/automatrop
echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness echo 30000 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 1 xrandr --output HDMI-0 --brightness 1
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-light --tags color --connection local ansible-playbook playbooks/default.yml -e base16_scheme=solarized-light --tags color --connection local --limit $HOSTNAME

28
config/scripts/lestrte Executable file
View file

@ -0,0 +1,28 @@
#!/usr/bin/env python
import sys
import random
# maj = True
for line in sys.stdin:
nl = ""
word = ""
grace = True
for c in line:
if c.isalpha():
if grace:
nl += word
nl += c
word = ""
grace = False
else:
word += c
else:
wrd = list(word)
random.shuffle(wrd)
nl += ''.join(wrd)
nl += c
word = ""
grace = True
print(nl, end="")

View file

@ -5,4 +5,4 @@
cd ~/.dotfiles/config/automatrop cd ~/.dotfiles/config/automatrop
echo 1 | sudo tee /sys/class/backlight/intel_backlight/brightness echo 1 | sudo tee /sys/class/backlight/intel_backlight/brightness
xrandr --output HDMI-0 --brightness 0.5 xrandr --output HDMI-0 --brightness 0.5
ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local ansible-playbook playbooks/default.yml -e base16_scheme=solarized-dark --tags color --connection local --limit $HOSTNAME

View file

@ -1,2 +1,3 @@
coloredlogs==10.0 coloredlogs>=10.0<11
progressbar2==3.47.0 progressbar2>=3.47.0<4
youtube-dl>=2021.6.6

View file

@ -47,6 +47,7 @@ if __name__ == "__main__":
env_var="SUBJECT", env_var="SUBJECT",
default=f"Test message {now.strftime('%H:%M:%S')}", default=f"Test message {now.strftime('%H:%M:%S')}",
) )
parser.add_argument("-c", "--callout", env_var="CALLOUT", action="store_true")
parser.add_argument("-b", "--body", env_var="BODY", default="") parser.add_argument("-b", "--body", env_var="BODY", default="")
parser.add_argument("-g", "--gtube", env_var="GTUBE", action="store_true") parser.add_argument("-g", "--gtube", env_var="GTUBE", action="store_true")
@ -176,8 +177,9 @@ Input arguments:
send(f"AUTH PLAIN {encoded}") send(f"AUTH PLAIN {encoded}")
send(f"MAIL FROM: <{args.sender}>") send(f"MAIL FROM: <{args.sender}>")
send(f"RCPT TO: <{args.receiver}>") send(f"RCPT TO: <{args.receiver}>")
send("DATA") if not args.callout:
send(text) send("DATA")
send(text)
send("QUIT") send("QUIT")
sys.exit(0) sys.exit(0)

View file

@ -291,6 +291,7 @@ if $INSTALL_VIDEO
then then
i vlc # Video player i vlc # Video player
i mpv # Audio/Video player i mpv # Audio/Video player
i mpv-thumbnail-script # Show thumbnails for mpv
i ffmpeg # Video/Audio file handler i ffmpeg # Video/Audio file handler
i youtube-dl # Downloader for videos i youtube-dl # Downloader for videos
i megatools # Downloader for mega.nz i megatools # Downloader for mega.nz

View file

@ -4,8 +4,6 @@
# #
# Executed by xinit (startx) # Executed by xinit (startx)
echo ~/.xinitrc
if [ -d /etc/X11/xinit/xinitrc.d ]; then if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f" [ -x "$f" ] && . "$f"

119
xsession
View file

@ -3,58 +3,91 @@
# #
# ~/.xsession # ~/.xsession
# #
# Might be sourced by DM when on custom # Sourced by display managers
# TODO Test that on a DM I guess?
# #
# Load Xresources
[ -f ~/.config/Xresources/main ] && xrdb -I"$HOME" ~/.config/Xresources/main [ -f ~/.config/Xresources/main ] && xrdb -I"$HOME" ~/.config/Xresources/main
# Disable the bell
xset b off xset b off
found=0 # Folders to search for desktop environments (DE) in
tryDM() { sessions_dirs="/usr/share/xsessions"
if [ $found -eq 0 ]; then
parameters='' # If we have locally installed DE try them before system ones
case $1 in sessions_dir_local="$HOME/.local/share/xsessions"
awesome ) executable=awesome;; if [ -d "$sessions_dir_local" ]
bspwm ) executable=bspwm;; then
catwm ) executable=catwm;; sessions_dirs="$sessions_dir_local $sessions_dirs"
cinnamon ) executable=cinnamon-session;; fi
dwm ) executable=dwm;;
enlightenment ) executable=enlightenment_start;; # If we have junest installed DE try them before all others
ede ) executable=startede;; sessions_dir_junest="$HOME/.local/share/xsessions"
fluxbox ) executable=startfluxbox;; if [ -d "$sessions_dir_junest" ]
gnome ) executable=gnome-session;; then
gnome-classic ) executable=gnome-session; parameters="--session=gnome-classic";; sessions_dirs="$sessions_dir_junest $sessions_dirs"
i3|i3wm ) executable=i3;; fi
icewm ) executable=icewm-session;;
jwm ) executable=jwm;; startSession() {
kde ) executable=startkde;; session_dir="$1"
mate ) executable=mate-session;; session_name="$2"
monster|monsterwm ) executable=monsterwm;;
notion ) executable=notion;; session_file="${session_dir}/${session_name}.desktop"
openbox ) executable=openbox-session;; executable="$(grep ^Exec= "$session_file" | cut -d'=' -f2)"
plasma ) executable=startplasma-x11;; # TODO Does this work with parameters?
unity ) executable=unity;; # gnome-classic might need some
xfce|xfce4 ) executable=startxfce4;;
xmonad ) executable=xmonad;; # If this is a Junest DE, we need to wrap it
*) executable=$1;; if [ "$sessions_dir" = "$sessions_dir_junest" ]
esac then
if command -v "$executable" # Some DMs enforce that to you,
then # which shows warning on Junest
found=1 unset LD_PRELOAD
exec "$executable" $parameters
fi # The intended way:
# exec ~/.local/bin/junest "$executable" $parameters
# Too restricted to the outside (e.g. Yubikey isn't accessible)
# The custom way
exec ~/.local/bin/junest --backend-args "--dev-bind /run /run" "$executable" $parameters
# The fallback wrappers way
# export PATH="$PATH:~/.junest/usr/bin_wrappers"
# exec "$executable" $parameters
# Should work but doesn't, I forgot why
# The "I do what I want" way
#exec bwrap --bind $HOME/.junest / --bind $HOME $HOME --bind /tmp /tmp --proc /proc --dev-bind /dev /dev --dev-bind /run /run "$executable" $parameters
# Even Alacritty doesn't work here
fi fi
exec "$executable" $parameters
}
trySession() { # session_name
session_name="$1"
for sessions_dir in $sessions_dirs
do
session_file="$sessions_dir/${session_name}.desktop"
if [ -f "$session_file" ]
then
startSession "$sessions_dir" "$session_name"
fi
done
} }
if [ -n "$1" ] if [ -n "$1" ]
then then
tryDM "$1" trySession "$1"
fi fi
tryDM i3 trySession i3
tryDM xfce4 trySession xfce4
tryDM mate trySession mate
tryDM plasma trySession plasma
tryDM gnome trySession gnome
tryDM kde trySession kde
# If we found nothing by then,
# I guess it's up to the DM to default to something