Remove scripts and bin folders.
Instead, everything is in the =~/.local/bin/= folder Thus, the home folder is more clean
This commit is contained in:
parent
06603fae36
commit
656c8f41d7
@ -372,7 +372,7 @@ Force prompt to write history after every command. http://superuser.com/question
|
|||||||
|
|
||||||
** Gui program to ask for sudo password
|
** Gui program to ask for sudo password
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
export SUDO_ASKPASS=~/bin/askpass-rofi
|
export SUDO_ASKPASS=~/.local/bin/askpass-rofi
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Gnome Keyring Daemon
|
** Gnome Keyring Daemon
|
||||||
@ -423,7 +423,7 @@ Force prompt to write history after every command. http://superuser.com/question
|
|||||||
PATH=$HOME/appimages:$PATH
|
PATH=$HOME/appimages:$PATH
|
||||||
PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH
|
PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH
|
||||||
PATH=$GOPATH:$GOPATH/bin:$PATH
|
PATH=$GOPATH:$GOPATH/bin:$PATH
|
||||||
PATH=~/bin:$PATH
|
PATH=~/.local/bin:$PATH
|
||||||
PATH=~/.emacs.d/bin:$PATH
|
PATH=~/.emacs.d/bin:$PATH
|
||||||
export PATH
|
export PATH
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
* =displayselect= - Select Screen
|
* =displayselect= - Select Screen
|
||||||
Script taken from Luke Smith.
|
Script taken from Luke Smith.
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/displayselect
|
#+begin_src bash :tangle ~/.local/bin/displayselect
|
||||||
twoscreen() { # If multi-monitor is selected and there are two screens.
|
twoscreen() { # If multi-monitor is selected and there are two screens.
|
||||||
|
|
||||||
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
|
mirror=$(printf "no\\nyes" | dmenu -i -p "Mirror displays?")
|
||||||
@ -94,7 +94,7 @@ Script taken from Luke Smith.
|
|||||||
|
|
||||||
* TODO =getbib=
|
* TODO =getbib=
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/getbib
|
#+begin_src bash :tangle ~/.local/bin/getbib
|
||||||
[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit
|
[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit
|
||||||
|
|
||||||
if [ -f "$1" ]; then
|
if [ -f "$1" ]; then
|
||||||
@ -112,11 +112,11 @@ Script taken from Luke Smith.
|
|||||||
|
|
||||||
* =vpntoggle= - Connect to VPN using NordVPN
|
* =vpntoggle= - Connect to VPN using NordVPN
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/vpntoggle
|
#+begin_src bash :tangle ~/.local/bin/vpntoggle
|
||||||
if [[ $(nordvpn status) == *"Connected"* ]]; then
|
if [[ $(nordvpn status) == *"Connected"* ]]; then
|
||||||
nordvpn disconnect && dunstify --replace=23198 "VPN" "Disconnected";
|
nordvpn disconnect && dunstify --replace=23198 "VPN" "Disconnected";
|
||||||
else
|
else
|
||||||
country=`cat ~/bin/nordvpn_countries.txt | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`;
|
country=`cat ~/.local/data/nordvpn_countries.txt | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`;
|
||||||
dunstify --replace=23198 "VPN" "Connecting to $country...";
|
dunstify --replace=23198 "VPN" "Connecting to $country...";
|
||||||
nordvpn connect $country && dunstify --replace=23198 "VPN" "Connected to $country";
|
nordvpn connect $country && dunstify --replace=23198 "VPN" "Connected to $country";
|
||||||
fi
|
fi
|
||||||
@ -124,7 +124,7 @@ Script taken from Luke Smith.
|
|||||||
|
|
||||||
* =bukurun= - Open link from Buku
|
* =bukurun= - Open link from Buku
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/bukurun
|
#+begin_src bash :tangle ~/.local/bin/bukurun
|
||||||
_rofi () {
|
_rofi () {
|
||||||
rofi -dmenu -i -no-levenshtein-sort -width 1000 "$@"
|
rofi -dmenu -i -no-levenshtein-sort -width 1000 "$@"
|
||||||
}
|
}
|
||||||
@ -459,11 +459,11 @@ mode=bookmarks main
|
|||||||
|
|
||||||
* =i3exit= - Manage lock, suspend, reboot, ...
|
* =i3exit= - Manage lock, suspend, reboot, ...
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/i3exit
|
#+begin_src bash :tangle ~/.local/bin/i3exit
|
||||||
# with openrc use loginctl
|
# with openrc use loginctl
|
||||||
case "$1" in
|
case "$1" in
|
||||||
lock)
|
lock)
|
||||||
~/scripts/lockscreen.sh
|
~/.local/bin/lockscreen
|
||||||
;;
|
;;
|
||||||
logout)
|
logout)
|
||||||
loginctl terminate-session `loginctl session-status | head -n 1 | awk '{print $1}'`
|
loginctl terminate-session `loginctl session-status | head -n 1 | awk '{print $1}'`
|
||||||
@ -472,10 +472,10 @@ mode=bookmarks main
|
|||||||
dm-tool switch-to-greeter
|
dm-tool switch-to-greeter
|
||||||
;;
|
;;
|
||||||
suspend)
|
suspend)
|
||||||
systemctl suspend && ~/scripts/lockscreen.sh
|
systemctl suspend && ~/.local/bin/lockscreen
|
||||||
;;
|
;;
|
||||||
hibernate)
|
hibernate)
|
||||||
systemctl hibernate && ~/scripts/lockscreen.sh
|
systemctl hibernate && ~/.local/bin/lockscreen
|
||||||
;;
|
;;
|
||||||
reboot)
|
reboot)
|
||||||
systemctl reboot
|
systemctl reboot
|
||||||
@ -494,22 +494,22 @@ mode=bookmarks main
|
|||||||
|
|
||||||
* =readbib= - Open Bibliography File
|
* =readbib= - Open Bibliography File
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/readbib
|
#+begin_src bash :tangle ~/.local/bin/readbib
|
||||||
cd ~/Cloud/thesis/ressources/pdfs/ && ls | rofi -dmenu -lines 20 | xargs -I {} zathura {}
|
cd ~/Cloud/thesis/ressources/pdfs/ && ls | rofi -dmenu -lines 20 | xargs -I {} zathura {}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* =readnotes= - Open Note File
|
* =readnotes= - Open Note File
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/readnotes
|
#+begin_src bash :tangle ~/.local/bin/readnotes
|
||||||
cd ~/Cloud/thesis/ressources/notes/pdfs/ && ls *.pdf | rofi -dmenu -lines 20 | xargs -I {} zathura {}
|
cd ~/Cloud/thesis/ressources/notes/pdfs/ && ls *.pdf | rofi -dmenu -lines 20 | xargs -I {} zathura {}
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* TODO askpass
|
* TODO =askpass-rofi= - askpass
|
||||||
- [ ] Should be a script
|
- [ ] Should be a script
|
||||||
|
|
||||||
Take password prompt from STDIN, print password to STDOUT.
|
Take password prompt from STDIN, print password to STDOUT.
|
||||||
The sed piece just removes the colon from the provided prompt: =rofi -p= already gives us a colon
|
The sed piece just removes the colon from the provided prompt: =rofi -p= already gives us a colon
|
||||||
#+BEGIN_SRC bash :tangle ~/bin/askpass-rofi
|
#+BEGIN_SRC bash :tangle ~/.local/bin/askpass-rofi
|
||||||
rofi -dmenu \
|
rofi -dmenu \
|
||||||
-password \
|
-password \
|
||||||
-no-fixed-num-lines \
|
-no-fixed-num-lines \
|
||||||
@ -518,7 +518,7 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
|
|
||||||
* =screenshot= - Take Screenshot
|
* =screenshot= - Take Screenshot
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/screenshot
|
#+begin_src bash :tangle ~/.local/bin/screenshot
|
||||||
status=$(echo -e "All\nGUI\nSelection\nCropped\nCopy\nShadow\nActive" | rofi -i -dmenu -p "Type")
|
status=$(echo -e "All\nGUI\nSelection\nCropped\nCopy\nShadow\nActive" | rofi -i -dmenu -p "Type")
|
||||||
if [ -z "$status" ]; then
|
if [ -z "$status" ]; then
|
||||||
exit;
|
exit;
|
||||||
@ -549,7 +549,7 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
|
|
||||||
* =remote-desktop= - Remote Desktop Connect
|
* =remote-desktop= - Remote Desktop Connect
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/remote-desktop
|
#+begin_src bash :tangle ~/.local/bin/remote-desktop
|
||||||
computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);
|
computer=$(echo -e 'RNICE\nPCMEL1\nPCNASS1\nPCMEG01' | dmenu -p 'Computer:' -l 20);
|
||||||
|
|
||||||
case $computer in
|
case $computer in
|
||||||
@ -573,7 +573,7 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
|
|
||||||
* =network-toggle= - Toggle Network
|
* =network-toggle= - Toggle Network
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/network-toggle
|
#+begin_src bash :tangle ~/.local/bin/network-toggle
|
||||||
result=$(nmcli device | sed '1d' | dmenu -l 20);
|
result=$(nmcli device | sed '1d' | dmenu -l 20);
|
||||||
|
|
||||||
interface=$(echo $result | awk -F ' ' '{print $1}');
|
interface=$(echo $result | awk -F ' ' '{print $1}');
|
||||||
@ -588,7 +588,7 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
|
|
||||||
* =print-rnice= - Print on Rnice
|
* =print-rnice= - Print on Rnice
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/print-rnice
|
#+begin_src bash :tangle ~/.local/bin/print-rnice
|
||||||
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20);
|
nbpage=$(echo -e '1\n2\n4' | dmenu -p 'Number of pages per sheet' -l 20);
|
||||||
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20);
|
sides=$(echo -e 'one-sided\ntwo-sided-long-edge\ntwo-sided-short-edge' | dmenu -p 'Two Sided:' -l 20);
|
||||||
|
|
||||||
@ -602,10 +602,10 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* TODO Mount TMP14DAYS
|
* TODO =mnt_tmp_14_days= - Mount TMP14DAYS
|
||||||
- [ ] Put that as a script?
|
- [ ] Put that as a script?
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/mnt_tmp_14_days
|
#+begin_src bash :tangle ~/.local/bin/mnt_tmp_14_days
|
||||||
sudo -A mkdir ~/tmp_14_days;
|
sudo -A mkdir ~/tmp_14_days;
|
||||||
sudo -A mount -o rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=160.103.232.103,mountvers=3,mountport=597,mountproto=tcp,local_lock=none,addr=160.103.232.103 rnice:/hz/tmp_14_days ~/tmp_14_days;
|
sudo -A mount -o rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=160.103.232.103,mountvers=3,mountport=597,mountproto=tcp,local_lock=none,addr=160.103.232.103 rnice:/hz/tmp_14_days ~/tmp_14_days;
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -613,7 +613,7 @@ The sed piece just removes the colon from the provided prompt: =rofi -p= already
|
|||||||
* =make-gif= - Make GIF
|
* =make-gif= - Make GIF
|
||||||
http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
|
http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/make-gif
|
#+begin_src bash :tangle ~/.local/bin/make-gif
|
||||||
palette="/tmp/palette.png"
|
palette="/tmp/palette.png"
|
||||||
|
|
||||||
filters="fps=15,scale=320:-1:flags=lanczos"
|
filters="fps=15,scale=320:-1:flags=lanczos"
|
||||||
@ -623,7 +623,7 @@ http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html
|
|||||||
#+end_src
|
#+end_src
|
||||||
* =yt-audio= - Download-Audio from youtube
|
* =yt-audio= - Download-Audio from youtube
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/yt-audio
|
#+begin_src bash :tangle ~/.local/bin/yt-audio
|
||||||
if [ $TMUX ]; then
|
if [ $TMUX ]; then
|
||||||
tmux split -v -l 5 "cd ~/Downloads/ && youtube-dl --add-metadata -xic -f bestaudio/best $1" && tmux select-pane -U
|
tmux split -v -l 5 "cd ~/Downloads/ && youtube-dl --add-metadata -xic -f bestaudio/best $1" && tmux select-pane -U
|
||||||
else
|
else
|
||||||
@ -634,7 +634,7 @@ fi
|
|||||||
|
|
||||||
* =yt-video= - Download-Video from youtube
|
* =yt-video= - Download-Video from youtube
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/yt-video
|
#+begin_src bash :tangle ~/.local/bin/yt-video
|
||||||
if [ $TMUX ]; then
|
if [ $TMUX ]; then
|
||||||
tmux split -v -l 5 "cd ~/Downloads/ && youtube-dl --add-metadata -ic $1" && tmux select-pane -U
|
tmux split -v -l 5 "cd ~/Downloads/ && youtube-dl --add-metadata -ic $1" && tmux select-pane -U
|
||||||
else
|
else
|
||||||
@ -644,7 +644,7 @@ fi
|
|||||||
#+end_src
|
#+end_src
|
||||||
* =pdf-shrink= Pdf Shrink
|
* =pdf-shrink= Pdf Shrink
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/pdf-shrink
|
#+begin_src bash :tangle ~/.local/bin/pdf-shrink
|
||||||
shrink ()
|
shrink ()
|
||||||
{
|
{
|
||||||
gs \
|
gs \
|
||||||
@ -715,7 +715,7 @@ fi
|
|||||||
#+end_src
|
#+end_src
|
||||||
* =setbg= - Set Background
|
* =setbg= - Set Background
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/setbg
|
#+begin_src bash :tangle ~/.local/bin/setbg
|
||||||
bgloc="${XDG_CACHE_HOME:-$HOME/.cache/}/bg"
|
bgloc="${XDG_CACHE_HOME:-$HOME/.cache/}/bg"
|
||||||
|
|
||||||
[ -f "$1" ] && ln -sf "$(readlink -f "$1")" "$bgloc"
|
[ -f "$1" ] && ln -sf "$(readlink -f "$1")" "$bgloc"
|
||||||
@ -724,13 +724,13 @@ fi
|
|||||||
|
|
||||||
xwallpaper --zoom "$bgloc"
|
xwallpaper --zoom "$bgloc"
|
||||||
#+end_src
|
#+end_src
|
||||||
* Insert Unicode Icon
|
* =insert-unicode= - Insert Unicode Icon
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/insert-unicode
|
#+begin_src bash :tangle ~/.local/bin/insert-unicode
|
||||||
# Must have xclip installed to even show menu.
|
# Must have xclip installed to even show menu.
|
||||||
xclip -h 2>/dev/null || exit 1
|
xclip -h 2>/dev/null || exit 1
|
||||||
|
|
||||||
chosen=$(cut -d ';' -f1 ~/.local/share/emoji | rofi -dmenu -i -l 20 | sed "s/ .*//")
|
chosen=$(cut -d ';' -f1 ~/.local/data/emoji | rofi -dmenu -i -l 20 | sed "s/ .*//")
|
||||||
|
|
||||||
[ "$chosen" != "" ] || exit
|
[ "$chosen" != "" ] || exit
|
||||||
|
|
||||||
@ -743,13 +743,13 @@ fi
|
|||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Insert Nerd Font Icon
|
* =insert-nerd-fonts= - Insert Nerd Font Icon
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/insert-nerd-fonts
|
#+begin_src bash :tangle ~/.local/bin/insert-nerd-fonts
|
||||||
# Must have xsel installed to even show menu.
|
# Must have xsel installed to even show menu.
|
||||||
xsel -h 2>/dev/null || exit 1
|
xsel -h 2>/dev/null || exit 1
|
||||||
|
|
||||||
chosen=$(cat ~/.local/share/nerd-fonts | rofi -dmenu -i -l 20 | sed "s/ .*//")
|
chosen=$(cat ~/.local/data/nerd-fonts | rofi -dmenu -i -l 20 | sed "s/ .*//")
|
||||||
|
|
||||||
[ "$chosen" != "" ] || exit
|
[ "$chosen" != "" ] || exit
|
||||||
|
|
||||||
@ -761,6 +761,7 @@ fi
|
|||||||
dunstify "'$chosen' copied to clipboard." &
|
dunstify "'$chosen' copied to clipboard." &
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* =nas= - Interact with the NAS
|
* =nas= - Interact with the NAS
|
||||||
|
|
||||||
As an alternative, =sshfs= can be used:
|
As an alternative, =sshfs= can be used:
|
||||||
@ -768,7 +769,7 @@ As an alternative, =sshfs= can be used:
|
|||||||
sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS
|
sshfs -o allow_other,default_permissions nas:/Data ~/mnt/NAS
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/bin/nas
|
#+begin_src bash :tangle ~/.local/bin/nas
|
||||||
if [ $1 == "mount" ]; then
|
if [ $1 == "mount" ]; then
|
||||||
if mount /home/thomas/mnt/NAS/; then
|
if mount /home/thomas/mnt/NAS/; then
|
||||||
dunstify --replace=58249 'NAS ' 'Successfully mounted'
|
dunstify --replace=58249 'NAS ' 'Successfully mounted'
|
||||||
@ -783,3 +784,139 @@ As an alternative, =sshfs= can be used:
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
* =linkhandler= - Open with Default application
|
||||||
|
Inspired from =linkhandler= https://github.com/LukeSmithxyz/voidrice/
|
||||||
|
This is used in =newsboat= to handle links
|
||||||
|
|
||||||
|
#+begin_src bash :tangle ~/.local/bin/linkhandler
|
||||||
|
[ -z "$1" ] && { "$BROWSER"; exit; }
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
,*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*)
|
||||||
|
setsid mpv --input-ipc-server=/tmp/mpvsoc$(date +%s) -quiet "$1" >/dev/null 2>&1 & ;;
|
||||||
|
,*png|*jpg|*jpe|*jpeg|*gif)
|
||||||
|
curl -sL "$1" > "/tmp/$(echo "$1" | sed "s/.*\///")" && sxiv -a "/tmp/$(echo "$1" | sed "s/.*\///")" >/dev/null 2>&1 & ;;
|
||||||
|
,*mp3|*flac|*opus|*mp3?source*)
|
||||||
|
setsid tsp curl -LO "$1" >/dev/null 2>&1 & ;;
|
||||||
|
,*)
|
||||||
|
if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR $1"
|
||||||
|
else setsid $BROWSER "$1" >/dev/null 2>&1 & fi ;;
|
||||||
|
esac
|
||||||
|
#+end_src
|
||||||
|
* =lockscreen= - LockScreen
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args: :tangle ~/.local/bin/lockscreen
|
||||||
|
:END:
|
||||||
|
|
||||||
|
First, turn off dunst
|
||||||
|
#+begin_src bash
|
||||||
|
killall -SIGUSR1 dunst && echo "off" > /tmp/dunststatus;
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Turn off the music if it is playing.
|
||||||
|
#+begin_src bash
|
||||||
|
MPC_STATE=$(mpc | sed -n '2p' | cut -d "[" -f2 | cut -d "]" -f1)
|
||||||
|
if [[ $MPC_STATE == "playing" ]]; then
|
||||||
|
mpc pause
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Then take a screenshot and process it.
|
||||||
|
#+begin_src bash
|
||||||
|
temp_file="/tmp/screen.png"
|
||||||
|
|
||||||
|
rm -f $temp_file
|
||||||
|
|
||||||
|
maim $temp_file
|
||||||
|
convert $temp_file -scale 10% -scale 1000% $temp_file
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Finally, lock the screen using =i3lock=.
|
||||||
|
#+begin_src bash
|
||||||
|
i3lock --no-unlock-indicator --ignore-empty-password --nofork --image=$temp_file && killall -SIGUSR2 dunst && echo "on" > /tmp/dunststatus
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src bash :tangle no
|
||||||
|
revert() {
|
||||||
|
xset dpms 0 0 0
|
||||||
|
}
|
||||||
|
trap revert HUP INT TERM
|
||||||
|
# turn off screen after 5 seconds
|
||||||
|
xset +dpms dpms 5 5 5
|
||||||
|
|
||||||
|
# Parameters
|
||||||
|
temp_file="/tmp/screen.png"
|
||||||
|
icon="$HOME/Pictures/Evil_Rick_Sprite.png"
|
||||||
|
width=1920
|
||||||
|
height=1080
|
||||||
|
blur_factor=6
|
||||||
|
lock_blur_factor=0
|
||||||
|
|
||||||
|
# Take the screen shot, blur the image and add the icon
|
||||||
|
ffmpeg -f x11grab -video_size "${width}x${height}" -y -i $DISPLAY -i $icon -filter_complex "boxblur=$blur_factor:$blur_factor,overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,boxblur=$lock_blur_factor:$lock_blur_factor" -vframes 1 $temp_file
|
||||||
|
|
||||||
|
# Alternative
|
||||||
|
# maim -d 1 $temp_file
|
||||||
|
# convert -blur 0x8 $temp_file $temp_file
|
||||||
|
# convert -composite $temp_file $icon -gravity South -geometry -20x1200 $temp_file
|
||||||
|
|
||||||
|
# Lock the screen with the image
|
||||||
|
i3lock --no-unlock-indicator --ignore-empty-password --show-failed-attempts --nofork --image=$temp_file
|
||||||
|
|
||||||
|
# Remove the screenshot
|
||||||
|
rm $temp_file
|
||||||
|
|
||||||
|
# Don't turn off screen when back from lock
|
||||||
|
revert
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* TODO =quit= - Lock / Exit / Suspend / ...
|
||||||
|
- [ ] Seems duplicated with [[file:binaries.org::*=i3exit= - Manage lock, suspend, reboot, ...][=i3exit= - Manage lock, suspend, reboot, ...]]
|
||||||
|
- [ ] Also change the binary name
|
||||||
|
|
||||||
|
#+begin_src bash :tangle ~/.local/bin/quit
|
||||||
|
option=$(echo -e "Lock\nExit\nLogout\nSuspend\nHibernate\nReboot\nShutdown" | rofi -i -dmenu)
|
||||||
|
|
||||||
|
case "$option" in
|
||||||
|
"Lock")
|
||||||
|
i3exit lock ;;
|
||||||
|
"Exit")
|
||||||
|
i3exit switch_user ;;
|
||||||
|
"Logout")
|
||||||
|
i3exit logout ;;
|
||||||
|
"Suspend")
|
||||||
|
i3exit suspend ;;
|
||||||
|
"Hibernate")
|
||||||
|
i3exit hibernate ;;
|
||||||
|
"Reboot")
|
||||||
|
i3exit reboot ;;
|
||||||
|
"Shutdown")
|
||||||
|
i3exit shutdown ;;
|
||||||
|
esac
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* =torrent-add= - Download Torrent
|
||||||
|
|
||||||
|
#+begin_src bash :tangle ~/.local/bin/torrent-add
|
||||||
|
transmission-remote ***REMOVED***:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
|
||||||
|
dunstify 'Torrent' 'Successfully added' || \
|
||||||
|
dunstify 'Torrent' 'Error'
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
* =mopidy-restart= - Restart Mopidy
|
||||||
|
#+begin_src bash :tangle ~/.local/bin/mopidy-restart
|
||||||
|
pids=( $(pgrep -f mopidy) )
|
||||||
|
|
||||||
|
for pid in "${pids[@]}"; do
|
||||||
|
if [[ $pid != $$ ]]; then
|
||||||
|
kill "$pid"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Killed mopidy."
|
||||||
|
echo "Restarting mopidy..."
|
||||||
|
mopidy --config ~/.config/mopidy/mopidy.conf >/dev/null 2>&1 &
|
||||||
|
echo "Done"
|
||||||
|
#+end_src
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#+TITLE: Scripts
|
#+TITLE: Data
|
||||||
:DRAWER:
|
:DRAWER:
|
||||||
#+STARTUP: overview
|
#+STARTUP: overview
|
||||||
|
|
||||||
@ -20,7 +20,7 @@
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
* Nerd Fonts
|
* Nerd Fonts
|
||||||
#+begin_src conf :tangle ~/.local/share/nerd-fonts
|
#+begin_src conf :tangle ~/.local/data/nerd-fonts
|
||||||
- i_dev_bing_small
|
- i_dev_bing_small
|
||||||
- i_dev_css_tricks
|
- i_dev_css_tricks
|
||||||
- i_dev_git
|
- i_dev_git
|
||||||
@ -1303,7 +1303,8 @@
|
|||||||
- i_custom_vim
|
- i_custom_vim
|
||||||
#+end_src
|
#+end_src
|
||||||
* Emojis
|
* Emojis
|
||||||
#+begin_src conf :tangle ~/.local/share/emojis😀 grinning face; U+1F600
|
#+begin_src conf :tangle ~/.local/data/emojis
|
||||||
|
😀 grinning face; U+1F600
|
||||||
😃 grinning face with big eyes; U+1F603
|
😃 grinning face with big eyes; U+1F603
|
||||||
😄 grinning face with smiling eyes; U+1F604
|
😄 grinning face with smiling eyes; U+1F604
|
||||||
😁 beaming face with smiling eyes; U+1F601
|
😁 beaming face with smiling eyes; U+1F601
|
||||||
|
@ -2637,7 +2637,7 @@ Choose account label to feed msmtp -a option based on From header in Message buf
|
|||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(use-package! mu4e
|
(use-package! mu4e
|
||||||
:config
|
:config
|
||||||
(setq mu4e-get-mail-command "~/scripts/checkmail.sh"
|
(setq mu4e-get-mail-command "checkmail"
|
||||||
mu4e-update-interval nil
|
mu4e-update-interval nil
|
||||||
mu4e-change-filenames-when-moving t) ;; Fix for mbsync
|
mu4e-change-filenames-when-moving t) ;; Fix for mbsync
|
||||||
)
|
)
|
||||||
|
@ -64,7 +64,6 @@ The general installation process is described [[file:install.org][here]].
|
|||||||
- [[file:applications.org][Desktop Applications]]
|
- [[file:applications.org][Desktop Applications]]
|
||||||
- [[file:matlab.org][Matlab]]
|
- [[file:matlab.org][Matlab]]
|
||||||
- Some useful [[file:binaries.org][Binaries]]
|
- Some useful [[file:binaries.org][Binaries]]
|
||||||
- Some useful [[file:scripts.org][Scripts]]
|
|
||||||
- [[file:git.org][Git]] Configuration
|
- [[file:git.org][Git]] Configuration
|
||||||
- [[file:gtk.org][GTK]]
|
- [[file:gtk.org][GTK]]
|
||||||
- [[file:config.org][Other Config]]
|
- [[file:config.org][Other Config]]
|
||||||
|
@ -251,7 +251,7 @@ Use ~sudo -A~, that will open a rofi prompt to ask for the password.
|
|||||||
|
|
||||||
For that to work, we need to add the following code to =~/.profile=:
|
For that to work, we need to add the following code to =~/.profile=:
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
export SUDO_ASKPASS=~/bin/askpass-rofi
|
export SUDO_ASKPASS=~/.local/bin/askpass-rofi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
The =askpass= script is:
|
The =askpass= script is:
|
||||||
@ -357,8 +357,8 @@ https://github.com/carnager/buku_run
|
|||||||
|
|
||||||
*** Installation
|
*** Installation
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
wget https://raw.githubusercontent.com/carnager/buku_run/master/buku_run -o ~/bin/buku_run
|
wget https://raw.githubusercontent.com/carnager/buku_run/master/buku_run -o ~/.local/bin/buku_run
|
||||||
chmod +x ~/bin/buku_run
|
chmod +x ~/.local/bin/buku_run
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Configuration
|
*** Configuration
|
||||||
@ -376,7 +376,7 @@ cd ~/.local/share/buku/bookmarks.db
|
|||||||
git init
|
git init
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Then we create a script that will automatically add =bookmarks.db= and push to some repository: =~/scripts/buku_git_push.sh=.
|
Then we create a script that will automatically add =bookmarks.db= and push to some repository: =buku_git_push=.
|
||||||
|
|
||||||
To automatically run the script every day, a systemd unit is used: =~/.config/systemd/user/bukugit.timer= and =~/.config/systemd/user/bukugit.service=
|
To automatically run the script every day, a systemd unit is used: =~/.config/systemd/user/bukugit.timer= and =~/.config/systemd/user/bukugit.service=
|
||||||
|
|
||||||
@ -803,7 +803,7 @@ https://wiki.archlinux.org/index.php/Isync
|
|||||||
|
|
||||||
*** Automation using systemd
|
*** Automation using systemd
|
||||||
**** Retreive New mails
|
**** Retreive New mails
|
||||||
- =~/scripts/checkmail.sh=
|
- =checkmail=
|
||||||
- =~/.config/systemd/user/checkmail.service=
|
- =~/.config/systemd/user/checkmail.service=
|
||||||
- =~/.config/systemd/user/checkmail.timer=
|
- =~/.config/systemd/user/checkmail.timer=
|
||||||
|
|
||||||
@ -845,9 +845,6 @@ https://github.com/neomutt/neomutt
|
|||||||
yay -S w3m
|
yay -S w3m
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
*** Open PDF from mail
|
|
||||||
=~/scripts/openfile.sh=
|
|
||||||
|
|
||||||
*** Open Url from mail
|
*** Open Url from mail
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
yay -S urlview
|
yay -S urlview
|
||||||
@ -859,7 +856,7 @@ https://github.com/neomutt/neomutt
|
|||||||
- https://github.com/LukeSmithxyz/mutt-wizard
|
- https://github.com/LukeSmithxyz/mutt-wizard
|
||||||
|
|
||||||
** Notification system
|
** Notification system
|
||||||
A script (=~/scripts/checkmail.sh=) is used to retreive new mails and use =notify=send= is there are new received mails.
|
A script (=checkmail=) is used to retreive new mails and use =notify=send= is there are new received mails.
|
||||||
|
|
||||||
* File Manager
|
* File Manager
|
||||||
Configuration files:
|
Configuration files:
|
||||||
|
@ -26,246 +26,246 @@ http://isync.sourceforge.net/
|
|||||||
|
|
||||||
** Global Defaults
|
** Global Defaults
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
# Automatically create missing mailboxes, both locally and on the server
|
# Automatically create missing mailboxes, both locally and on the server
|
||||||
Create Both
|
Create Both
|
||||||
# Save the synchronization state files in the relevant directory
|
# Save the synchronization state files in the relevant directory
|
||||||
SyncState *
|
SyncState *
|
||||||
# Permanently remove all messages [on the Master/Slave] marked for deletion.
|
# Permanently remove all messages [on the Master/Slave] marked for deletion.
|
||||||
Expunge Both
|
Expunge Both
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Gmail Account
|
** Gmail Account
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPAccount gmail
|
IMAPAccount gmail
|
||||||
Host imap.gmail.com
|
Host imap.gmail.com
|
||||||
User dehaeze.thomas@gmail.com
|
User dehaeze.thomas@gmail.com
|
||||||
PassCmd "pass email/dehaeze.thomas@gmail.com"
|
PassCmd "pass email/dehaeze.thomas@gmail.com"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
AuthMechs LOGIN
|
AuthMechs LOGIN
|
||||||
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
CertificateFile /etc/ssl/certs/ca-certificates.crt
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPStore gmail-remote
|
IMAPStore gmail-remote
|
||||||
Account gmail
|
Account gmail
|
||||||
|
|
||||||
MaildirStore gmail-local
|
MaildirStore gmail-local
|
||||||
Path ~/.mail/gmail/
|
Path ~/.mail/gmail/
|
||||||
Inbox ~/.mail/gmail/Inbox
|
Inbox ~/.mail/gmail/Inbox
|
||||||
|
|
||||||
Channel gmail-Home
|
Channel gmail-Home
|
||||||
Master :gmail-remote:"INBOX"
|
Master :gmail-remote:"INBOX"
|
||||||
Slave :gmail-local:Inbox
|
Slave :gmail-local:Inbox
|
||||||
|
|
||||||
Channel gmail-Drafts
|
Channel gmail-Drafts
|
||||||
Master :gmail-remote:"[Gmail]/Drafts"
|
Master :gmail-remote:"[Gmail]/Drafts"
|
||||||
Slave :gmail-local:Drafts
|
Slave :gmail-local:Drafts
|
||||||
|
|
||||||
Channel gmail-Sent
|
Channel gmail-Sent
|
||||||
Master :gmail-remote:"[Gmail]/Sent Mail"
|
Master :gmail-remote:"[Gmail]/Sent Mail"
|
||||||
Slave :gmail-local:Sent
|
Slave :gmail-local:Sent
|
||||||
|
|
||||||
Channel gmail-Trash
|
Channel gmail-Trash
|
||||||
Master :gmail-remote:"[Gmail]/Trash"
|
Master :gmail-remote:"[Gmail]/Trash"
|
||||||
Slave :gmail-local:Trash
|
Slave :gmail-local:Trash
|
||||||
|
|
||||||
Channel gmail-All
|
Channel gmail-All
|
||||||
Master :gmail-remote:"[Gmail]/All Mail"
|
Master :gmail-remote:"[Gmail]/All Mail"
|
||||||
Slave :gmail-local:Archive
|
Slave :gmail-local:Archive
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
# Catch-all for everything else: note that the `Patterns` have to exclude both
|
# Catch-all for everything else: note that the `Patterns` have to exclude both
|
||||||
# the remote and local names for all the folders we want to exclude (except
|
# the remote and local names for all the folders we want to exclude (except
|
||||||
# "INBOX", which is special-cased, it would seem).
|
# "INBOX", which is special-cased, it would seem).
|
||||||
Channel gmail
|
Channel gmail
|
||||||
Master :gmail-remote:
|
Master :gmail-remote:
|
||||||
Slave :gmail-local:
|
Slave :gmail-local:
|
||||||
# Exclude everything under the internal [Gmail] folder, except the interesting folders
|
# Exclude everything under the internal [Gmail] folder, except the interesting folders
|
||||||
Patterns *
|
Patterns *
|
||||||
Patterns !INBOX
|
Patterns !INBOX
|
||||||
Patterns ![Gmail]*
|
Patterns ![Gmail]*
|
||||||
Patterns !Archive
|
Patterns !Archive
|
||||||
Patterns !Drafts
|
Patterns !Drafts
|
||||||
Patterns !Sent Mail
|
Patterns !Sent Mail
|
||||||
Patterns !Trash
|
Patterns !Trash
|
||||||
Patterns !Spam
|
Patterns !Spam
|
||||||
Patterns !Starred
|
Patterns !Starred
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
# For doing a quick sync of just the INBOX with `mbsync gmail-download`.
|
# For doing a quick sync of just the INBOX with `mbsync gmail-download`.
|
||||||
Channel gmail-download
|
Channel gmail-download
|
||||||
Master :gmail-remote:"INBOX"
|
Master :gmail-remote:"INBOX"
|
||||||
Slave :gmail-local:Inbox
|
Slave :gmail-local:Inbox
|
||||||
Create Slave
|
Create Slave
|
||||||
Expunge Slave
|
Expunge Slave
|
||||||
Sync Pull
|
Sync Pull
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** ESRF Account
|
** ESRF Account
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPAccount esrf
|
IMAPAccount esrf
|
||||||
Host imaps.esrf.fr
|
Host imaps.esrf.fr
|
||||||
User dehaeze
|
User dehaeze
|
||||||
PassCmd "pass email/thomas.dehaeze@esrf.fr"
|
PassCmd "pass email/thomas.dehaeze@esrf.fr"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
AuthMechs LOGIN
|
AuthMechs LOGIN
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPStore esrf-remote
|
IMAPStore esrf-remote
|
||||||
Account esrf
|
Account esrf
|
||||||
|
|
||||||
MaildirStore esrf-local
|
MaildirStore esrf-local
|
||||||
Path ~/.mail/esrf/
|
Path ~/.mail/esrf/
|
||||||
Inbox ~/.mail/esrf/Inbox
|
Inbox ~/.mail/esrf/Inbox
|
||||||
|
|
||||||
Channel esrf-Home
|
Channel esrf-Home
|
||||||
Master :esrf-remote:"Inbox"
|
Master :esrf-remote:"Inbox"
|
||||||
Slave :esrf-local:Inbox
|
Slave :esrf-local:Inbox
|
||||||
|
|
||||||
Channel esrf-Drafts
|
Channel esrf-Drafts
|
||||||
Master :esrf-remote:"Drafts"
|
Master :esrf-remote:"Drafts"
|
||||||
Slave :esrf-local:Drafts
|
Slave :esrf-local:Drafts
|
||||||
|
|
||||||
Channel esrf-Archive
|
Channel esrf-Archive
|
||||||
Master :esrf-remote:"Archive"
|
Master :esrf-remote:"Archive"
|
||||||
Slave :esrf-local:Archive
|
Slave :esrf-local:Archive
|
||||||
|
|
||||||
Channel esrf-Sent
|
Channel esrf-Sent
|
||||||
Master :esrf-remote:"Sent"
|
Master :esrf-remote:"Sent"
|
||||||
Slave :esrf-local:Sent
|
Slave :esrf-local:Sent
|
||||||
|
|
||||||
Channel esrf-Trash
|
Channel esrf-Trash
|
||||||
Master :esrf-remote:"Trash"
|
Master :esrf-remote:"Trash"
|
||||||
Slave :esrf-local:Trash
|
Slave :esrf-local:Trash
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel esrf
|
Channel esrf
|
||||||
Master :esrf-remote:
|
Master :esrf-remote:
|
||||||
Slave :esrf-local:
|
Slave :esrf-local:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
For doing a quick sync of just the INBOX with `mbsync esrf-download`.
|
For doing a quick sync of just the INBOX with `mbsync esrf-download`.
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel esrf-download
|
Channel esrf-download
|
||||||
Master :esrf-remote:"INBOX"
|
Master :esrf-remote:"INBOX"
|
||||||
Slave :esrf-local:Inbox
|
Slave :esrf-local:Inbox
|
||||||
Create Slave
|
Create Slave
|
||||||
Expunge Slave
|
Expunge Slave
|
||||||
Sync Pull
|
Sync Pull
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** ULG Student Account
|
** ULG Student Account
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPAccount ulg
|
IMAPAccount ulg
|
||||||
Host mail.ulg.ac.be
|
Host mail.ulg.ac.be
|
||||||
User thomas.dehaeze@doct.uliege.be
|
User thomas.dehaeze@doct.uliege.be
|
||||||
PassCmd "pass email/thomas.dehaeze@doct.uliege.be"
|
PassCmd "pass email/thomas.dehaeze@doct.uliege.be"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
AuthMechs LOGIN
|
AuthMechs LOGIN
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPStore ulg-remote
|
IMAPStore ulg-remote
|
||||||
Account ulg
|
Account ulg
|
||||||
|
|
||||||
MaildirStore ulg-local
|
MaildirStore ulg-local
|
||||||
Path ~/.mail/ulg/
|
Path ~/.mail/ulg/
|
||||||
Inbox ~/.mail/ulg/Inbox
|
Inbox ~/.mail/ulg/Inbox
|
||||||
|
|
||||||
Channel ulg-Home
|
Channel ulg-Home
|
||||||
Master :ulg-remote:"Inbox"
|
Master :ulg-remote:"Inbox"
|
||||||
Slave :ulg-local:Inbox
|
Slave :ulg-local:Inbox
|
||||||
|
|
||||||
Channel ulg-Drafts
|
Channel ulg-Drafts
|
||||||
Master :ulg-remote:"Drafts"
|
Master :ulg-remote:"Drafts"
|
||||||
Slave :ulg-local:Drafts
|
Slave :ulg-local:Drafts
|
||||||
|
|
||||||
Channel ulg-Archive
|
Channel ulg-Archive
|
||||||
Master :ulg-remote:"Archive"
|
Master :ulg-remote:"Archive"
|
||||||
Slave :ulg-local:Archive
|
Slave :ulg-local:Archive
|
||||||
|
|
||||||
Channel ulg-Sent
|
Channel ulg-Sent
|
||||||
Master :ulg-remote:"Sent"
|
Master :ulg-remote:"Sent"
|
||||||
Slave :ulg-local:Sent
|
Slave :ulg-local:Sent
|
||||||
|
|
||||||
Channel ulg-Trash
|
Channel ulg-Trash
|
||||||
Master :ulg-remote:"Trash"
|
Master :ulg-remote:"Trash"
|
||||||
Slave :ulg-local:Trash
|
Slave :ulg-local:Trash
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel ulg
|
Channel ulg
|
||||||
Master :ulg-remote:
|
Master :ulg-remote:
|
||||||
Slave :ulg-local:
|
Slave :ulg-local:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
For doing a quick sync of just the INBOX with `mbsync ulg-download`.
|
For doing a quick sync of just the INBOX with `mbsync ulg-download`.
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel ulg-download
|
Channel ulg-download
|
||||||
Master :ulg-remote:"Inbox"
|
Master :ulg-remote:"Inbox"
|
||||||
Slave :ulg-local:Inbox
|
Slave :ulg-local:Inbox
|
||||||
Create Slave
|
Create Slave
|
||||||
Expunge Slave
|
Expunge Slave
|
||||||
Sync Pull
|
Sync Pull
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** ULG Personal Account
|
** ULG Personal Account
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPAccount uliege
|
IMAPAccount uliege
|
||||||
Host mail.ulg.ac.be
|
Host mail.ulg.ac.be
|
||||||
User tdehaeze@uliege.be
|
User tdehaeze@uliege.be
|
||||||
PassCmd "pass email/tdehaeze@uliege.be"
|
PassCmd "pass email/tdehaeze@uliege.be"
|
||||||
SSLType IMAPS
|
SSLType IMAPS
|
||||||
AuthMechs LOGIN
|
AuthMechs LOGIN
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
IMAPStore uliege-remote
|
IMAPStore uliege-remote
|
||||||
Account uliege
|
Account uliege
|
||||||
|
|
||||||
MaildirStore uliege-local
|
MaildirStore uliege-local
|
||||||
Path ~/.mail/uliege/
|
Path ~/.mail/uliege/
|
||||||
Inbox ~/.mail/uliege/Inbox
|
Inbox ~/.mail/uliege/Inbox
|
||||||
|
|
||||||
Channel uliege-Home
|
Channel uliege-Home
|
||||||
Master :uliege-remote:"Inbox"
|
Master :uliege-remote:"Inbox"
|
||||||
Slave :uliege-local:Inbox
|
Slave :uliege-local:Inbox
|
||||||
|
|
||||||
Channel uliege-Drafts
|
Channel uliege-Drafts
|
||||||
Master :uliege-remote:"Drafts"
|
Master :uliege-remote:"Drafts"
|
||||||
Slave :uliege-local:Drafts
|
Slave :uliege-local:Drafts
|
||||||
|
|
||||||
Channel uliege-Archive
|
Channel uliege-Archive
|
||||||
Master :uliege-remote:"Archive"
|
Master :uliege-remote:"Archive"
|
||||||
Slave :uliege-local:Archive
|
Slave :uliege-local:Archive
|
||||||
|
|
||||||
Channel uliege-Sent
|
Channel uliege-Sent
|
||||||
Master :uliege-remote:"Sent"
|
Master :uliege-remote:"Sent"
|
||||||
Slave :uliege-local:Sent
|
Slave :uliege-local:Sent
|
||||||
|
|
||||||
Channel uliege-Trash
|
Channel uliege-Trash
|
||||||
Master :uliege-remote:"Trash"
|
Master :uliege-remote:"Trash"
|
||||||
Slave :uliege-local:Trash
|
Slave :uliege-local:Trash
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel uliege
|
Channel uliege
|
||||||
Master :uliege-remote:
|
Master :uliege-remote:
|
||||||
Slave :uliege-local:
|
Slave :uliege-local:
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
For doing a quick sync of just the INBOX with `mbsync uliege-download`.
|
For doing a quick sync of just the INBOX with `mbsync uliege-download`.
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
Channel uliege-download
|
Channel uliege-download
|
||||||
Master :uliege-remote:"Inbox"
|
Master :uliege-remote:"Inbox"
|
||||||
Slave :uliege-local:Inbox
|
Slave :uliege-local:Inbox
|
||||||
Create Slave
|
Create Slave
|
||||||
Expunge Slave
|
Expunge Slave
|
||||||
Sync Pull
|
Sync Pull
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Send Mails - Msmtp
|
* Send Mails - Msmtp
|
||||||
@ -871,12 +871,12 @@ https://www.donarmstrong.com/posts/org_mode_mutt_capture/
|
|||||||
https://upsilon.cc/~zack/blog/posts/2010/02/integrating_Mutt_with_Org-mode/
|
https://upsilon.cc/~zack/blog/posts/2010/02/integrating_Mutt_with_Org-mode/
|
||||||
|
|
||||||
#+begin_src conf
|
#+begin_src conf
|
||||||
macro index,pager S "<pipe-message>$HOME/scripts/mutt-save-org-link.py\n"
|
macro index,pager S "<pipe-message>$HOME/.config/neomutt/bin/mutt-save-org-link.py\n"
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
**** Link mail to orgmode - Script
|
**** Link mail to orgmode - Script
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle ~/scripts/mutt-save-org-link.py
|
:header-args: :tangle ~/.config/neomutt/bin/mutt-save-org-link.py
|
||||||
:header-args+: :comments both :mkdirp yes
|
:header-args+: :comments both :mkdirp yes
|
||||||
:header-args+: :shebang "#!/usr/bin/env python3"
|
:header-args+: :shebang "#!/usr/bin/env python3"
|
||||||
:END:
|
:END:
|
||||||
@ -1399,9 +1399,9 @@ Of ranger can be used with the =A= keybinding.
|
|||||||
|
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
if [ $TMUX ]; then
|
if [ $TMUX ]; then
|
||||||
tmux split -v -l 1 ~/scripts/checkmail.sh $1 && tmux select-pane -U
|
tmux split -v -l 1 checkmail $1 && tmux select-pane -U
|
||||||
else
|
else
|
||||||
~/scripts/checkmail.sh $1
|
checkmail $1
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
@ -146,28 +146,28 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
|
|||||||
** Macros - Starts with , key
|
** Macros - Starts with , key
|
||||||
#+BEGIN_SRC conf
|
#+BEGIN_SRC conf
|
||||||
# Default Browser
|
# Default Browser
|
||||||
browser "qutebrowser %u"
|
browser linkhandler
|
||||||
|
|
||||||
# Open in Browser
|
# Open in Browser
|
||||||
macro , open-in-browser
|
macro , open-in-browser
|
||||||
|
|
||||||
# Download Video with Youtube-DL
|
# Download Video with Youtube-DL
|
||||||
macro t set browser "~/bin/yt-video %u" ; open-in-browser ; set browser "qutebrowser %u"
|
macro t set browser "~/.local/bin/yt-video %u" ; open-in-browser ; set browser linkhandler
|
||||||
|
|
||||||
# Download Audio with Youtube-DL
|
# Download Audio with Youtube-DL
|
||||||
macro a set browser "~/bin/yt-audio %u" ; open-in-browser ; set browser "qutebrowser %u"
|
macro a set browser "~/.local/bin/yt-audio %u" ; open-in-browser ; set browser linkhandler
|
||||||
|
|
||||||
# Open Video with MPV
|
# Open Video with MPV
|
||||||
macro v set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser "qutebrowser %u"
|
macro v set browser "setsid nohup mpv %u &> /dev/null &" ; open-in-browser ; set browser linkhandler
|
||||||
|
|
||||||
# Open With W3M
|
# Open With W3M
|
||||||
macro w set browser "w3m %u" ; open-in-browser ; set browser "qutebrowser %u"
|
macro w set browser "w3m %u" ; open-in-browser ; set browser linkhandler
|
||||||
|
|
||||||
# Copy Address to clipboard
|
# Copy Address to clipboard
|
||||||
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser "qutebrowser %u"
|
macro c set browser "xsel -b <<<" ; open-in-browser ; set browser linkhandler
|
||||||
|
|
||||||
# Quit
|
# Quit
|
||||||
macro q set browser "tmux detach;" ; open-in-browser ; set browser "qutebrowser %u"
|
macro q set browser "tmux detach;" ; open-in-browser ; set browser linkhandler
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** hide articles matching
|
** hide articles matching
|
||||||
@ -286,6 +286,7 @@ https://newsboat.org/releases/2.12/docs/newsboat.html
|
|||||||
http://howardism.org/index.xml "~RSS Howardism" emacs
|
http://howardism.org/index.xml "~RSS Howardism" emacs
|
||||||
http://xkcd.com/rss.xml "~RSS XKCD" random
|
http://xkcd.com/rss.xml "~RSS XKCD" random
|
||||||
https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio
|
https://quantasylum.com/blogs/news.atom "~RSS QuantAsylum" audio
|
||||||
|
https://blog.jethro.dev/index.xml "~RSS Jethro Kuan" emacs
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
** Youtube
|
** Youtube
|
||||||
|
@ -386,7 +386,7 @@
|
|||||||
:END:
|
:END:
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
dunstify --replace=98465 "Mails " "Syncing...";
|
dunstify --replace=98465 "Mails " "Syncing...";
|
||||||
~/scripts/checkmail.sh -q && \
|
checkmail -q && \
|
||||||
mail_nb=`du -a ~/.mail/*/Inbox/new/* 2>/dev/null | wc -l` && \
|
mail_nb=`du -a ~/.mail/*/Inbox/new/* 2>/dev/null | wc -l` && \
|
||||||
if [ "$mail_nb" -eq "0" ]; then
|
if [ "$mail_nb" -eq "0" ]; then
|
||||||
dunstify --replace=98465 "Mails " "No new mail";
|
dunstify --replace=98465 "Mails " "No new mail";
|
||||||
@ -546,7 +546,7 @@
|
|||||||
dunstify --replace=23198 "VPN" "Disconnected" && \
|
dunstify --replace=23198 "VPN" "Disconnected" && \
|
||||||
echo "off" > $tmpfile;
|
echo "off" > $tmpfile;
|
||||||
else
|
else
|
||||||
country=`cat ~/bin/nordvpn_countries.txt | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`;
|
country=`cat ~/.local/data/nordvpn_countries.txt | sed 's/\s*\t\s*/ /g ; s/\s/\n/g ; s/_/ /g ; /^[a-zA-Z]/!d ; s/\(.*\)/\L\1/' | rofi -i -dmenu | sed 's/\s/_/g'`;
|
||||||
dunstify --replace=23198 "VPN" "Connecting to $country...";
|
dunstify --replace=23198 "VPN" "Connecting to $country...";
|
||||||
nordvpn connect $country && \
|
nordvpn connect $country && \
|
||||||
dunstify --replace=23198 "VPN" "Connected to $country" && \
|
dunstify --replace=23198 "VPN" "Connected to $country" && \
|
||||||
@ -675,7 +675,7 @@
|
|||||||
|
|
||||||
format-underline = ${colors.bg}
|
format-underline = ${colors.bg}
|
||||||
click-left = ~/.config/polybar/scripts/lockscreen-toggle.sh
|
click-left = ~/.config/polybar/scripts/lockscreen-toggle.sh
|
||||||
click-right = ~/scripts/lockscreen.sh
|
click-right = ~/.local/bin/lockscreen
|
||||||
format = <label>
|
format = <label>
|
||||||
exec = ~/.config/polybar/scripts/lockscreen-status.sh
|
exec = ~/.config/polybar/scripts/lockscreen-status.sh
|
||||||
|
|
||||||
@ -709,7 +709,7 @@
|
|||||||
pkill xautolock && \
|
pkill xautolock && \
|
||||||
dunstify --replace=13602 'Lock Screen ' 'Desactivated'
|
dunstify --replace=13602 'Lock Screen ' 'Desactivated'
|
||||||
else
|
else
|
||||||
xautolock -locker "~/scripts/lockscreen.sh" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" &
|
xautolock -locker "~/.local/bin/lockscreen" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" &
|
||||||
dunstify --replace=13602 'Lock Screen ' 'Activated'
|
dunstify --replace=13602 'Lock Screen ' 'Activated'
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -806,7 +806,7 @@
|
|||||||
[module/screenshot]
|
[module/screenshot]
|
||||||
type = custom/text
|
type = custom/text
|
||||||
content = ""
|
content = ""
|
||||||
click-left = ~/bin/screenshot
|
click-left = ~/.local/bin/screenshot
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
* Scripts
|
* Scripts
|
||||||
|
@ -282,7 +282,7 @@ Add page to Bookmarks using =buku=
|
|||||||
|
|
||||||
Open bookmark using =buku=
|
Open bookmark using =buku=
|
||||||
#+begin_src python
|
#+begin_src python
|
||||||
config.bind(',o', 'spawn ~/bin/bukurun')
|
config.bind(',o', 'spawn ~/.local/bin/bukurun')
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Org Capture
|
Org Capture
|
||||||
@ -293,7 +293,7 @@ Org Capture
|
|||||||
|
|
||||||
Download a torrent
|
Download a torrent
|
||||||
#+begin_src python
|
#+begin_src python
|
||||||
config.bind(',t', 'hint links spawn --userscript ~/scripts/torrent-add.sh {hint-url}')
|
config.bind(',t', 'hint links spawn --userscript torrent-add {hint-url}')
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
Annotate with Hypothesis
|
Annotate with Hypothesis
|
||||||
@ -325,7 +325,7 @@ See Amazon price history using CamelCamelCamel
|
|||||||
echo -e "$password\nlogin: $username\nurl: $QUTE_URL" > /tmp/add-password.txt
|
echo -e "$password\nlogin: $username\nurl: $QUTE_URL" > /tmp/add-password.txt
|
||||||
pass insert --multiline "$url/$username" < /tmp/add-password.txt;
|
pass insert --multiline "$url/$username" < /tmp/add-password.txt;
|
||||||
rm /tmp/add-password.txt
|
rm /tmp/add-password.txt
|
||||||
dunstify "Pass" "Password Added"
|
dunstify "Pass " "Password Added"
|
||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -375,7 +375,7 @@ See Amazon price history using CamelCamelCamel
|
|||||||
:END:
|
:END:
|
||||||
|
|
||||||
#+begin_src bash
|
#+begin_src bash
|
||||||
readonly CAPTURE_SCRIPT=~/scripts/org-protocol-capture-html.sh
|
readonly CAPTURE_SCRIPT=~/.config/qutebrowser/userscripts/org-protocol-capture-html.sh
|
||||||
|
|
||||||
if [[ "$QUTE_MODE" = "hints" ]]; then
|
if [[ "$QUTE_MODE" = "hints" ]]; then
|
||||||
# if we start with hints, we juste want to capture the URL
|
# if we start with hints, we juste want to capture the URL
|
||||||
@ -389,6 +389,135 @@ See Amazon price history using CamelCamelCamel
|
|||||||
fi
|
fi
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Org-Protocol-Capture-HTML
|
||||||
|
:PROPERTIES:
|
||||||
|
:header-args: :tangle ~/.config/qutebrowser/userscripts/org-protocol-capture-html.sh
|
||||||
|
:END:
|
||||||
|
|
||||||
|
Defaults
|
||||||
|
#+begin_src bash
|
||||||
|
heading="link"
|
||||||
|
template="pu"
|
||||||
|
url="https://google.com/"
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Functions
|
||||||
|
#+begin_src bash
|
||||||
|
function debug {
|
||||||
|
if [[ -n $debug ]]
|
||||||
|
then
|
||||||
|
function debug {
|
||||||
|
echo "DEBUG: $@" >&2
|
||||||
|
}
|
||||||
|
debug "$@"
|
||||||
|
else
|
||||||
|
function debug {
|
||||||
|
true
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
function die {
|
||||||
|
echo "$@" >&2
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
function urlencode {
|
||||||
|
python -c "
|
||||||
|
from __future__ import print_function
|
||||||
|
try:
|
||||||
|
from urllib import quote # Python 2
|
||||||
|
except ImportError:
|
||||||
|
from urllib.parse import quote # Python 3
|
||||||
|
import sys
|
||||||
|
print(quote(sys.stdin.read()[:-1], safe=''))"
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
#+begin_src bash
|
||||||
|
function usage {
|
||||||
|
cat <<EOF
|
||||||
|
$0 [OPTIONS] [HTML]
|
||||||
|
html | $0 [OPTIONS]
|
||||||
|
Send HTML to Emacs through org-protocol, passing it through Pandoc to
|
||||||
|
convert HTML to Org-mode. HTML may be passed as an argument or
|
||||||
|
through STDIN. If only URL is given, it will be downloaded and its
|
||||||
|
contents used.
|
||||||
|
Options:
|
||||||
|
-h, --heading HEADING Heading
|
||||||
|
-t, --template TEMPLATE org-capture template key (default: pu)
|
||||||
|
-u, --url URL URL
|
||||||
|
--debug Print debug info
|
||||||
|
--help I need somebody!
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Arguments
|
||||||
|
#+begin_src bash
|
||||||
|
args=$(getopt -n "$0" -o dh:rt:u: -l debug,help,heading:,template:,url: -- "$@") \
|
||||||
|
|| die "Unable to parse args. Is getopt installed?"
|
||||||
|
eval set -- "$args"
|
||||||
|
|
||||||
|
while true
|
||||||
|
do
|
||||||
|
case "$1" in
|
||||||
|
-d|--debug)
|
||||||
|
debug=true
|
||||||
|
debug "Debugging on"
|
||||||
|
;;
|
||||||
|
--help)
|
||||||
|
usage
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
-h|--heading)
|
||||||
|
shift
|
||||||
|
heading="$1"
|
||||||
|
;;
|
||||||
|
-t|--template)
|
||||||
|
shift
|
||||||
|
template="$1"
|
||||||
|
;;
|
||||||
|
-u|--url)
|
||||||
|
shift
|
||||||
|
url="$1"
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
# Remaining args
|
||||||
|
shift
|
||||||
|
rest=("$@")
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
debug "ARGS: $args"
|
||||||
|
debug "Remaining args: ${rest[@]}"
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Get HTML
|
||||||
|
#+begin_src bash
|
||||||
|
if [[ -n $@ ]]
|
||||||
|
then
|
||||||
|
debug "Text from args"
|
||||||
|
|
||||||
|
body="$@"
|
||||||
|
fi
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
URL-encode
|
||||||
|
#+begin_src bash
|
||||||
|
heading=$(urlencode <<<"$heading") || die "Unable to urlencode heading."
|
||||||
|
url=$(urlencode <<<"$url") || die "Unable to urlencode URL."
|
||||||
|
body=$(urlencode <<<"$body") || die "Unable to urlencode text."
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
Send to Emacs
|
||||||
|
#+begin_src bash
|
||||||
|
emacsclient "org-protocol://capture?template=$template&url=$url&title=$heading&body=$body"
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Add Url to Buku using Rofi
|
** Add Url to Buku using Rofi
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle ~/.config/qutebrowser/userscripts/buku-rofi.sh
|
:header-args: :tangle ~/.config/qutebrowser/userscripts/buku-rofi.sh
|
||||||
|
@ -1,267 +0,0 @@
|
|||||||
#+TITLE: Scripts
|
|
||||||
:DRAWER:
|
|
||||||
#+STARTUP: overview
|
|
||||||
|
|
||||||
#+LANGUAGE: en
|
|
||||||
#+EMAIL: dehaeze.thomas@gmail.com
|
|
||||||
#+AUTHOR: Dehaeze Thomas
|
|
||||||
|
|
||||||
#+HTML_LINK_HOME: ./index.html
|
|
||||||
#+HTML_LINK_UP: ./index.html
|
|
||||||
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/htmlize.css"/>
|
|
||||||
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./css/readtheorg.css"/>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/bootstrap.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/jquery.stickytableheaders.min.js"></script>
|
|
||||||
#+HTML_HEAD: <script type="text/javascript" src="./js/readtheorg.js"></script>
|
|
||||||
|
|
||||||
#+PROPERTY: header-args:bash :comments both :mkdirp yes
|
|
||||||
#+PROPERTY: header-args:bash+ :shebang "#!/usr/bin/env bash"
|
|
||||||
:END:
|
|
||||||
|
|
||||||
* LockScreen
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args: :tangle ~/scripts/lockscreen.sh
|
|
||||||
:END:
|
|
||||||
|
|
||||||
First, turn off dunst
|
|
||||||
#+begin_src bash
|
|
||||||
killall -SIGUSR1 dunst && echo "off" > /tmp/dunststatus;
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Turn off the music if it is playing.
|
|
||||||
#+begin_src bash
|
|
||||||
MPC_STATE=$(mpc | sed -n '2p' | cut -d "[" -f2 | cut -d "]" -f1)
|
|
||||||
if [[ $MPC_STATE == "playing" ]]; then
|
|
||||||
mpc pause
|
|
||||||
fi
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Then take a screenshot and process it.
|
|
||||||
#+begin_src bash
|
|
||||||
temp_file="/tmp/screen.png"
|
|
||||||
|
|
||||||
rm -f $temp_file
|
|
||||||
|
|
||||||
maim $temp_file
|
|
||||||
convert $temp_file -scale 10% -scale 1000% $temp_file
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Finally, lock the screen using =i3lock=.
|
|
||||||
#+begin_src bash
|
|
||||||
i3lock --no-unlock-indicator --ignore-empty-password --nofork --image=$temp_file && killall -SIGUSR2 dunst && echo "on" > /tmp/dunststatus
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
#+begin_src bash :tangle no
|
|
||||||
revert() {
|
|
||||||
xset dpms 0 0 0
|
|
||||||
}
|
|
||||||
trap revert HUP INT TERM
|
|
||||||
# turn off screen after 5 seconds
|
|
||||||
xset +dpms dpms 5 5 5
|
|
||||||
|
|
||||||
# Parameters
|
|
||||||
temp_file="/tmp/screen.png"
|
|
||||||
icon="$HOME/Pictures/Evil_Rick_Sprite.png"
|
|
||||||
width=1920
|
|
||||||
height=1080
|
|
||||||
blur_factor=6
|
|
||||||
lock_blur_factor=0
|
|
||||||
|
|
||||||
# Take the screen shot, blur the image and add the icon
|
|
||||||
ffmpeg -f x11grab -video_size "${width}x${height}" -y -i $DISPLAY -i $icon -filter_complex "boxblur=$blur_factor:$blur_factor,overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2,boxblur=$lock_blur_factor:$lock_blur_factor" -vframes 1 $temp_file
|
|
||||||
|
|
||||||
# Alternative
|
|
||||||
# maim -d 1 $temp_file
|
|
||||||
# convert -blur 0x8 $temp_file $temp_file
|
|
||||||
# convert -composite $temp_file $icon -gravity South -geometry -20x1200 $temp_file
|
|
||||||
|
|
||||||
# Lock the screen with the image
|
|
||||||
i3lock --no-unlock-indicator --ignore-empty-password --show-failed-attempts --nofork --image=$temp_file
|
|
||||||
|
|
||||||
# Remove the screenshot
|
|
||||||
rm $temp_file
|
|
||||||
|
|
||||||
# Don't turn off screen when back from lock
|
|
||||||
revert
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* TODO Lock / Exit / Suspend / ...
|
|
||||||
- [ ] Seems duplicated with [[file:binaries.org::*=i3exit= - Manage lock, suspend, reboot, ...][=i3exit= - Manage lock, suspend, reboot, ...]]
|
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/scripts/quit.sh
|
|
||||||
option=$(echo -e "Lock\nExit\nLogout\nSuspend\nHibernate\nReboot\nShutdown" | rofi -i -dmenu)
|
|
||||||
|
|
||||||
case "$option" in
|
|
||||||
"Lock")
|
|
||||||
i3exit lock ;;
|
|
||||||
"Exit")
|
|
||||||
i3exit switch_user ;;
|
|
||||||
"Logout")
|
|
||||||
i3exit logout ;;
|
|
||||||
"Suspend")
|
|
||||||
i3exit suspend ;;
|
|
||||||
"Hibernate")
|
|
||||||
i3exit hibernate ;;
|
|
||||||
"Reboot")
|
|
||||||
i3exit reboot ;;
|
|
||||||
"Shutdown")
|
|
||||||
i3exit shutdown ;;
|
|
||||||
esac
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Download Torrent
|
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/scripts/torrent-add.sh
|
|
||||||
transmission-remote ***REMOVED***:9091 --auth tdehaeze:$(pass nas/transmission | sed -n 1p) -a $1 && \
|
|
||||||
dunstify 'Torrent' 'Successfully added' || \
|
|
||||||
dunstify 'Torrent' 'Error'
|
|
||||||
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Org-Protocol-Capture-HTML
|
|
||||||
:PROPERTIES:
|
|
||||||
:header-args: :tangle ~/scripts/org-protocol-capture-html.sh
|
|
||||||
:END:
|
|
||||||
|
|
||||||
Defaults
|
|
||||||
#+begin_src bash
|
|
||||||
heading="link"
|
|
||||||
template="pu"
|
|
||||||
url="https://google.com/"
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Functions
|
|
||||||
#+begin_src bash
|
|
||||||
function debug {
|
|
||||||
if [[ -n $debug ]]
|
|
||||||
then
|
|
||||||
function debug {
|
|
||||||
echo "DEBUG: $@" >&2
|
|
||||||
}
|
|
||||||
debug "$@"
|
|
||||||
else
|
|
||||||
function debug {
|
|
||||||
true
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function die {
|
|
||||||
echo "$@" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
function urlencode {
|
|
||||||
python -c "
|
|
||||||
from __future__ import print_function
|
|
||||||
try:
|
|
||||||
from urllib import quote # Python 2
|
|
||||||
except ImportError:
|
|
||||||
from urllib.parse import quote # Python 3
|
|
||||||
import sys
|
|
||||||
print(quote(sys.stdin.read()[:-1], safe=''))"
|
|
||||||
}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Documentation
|
|
||||||
#+begin_src bash
|
|
||||||
function usage {
|
|
||||||
cat <<EOF
|
|
||||||
$0 [OPTIONS] [HTML]
|
|
||||||
html | $0 [OPTIONS]
|
|
||||||
Send HTML to Emacs through org-protocol, passing it through Pandoc to
|
|
||||||
convert HTML to Org-mode. HTML may be passed as an argument or
|
|
||||||
through STDIN. If only URL is given, it will be downloaded and its
|
|
||||||
contents used.
|
|
||||||
Options:
|
|
||||||
-h, --heading HEADING Heading
|
|
||||||
-t, --template TEMPLATE org-capture template key (default: pu)
|
|
||||||
-u, --url URL URL
|
|
||||||
--debug Print debug info
|
|
||||||
--help I need somebody!
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Arguments
|
|
||||||
#+begin_src bash
|
|
||||||
args=$(getopt -n "$0" -o dh:rt:u: -l debug,help,heading:,template:,url: -- "$@") \
|
|
||||||
|| die "Unable to parse args. Is getopt installed?"
|
|
||||||
eval set -- "$args"
|
|
||||||
|
|
||||||
while true
|
|
||||||
do
|
|
||||||
case "$1" in
|
|
||||||
-d|--debug)
|
|
||||||
debug=true
|
|
||||||
debug "Debugging on"
|
|
||||||
;;
|
|
||||||
--help)
|
|
||||||
usage
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
-h|--heading)
|
|
||||||
shift
|
|
||||||
heading="$1"
|
|
||||||
;;
|
|
||||||
-t|--template)
|
|
||||||
shift
|
|
||||||
template="$1"
|
|
||||||
;;
|
|
||||||
-u|--url)
|
|
||||||
shift
|
|
||||||
url="$1"
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
# Remaining args
|
|
||||||
shift
|
|
||||||
rest=("$@")
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
|
|
||||||
debug "ARGS: $args"
|
|
||||||
debug "Remaining args: ${rest[@]}"
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Get HTML
|
|
||||||
#+begin_src bash
|
|
||||||
if [[ -n $@ ]]
|
|
||||||
then
|
|
||||||
debug "Text from args"
|
|
||||||
|
|
||||||
body="$@"
|
|
||||||
fi
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
URL-encode
|
|
||||||
#+begin_src bash
|
|
||||||
heading=$(urlencode <<<"$heading") || die "Unable to urlencode heading."
|
|
||||||
url=$(urlencode <<<"$url") || die "Unable to urlencode URL."
|
|
||||||
body=$(urlencode <<<"$body") || die "Unable to urlencode text."
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
Send to Emacs
|
|
||||||
#+begin_src bash
|
|
||||||
emacsclient "org-protocol://capture?template=$template&url=$url&title=$heading&body=$body"
|
|
||||||
#+end_src
|
|
||||||
|
|
||||||
* Restart Mopidy
|
|
||||||
|
|
||||||
#+begin_src bash :tangle ~/scripts/mopidy-restart.sh
|
|
||||||
pids=( $(pgrep -f mopidy) )
|
|
||||||
|
|
||||||
for pid in "${pids[@]}"; do
|
|
||||||
if [[ $pid != $$ ]]; then
|
|
||||||
kill "$pid"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Killed mopidy."
|
|
||||||
echo "Restarting mopidy..."
|
|
||||||
mopidy --config ~/.config/mopidy/mopidy.conf >/dev/null 2>&1 &
|
|
||||||
echo "Done"
|
|
||||||
#+end_src
|
|
@ -40,9 +40,9 @@
|
|||||||
* Set shut down, restart and locking features
|
* Set shut down, restart and locking features
|
||||||
#+begin_src conf
|
#+begin_src conf
|
||||||
XF86PowerOff
|
XF86PowerOff
|
||||||
$HOME/scripts/quit.sh
|
quit
|
||||||
super + 0
|
super + 0
|
||||||
$HOME/scripts/quit.sh
|
quit
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Start Applications
|
* Start Applications
|
||||||
@ -137,7 +137,7 @@ XF86AudioPrev
|
|||||||
** Print Screen
|
** Print Screen
|
||||||
#+begin_src conf
|
#+begin_src conf
|
||||||
Print
|
Print
|
||||||
~/bin/screenshot
|
~/.local/bin/screenshot
|
||||||
XF86Display
|
XF86Display
|
||||||
rofi -show window
|
rofi -show window
|
||||||
#+end_src
|
#+end_src
|
||||||
@ -183,7 +183,7 @@ XF86Display
|
|||||||
|
|
||||||
# Print Screen
|
# Print Screen
|
||||||
super + space ; shift + p
|
super + space ; shift + p
|
||||||
$HOME/bin/mopidy-restart
|
$HOME/.local/bin/mopidy-restart
|
||||||
|
|
||||||
# Default Browser
|
# Default Browser
|
||||||
super + space ; i
|
super + space ; i
|
||||||
|
@ -34,7 +34,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=%h/scripts/pass_git_sync.sh
|
ExecStart=%h/.local/bin/pass_git_sync
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Timer
|
** Timer
|
||||||
@ -62,7 +62,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
** Script
|
** Script
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle ~/scripts/pass_git_sync.sh
|
:header-args: :tangle ~/.local/bin/pass_git_sync
|
||||||
:header-args+: :comments both :mkdirp yes
|
:header-args+: :comments both :mkdirp yes
|
||||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||||
:END:
|
:END:
|
||||||
@ -86,7 +86,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=%h/scripts/buku_git_push.sh
|
ExecStart=%h/.local/bin/buku_git_push
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Timer
|
** Timer
|
||||||
@ -114,7 +114,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
** Script
|
** Script
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle ~/scripts/buku_git_push.sh
|
:header-args: :tangle ~/.local/bin/buku_git_push
|
||||||
:header-args+: :comments both :mkdirp yes
|
:header-args+: :comments both :mkdirp yes
|
||||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||||
:END:
|
:END:
|
||||||
@ -146,7 +146,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=%h/scripts/checkmail.sh -q
|
ExecStart=%h/.local/bin/checkmail -q
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Timer
|
** Timer
|
||||||
@ -177,7 +177,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
** Script
|
** Script
|
||||||
:PROPERTIES:
|
:PROPERTIES:
|
||||||
:header-args: :tangle ~/scripts/checkmail.sh
|
:header-args: :tangle ~/.loca/bin/checkmail
|
||||||
:header-args+: :comments both :mkdirp yes
|
:header-args+: :comments both :mkdirp yes
|
||||||
:header-args+: :shebang "#!/usr/bin/env bash"
|
:header-args+: :shebang "#!/usr/bin/env bash"
|
||||||
:END:
|
:END:
|
||||||
@ -188,7 +188,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
-a) opt_all='--all' ;; # Check All inboxes
|
-a) opt_all='--all' ;; # Check All inboxes
|
||||||
-v) opt_verbose='--verbose' ;; # Verbose
|
-v) opt_verbose='--verbose' ;; # Verbose
|
||||||
-q) opt_quiet='--quiet' ;; # Quiet
|
-q) opt_quiet='--quiet' ;; # Quiet
|
||||||
*) echo "Option $1 not recognized" ;; # In case you typed a different option
|
,*) echo "Option $1 not recognized" ;; # In case you typed a different option
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
@ -204,7 +204,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# Retreive mails
|
# Retreive mails
|
||||||
mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home
|
mbsync $opt_all $opt_verbose gmail-Home esrf-Home ulg-Home uliege-Home 2>/tmp/mbsync.log
|
||||||
# =============================================================
|
# =============================================================
|
||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
@ -230,12 +230,11 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
# Indexation and Tags
|
# Indexation and Tags
|
||||||
# mu update
|
if pgrep -f 'mu server'; then
|
||||||
|
emacsclient --eval '(mu4e-update-index)'
|
||||||
|
else
|
||||||
mu index --maildir=~/.mail $opt_verbose $opt_quiet
|
mu index --maildir=~/.mail $opt_verbose $opt_quiet
|
||||||
# Update on Emacs
|
fi
|
||||||
# if [ "$(($new-$old))" -gt 0 ]; then
|
|
||||||
# emacsclient --eval '(mu4e-update-index)';
|
|
||||||
# fi
|
|
||||||
# =============================================================
|
# =============================================================
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -254,7 +253,7 @@ https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
ExecStart=%h/scripts/checkmail.sh -a -q
|
ExecStart=%h/.local/bin/checkmail -a -q
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
** Timer
|
** Timer
|
||||||
|
@ -429,7 +429,7 @@ Start programs related to display.
|
|||||||
unclutter --timeout 5 &
|
unclutter --timeout 5 &
|
||||||
|
|
||||||
# Autolock screen after x minutes
|
# Autolock screen after x minutes
|
||||||
xautolock -locker "~/scripts/lockscreen.sh" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" &
|
xautolock -locker "~/.local/bin/lockscreen" -detectsleep -time 30 -notify 60 -notifier "dunstify --replace=31846 -u critical -t 10000 -- 'Locking Screen' '60 seconds'" &
|
||||||
|
|
||||||
# Redshift
|
# Redshift
|
||||||
pgrep -xu "$USER" redshift >/dev/null || \
|
pgrep -xu "$USER" redshift >/dev/null || \
|
||||||
|
Loading…
Reference in New Issue
Block a user