New scripts: sxmo_{youtube,weather,rss,camera}.sh; Implement screenlock
Various minor script bugfixes
This commit is contained in:
parent
9beef511af
commit
ed09f2b8b3
20 changed files with 33534 additions and 122 deletions
|
@ -6,33 +6,61 @@ programchoicesinit() {
|
|||
|
||||
# Default
|
||||
CHOICES="$(echo "
|
||||
Push window tag → ^ 0 ^ sxmo_lowpowermode.sh
|
||||
Tag focus → ^ 0 ^ sxmo_lowpowermode.sh
|
||||
Applications ^ 0 ^ sxmo_appmenu.sh applications
|
||||
Scripts ^ 0 ^ sxmo_appmenu.sh scripts
|
||||
Apps ^ 0 ^ sxmo_appmenu.sh applications
|
||||
Volume ↑ ^ 1 ^ sxmo_vol.sh up
|
||||
Volume ↓ ^ 1 ^ sxmo_vol.sh down
|
||||
Brightesss ↑ ^ 1 ^ sxmo_brightness.sh up
|
||||
Brightness ↓ ^ 1 ^ sxmo_brightness.sh down
|
||||
Camera ^ 0 ^ sxmo_camera.sh
|
||||
Wifi ^ 0 ^ st -e "nmtui"
|
||||
Rotate ^ 1 ^ rotate
|
||||
Upgrade Pkgs ^ 0 ^ st -e sxmo_upgrade.sh
|
||||
System Config ^ 0 ^ sxmo_appmenu.sh control
|
||||
Logout ^ 0 ^ pkill -9 dwm
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=sys
|
||||
")" && WINNAME=Sys
|
||||
|
||||
echo $WMCLASS | grep -i "applications" && CHOICES="$(echo "
|
||||
Surf ^ 0 ^ surf
|
||||
NetSurf ^ 0 ^ netsurf
|
||||
Sacc ^ 0 ^ st -e sacc i-logout.cz/1/bongusta
|
||||
W3M ^ 0 ^ st -e w3m duck.com
|
||||
St ^ 0 ^ st
|
||||
Firefox ^ 0 ^ firefox
|
||||
Foxtrotgps ^ 0 ^ foxtrotgps
|
||||
Timer ^ 0 ^ sxmo_timermenu.sh
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=Apps
|
||||
|
||||
echo $WMCLASS | grep -i "scripts" && CHOICES="$(echo "
|
||||
Timer ^ 0 ^ sxmo_timermenu.sh
|
||||
Youtube ^ 0 ^ sxmo_youtube.sh
|
||||
Youtube (Audio) ^ 0 ^ sxmo_youtube.sh
|
||||
Weather ^ 0 ^ sxmo_weather.sh
|
||||
RSS ^ 0 ^ sxmo_rss.sh
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=Scripts
|
||||
|
||||
echo $WMCLASS | grep -i "control" && CHOICES="$(echo "
|
||||
Volume ↑ ^ 1 ^ sxmo_vol.sh up
|
||||
Volume ↓ ^ 1 ^ sxmo_vol.sh down
|
||||
Brightesss ↑ ^ 1 ^ sxmo_brightness.sh up
|
||||
Brightness ↓ ^ 1 ^ sxmo_brightness.sh down
|
||||
Rotate ^ 1 ^ rotate
|
||||
Wifi ^ 0 ^ st -e "nmtui"
|
||||
Upgrade Pkgs ^ 0 ^ st -e sxmo_upgrade.sh
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=Control
|
||||
|
||||
echo $WMCLASS | grep -i "mpv" && CHOICES="$(echo "
|
||||
Pause ^ 0 ^ key space
|
||||
Pause ^ 0 ^ key space
|
||||
Seek ← ^ 1 ^ key Left
|
||||
Seek → ^ 1 ^ key Right
|
||||
App Volume ↑ ^ 1 ^ key 0
|
||||
App Volume ↓ ^ 1 ^ key 9
|
||||
Speed ↑ ^ 1 ^ key bracketright
|
||||
Speed ↓ ^ 1 ^ key bracketleft
|
||||
Screenshot ^ 1 ^ key s
|
||||
Loopmark ^ 1 ^ key l
|
||||
Info ^ 1 ^ key i
|
||||
Seek Info ^ 1 ^ key o
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=Mpv
|
||||
|
||||
# St
|
||||
|
@ -44,6 +72,7 @@ programchoicesinit() {
|
|||
Zoom - ^ 1 ^ key Ctrl+Shift+Next
|
||||
Scroll ↑ ^ 1 ^ key Shift+Prior
|
||||
Scroll ↓ ^ 1 ^ key Shift+Next
|
||||
Invert ^ 1 ^ key Ctrl+Shift+x
|
||||
Hotkeys ^ 0 ^ sxmo_appmenu.sh sthotkeys
|
||||
Close Menu ^ 0 ^ quit
|
||||
")" && WINNAME=st
|
||||
|
|
3
scripts/sxmo_camera.sh
Executable file
3
scripts/sxmo_camera.sh
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/usr/bin/env sh
|
||||
media-ctl -d /dev/media1 --set-v4l2 '"ov5640 3-004c":0[fmt:UYVY8_2X8/1280x720]'
|
||||
mpv --video-rotate=90 av://v4l2:/dev/video1
|
|
@ -1,33 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
power_1() {
|
||||
pgrep -f sxmo_appmenu.sh || sxmo_keyboard.sh
|
||||
}
|
||||
power_2() {
|
||||
st
|
||||
}
|
||||
power_3() {
|
||||
surf
|
||||
}
|
||||
|
||||
voldown_1() {
|
||||
pgrep -f sxmo_appmenu.sh && xdotool key Control+n || xdotool key Alt+Ctrl+period
|
||||
}
|
||||
voldown_2() {
|
||||
xdotool key Alt+Shift+c
|
||||
}
|
||||
voldown_3() {
|
||||
xdotool key Alt+Return
|
||||
}
|
||||
|
||||
volup_1() {
|
||||
pgrep -f sxmo_appmenu.sh && xdotool key Control+p || sxmo_appmenu.sh
|
||||
}
|
||||
volup_2() {
|
||||
echo nop
|
||||
}
|
||||
volup_3() {
|
||||
echo nop
|
||||
}
|
||||
|
||||
$@
|
6
scripts/sxmo_dimscreentoggle.sh
Executable file
6
scripts/sxmo_dimscreentoggle.sh
Executable file
|
@ -0,0 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
OLDB=$(cat /tmp/oldscreenb || echo 10)
|
||||
DIMB=2
|
||||
CURB=$(cat /sys/devices/platform/backlight/backlight/backlight/brightness)
|
||||
|
||||
[[ $CURB == $DIMB ]] && sxmo_setpinebacklight $OLDB || sxmo_setpinebacklight $DIMB
|
|
@ -1,6 +1,6 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
sxmo_keyboard.sh on &
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
OUTPUT="$(cat | dmenu -t $@)"
|
||||
sxmo_keyboard.sh off
|
||||
pkill svkbd-sxmo
|
||||
echo "$OUTPUT"
|
||||
|
|
|
@ -1,30 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
P=/tmp/KEYTOG
|
||||
|
||||
keyoff() {
|
||||
kill -9 $(cat $P)
|
||||
pgrep -f sxmo_keyboard.sh | grep -Ev "^${$}$" | xargs kill -9
|
||||
pkill -9 svkbd-en
|
||||
pkill -9 svkbd-symbols
|
||||
rm $P
|
||||
}
|
||||
|
||||
keyon() {
|
||||
echo $$ >> $P
|
||||
while :
|
||||
do
|
||||
svkbd-en -d
|
||||
svkbd-symbols -d
|
||||
done
|
||||
}
|
||||
|
||||
if [ "$1" == "on" ]; then
|
||||
[ -f $P ] && keyoff
|
||||
keyon
|
||||
elif [ "$1" == "off" ]; then
|
||||
[ -f $P ] && keyoff
|
||||
else
|
||||
# Default toggle
|
||||
[ -f $P ] && keyoff || keyon
|
||||
fi
|
|
@ -1,18 +0,0 @@
|
|||
#!/usr/bin/env sh
|
||||
TOUCHSCREENID=$(
|
||||
xinput |
|
||||
grep -i touchscreen |
|
||||
grep pointer |
|
||||
grep -oE 'id=[0-9]+' |
|
||||
cut -d= -f2
|
||||
)
|
||||
|
||||
xinput disable $TOUCHSCREENID
|
||||
sxmo_setpineled blue 1
|
||||
OLDB="$(cat /sys/class/backlight/backlight/brightness)"
|
||||
sxmo_setpinebacklight 0
|
||||
echo "Dragons?" | dmenu
|
||||
|
||||
sxmo_setpinebacklight $OLDB
|
||||
sxmo_setpineled blue 0
|
||||
xinput enable $TOUCHSCREENID
|
|
@ -1,16 +1,23 @@
|
|||
#!/usr/bin/env sh
|
||||
sxmo_keyboard.sh on &
|
||||
INPUT="$(cat)"
|
||||
|
||||
cat |\
|
||||
grep -Eo '\\S+' |\
|
||||
tr -d '[:blank:]' |\
|
||||
sort |\
|
||||
uniq |\
|
||||
dmenu -p Type -l 10 -i -c -fn Terminus-20
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
|
||||
sxmo_keyboard.sh off
|
||||
RESULT="$(
|
||||
echo "$(
|
||||
echo "Close Menu" &&
|
||||
echo "$INPUT" |\
|
||||
grep -Eo '\S+' |\
|
||||
tr -d '[:blank:]' |\
|
||||
sort |\
|
||||
uniq
|
||||
)" | dmenu -p Type -l 10 -i -c -fn Terminus-20
|
||||
)"
|
||||
|
||||
pkill svkbd-sxmo
|
||||
|
||||
if [[ "$RESULT" = "Close Menu" ]]; then
|
||||
exit 0
|
||||
else
|
||||
xargs -I CC xdotool type "$RESULT"
|
||||
xdotool type "$RESULT"
|
||||
fi
|
||||
|
|
53
scripts/sxmo_rss.sh
Executable file
53
scripts/sxmo_rss.sh
Executable file
|
@ -0,0 +1,53 @@
|
|||
#!/usr/bin/env sh
|
||||
SFEEDCONF=/usr/share/sxmo/sxmo_sfeedrc
|
||||
|
||||
tflt() {
|
||||
# Date with feature like "1 day ago" etc main reason
|
||||
# coreutils is a dep...
|
||||
TIME=$(eval date -d \""$TIMESPAN"\" +%s)
|
||||
cat | gawk "\$1 > $TIME"
|
||||
}
|
||||
|
||||
prep_temp_folder_with_items() {
|
||||
mkdir -p $FOLDER
|
||||
rm -rf $FOLDER/*
|
||||
cd ~/.sfeed/feeds/
|
||||
for f in $(ls)
|
||||
do
|
||||
cat $f | tflt $@ > $FOLDER/$f
|
||||
[ -s $FOLDER/$f ] || rm $FOLDER/$f
|
||||
done
|
||||
}
|
||||
|
||||
list_items() {
|
||||
cd $FOLDER
|
||||
gawk -F'\t' '{print $1 " " FILENAME " | " $2 ": " $3}' * |\
|
||||
grep -E '^[0-9]{5}' |\
|
||||
sort -nk1 |\
|
||||
sort -r |\
|
||||
gawk -F' ' '{printf strftime("%y/%m/%d %H:%M",$1); $1=""; print $0}'
|
||||
}
|
||||
|
||||
# Update Sfeed
|
||||
st -e sh -c "echo Syncing Feeds && sfeed_update $SFEEDCONF"
|
||||
|
||||
# Dmenu prompt for timespan
|
||||
TIMESPAN=$(
|
||||
echo "1 hour ago
|
||||
3 hours ago
|
||||
12 hours ago
|
||||
1 day ago
|
||||
2 day ago
|
||||
1970-01-01" | dmenu -p "RSS Timespan" -c -l 10 -fn Terminus-20
|
||||
)
|
||||
|
||||
# Make folder like /tmp/sfeed_1_day_ago
|
||||
FOLDER="/tmp/sfeed_$(echo "$TIMESPAN" | sed 's/ /_/g')"
|
||||
prep_temp_folder_with_items
|
||||
|
||||
# Show list of items
|
||||
PICKED=$(echo "$(list_items)" | dmenu -p "RSS" -c -l 20 -fn Terminus-15)
|
||||
|
||||
# Handle picked item
|
||||
URL="$(echo "$PICKED" | gawk -F " " '{print $NF}')"
|
||||
sxmo_urlhandler.sh "$URL"
|
|
@ -73,4 +73,9 @@ function link_select() {
|
|||
link_normalize $(xprop -id $SURF_WINDOW _SURF_URI | cut -d '"' -f 2)
|
||||
}
|
||||
|
||||
link_select
|
||||
xset r off
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
VAL="$(link_select)"
|
||||
pkill svkbd-sxmo
|
||||
xset r on
|
||||
echo "$VAL"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
#!/usr/bin/env sh
|
||||
sxmo_keyboard.sh on &
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
TIMEINPUT=$(
|
||||
echo "1h
|
||||
10m
|
||||
|
@ -15,7 +15,7 @@ echo "1h
|
|||
30s
|
||||
Close Menu" | dmenu -p Timer -c -fn "Terminus-30" -l 20
|
||||
)
|
||||
sxmo_keyboard.sh off &
|
||||
pkill svkbd-sxmo
|
||||
[ "Close Menu" = $TIMEINPUT ] && exit 0
|
||||
|
||||
st -f Monospace-50 -e sxmo_timer.sh $TIMEINPUT
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# URL test passed from $1
|
||||
URL=${1:-$URL}
|
||||
|
||||
# Surf
|
||||
WINDOW="$(xprop -root | sed -n '/^_NET_ACTIVE_WINDOW/ s/.* //p')"
|
||||
SURFURL=`xprop -id $WINDOW | grep URI | awk '{print $3}' | sed 's/\"//g'`
|
||||
if [[ ! -z "$SURFURL" ]]
|
||||
if [[ ! -z "$1" ]]
|
||||
then
|
||||
URL="$SURFURL"
|
||||
fi
|
||||
# E.g. passed liked: sxmo_urlhandler.sh http://foo.com
|
||||
URL=$1
|
||||
else
|
||||
# Surf
|
||||
WINDOW="$(xprop -root | sed -n '/^_NET_ACTIVE_WINDOW/ s/.* //p')"
|
||||
SURFURL=`xprop -id $WINDOW | grep URI | awk '{print $3}' | sed 's/\"//g'`
|
||||
if [[ ! -z "$SURFURL" ]]
|
||||
then
|
||||
URL="$SURFURL"
|
||||
fi
|
||||
|
||||
# Is normal browser? (FF or Netsurf) - use Ctrl-L Ctrl-C to copy URL
|
||||
ISNORMBROWS=`xprop -id $(xdotool getactivewindow) | grep -E 'WM_CLASS.*(Netsurf|Firefox)'`
|
||||
if [[ ! -z "$ISNORMBROWS" ]]
|
||||
then
|
||||
xdotool key --clearmodifiers --delay 20 "ctrl+l" "ctrl+c"
|
||||
sleep 0.2
|
||||
URL="$(xclip -o)"
|
||||
# Is normal browser? (FF or Netsurf) - use Ctrl-L Ctrl-C to copy URL
|
||||
ISNORMBROWS=`xprop -id $(xdotool getactivewindow) | grep -E 'WM_CLASS.*(Netsurf|Firefox)'`
|
||||
if [[ ! -z "$ISNORMBROWS" ]]
|
||||
then
|
||||
xdotool key --clearmodifiers --delay 20 "ctrl+l" "ctrl+c"
|
||||
sleep 0.2
|
||||
URL="$(xclip -o)"
|
||||
fi
|
||||
fi
|
||||
|
||||
COMMAND=$(
|
||||
|
|
|
@ -10,3 +10,10 @@ decvol() {
|
|||
|
||||
echo $1 | grep up && echo 1 > /tmp/sxmo_bar && incvol
|
||||
echo $1 | grep down && echo 1 > /tmp/sxmo_bar && decvol
|
||||
sxmo_notify.sh 200 "Volume $(
|
||||
amixer sget Headphone |
|
||||
grep -oE '([0-9]+)%' |
|
||||
tr -d ' %' |
|
||||
awk '{ s += $1; c++ } END { print s/c }' |
|
||||
xargs printf %.0f
|
||||
)"
|
||||
|
|
23
scripts/sxmo_weather.sh
Executable file
23
scripts/sxmo_weather.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
ZIP=$(
|
||||
echo -e "
|
||||
10025 - NYC
|
||||
60007 - Chicago
|
||||
94016 - San Francisco
|
||||
97035 - Portland, OR
|
||||
" |
|
||||
awk 'NF' |
|
||||
awk '{$1=$1};1' |
|
||||
dmenu -fn Terminus-20 -i -c -l 10 -p "US Zipcode" |
|
||||
awk -F " " '{print $1}'
|
||||
)
|
||||
pkill svkbd-sxmo
|
||||
|
||||
LATLON=$(cat /usr/share/sxmo/zipcodes_for_weather.csv | grep "^$ZIP")
|
||||
LAT=$(echo $LATLON | cut -d, -f2 | tr -d ' ')
|
||||
LON=$(echo $LATLON | cut -d, -f3 | tr -d ' ')
|
||||
URL="https://forecast.weather.gov/MapClick.php?lat=${LAT}&lon=${LON}&unit=0&lg=english&FcstType=text&TextType=1"
|
||||
|
||||
st -f Monospace-20 -e w3m "$URL"
|
|
@ -7,6 +7,7 @@ xsetroot -mod 3 2 -fg '#000000' -bg '#888888'
|
|||
conky -c /usr/share/sxmo/conky.conf -d
|
||||
|
||||
sxmo_statusbar.sh &
|
||||
xset s off -dpms
|
||||
xset r off
|
||||
alsactl --file /usr/share/sxmo/default_alsa_sound.conf restore
|
||||
exec dbus-run-session dwm 2> ~/.dwm.log
|
||||
|
|
23
scripts/sxmo_youtube.sh
Executable file
23
scripts/sxmo_youtube.sh
Executable file
|
@ -0,0 +1,23 @@
|
|||
#!/usr/bin/env sh
|
||||
pidof svkbd-sxmo || svkbd-sxmo &
|
||||
SEARCHTERMS="$(
|
||||
echo "Search term" |
|
||||
dmenu -p "Yt Search" -c -l 10 -fn Terminus-20
|
||||
)"
|
||||
pkill svkbd-sxmo
|
||||
|
||||
IDIOTRESULTS="$(idiotbox-cli $SEARCHTERMS)"
|
||||
RESULT="$(
|
||||
echo "$IDIOTRESULTS" |
|
||||
grep -Ev '^(Channelid|Atom feed|Channel title|Published|Viewcount|Userid):' |
|
||||
sed -E 's/^(URL|Duration):\s+/\t/g' |
|
||||
tr -d '\n' |
|
||||
sed 's/===/\n/g' |
|
||||
gawk -F'\t' '{ print $3 " " $1 " " $2}' |
|
||||
dmenu -c -l 10 -fn Terminus-20
|
||||
)"
|
||||
|
||||
[[ "CLOSE_MENU" == "$RESULT" ]] && exit 0
|
||||
|
||||
URL=$(echo "$RESULT" | awk -F " " '{print $NF}')
|
||||
st -e mpv --ytdl-format='[height<420]' "$URL"
|
Loading…
Add table
Add a link
Reference in a new issue