mirror of https://github.com/tiyn/dotfiles
parent
6ad677a3d2
commit
7368ec60b4
@ -1,175 +0,0 @@
|
|||||||
# vim: filetype=i3
|
|
||||||
# File originally by Luke Smith <https://lukesmith.xyz>
|
|
||||||
|
|
||||||
# This config file will use environmental variables such as $BROWSER and $TERMINAL.
|
|
||||||
# You can set these variables in ~/.profile or ~/.bash_profile if you have it as below:
|
|
||||||
#
|
|
||||||
# export FILE="ranger"
|
|
||||||
# export TERMINAL="st"
|
|
||||||
|
|
||||||
# #------Auto Start-------# #
|
|
||||||
exec --no-startup-id owncloud
|
|
||||||
exec --no-startup-id toggletouchpad
|
|
||||||
|
|
||||||
# #---Basic Definitions---# #
|
|
||||||
for_window [class="^.*"] border pixel 1
|
|
||||||
gaps inner 0
|
|
||||||
gaps outer 0
|
|
||||||
set $term --no-startup-id $TERMINAL
|
|
||||||
set $mod Mod4
|
|
||||||
font xft:mono 10
|
|
||||||
|
|
||||||
# #---Dropdown Windows---# #
|
|
||||||
# General dropdown window traits. The order can matter.
|
|
||||||
for_window [instance="dropdown_*"] floating enable
|
|
||||||
for_window [class="de.uol.swp.client.ClientApp"] floating enable
|
|
||||||
for_window [instance="dropdown_*"] move scratchpad
|
|
||||||
for_window [instance="dropdown_*"] sticky enable
|
|
||||||
for_window [instance="dropdown_*"] scratchpad show
|
|
||||||
for_window [instance="dropdown_tmuxdd"] resize set 625 450
|
|
||||||
for_window [instance="dropdown_dropdowncalc"] resize set 800 300
|
|
||||||
for_window [instance="dropdown_tmuxdd"] border pixel 3
|
|
||||||
for_window [instance="dropdown_dropdowncalc"] border pixel 2
|
|
||||||
for_window [instance="dropdown_*"] move position center
|
|
||||||
|
|
||||||
|
|
||||||
bar {
|
|
||||||
font pango:mono 10
|
|
||||||
status_command i3blocks
|
|
||||||
position top
|
|
||||||
mode dock
|
|
||||||
modifier None
|
|
||||||
colors {
|
|
||||||
background #000000
|
|
||||||
statusline #ffffff
|
|
||||||
separator #333333
|
|
||||||
#Bord #Back #Text
|
|
||||||
focused_workspace #ffa500 #4a4a4a #ffa500
|
|
||||||
active_workspace #ffa500 #33333 #ffa500
|
|
||||||
inactive_workspace #ffa500 #000000 #ffa500
|
|
||||||
urgent_workspace #ffa500 #000000 #900000
|
|
||||||
}
|
|
||||||
}
|
|
||||||
client.placeholder #242424 #242424 #242424
|
|
||||||
client.background #242424 #242424 #242424
|
|
||||||
client.focused #4a4a4a #4a4a4a #e5e5e5 #6a6a6a
|
|
||||||
client.unfocused #4a4a4a #222222 #aaaaaa #222222
|
|
||||||
client.focused_inactive #4a4a4a #222222 #a9a9a9 #222222
|
|
||||||
client.urgent #4a4a4a #4a4a4a #f7f7f7 #4a4a4a
|
|
||||||
|
|
||||||
|
|
||||||
# #---Basic Bindings---# #
|
|
||||||
bindsym $mod+Shift+Escape exec --no-startup-id prompt "Exit i3?" "i3-msg exit"
|
|
||||||
|
|
||||||
#bindsym $mod+Return taken by sxhkd
|
|
||||||
|
|
||||||
#bindym $mod+b taken by sxhkd
|
|
||||||
bindsym $mod+Shift+b bar mode toggle
|
|
||||||
|
|
||||||
#bindsym $mod+c taken by sxhkd
|
|
||||||
|
|
||||||
bindsym $mod+Shift+d floating toggle
|
|
||||||
|
|
||||||
bindsym $mod+Shift+f fullscreen toggle
|
|
||||||
|
|
||||||
bindsym $mod+h focus left
|
|
||||||
bindsym $mod+Shift+h move left 30
|
|
||||||
|
|
||||||
#bindsym $mod+i taken by sxhkd
|
|
||||||
bindsym $mod+Shift+i exec --no-startup-id i3resize up
|
|
||||||
|
|
||||||
bindsym $mod+j focus down
|
|
||||||
bindsym $mod+Shift+j move down 30
|
|
||||||
|
|
||||||
bindsym $mod+k focus up
|
|
||||||
bindsym $mod+Shift+k move up 30
|
|
||||||
|
|
||||||
bindsym $mod+l focus right
|
|
||||||
bindsym $mod+Shift+l move right 30
|
|
||||||
|
|
||||||
#bindsym $mod+m taken by sxhkd
|
|
||||||
bindsym $mod+Shift+m move scratchpad
|
|
||||||
|
|
||||||
#bindsym $mod+n taken by sxhkd
|
|
||||||
#bindsym $mod+Shift+n taken by sxhkd
|
|
||||||
|
|
||||||
bindsym $mod+Shift+o exec --no-startup-id i3resize right
|
|
||||||
|
|
||||||
#bindym $mod+p taken by sxhkd
|
|
||||||
|
|
||||||
bindsym $mod+q [con_id="__focused__" instance="^(?!dropdown_).*$"] kill
|
|
||||||
bindsym $mod+Shift+q [con_id="__focused__" instance="^(?!dropdown_).*$"] exec --no-startup-id kill -9 `xdotool getwindowfocus getwindowpid`
|
|
||||||
|
|
||||||
#bindsym $mod+r taken by sxhkd
|
|
||||||
#bindsym $mod+shift+r taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+s taken by sxhkd
|
|
||||||
|
|
||||||
bindsym $mod+t split toggle
|
|
||||||
|
|
||||||
bindsym $mod+Shift+u exec --no-startup-id i3resize down
|
|
||||||
|
|
||||||
#bindsym $mod+x taken by sxhkd
|
|
||||||
|
|
||||||
bindsym $mod+Shift+z exec --no-startup-id i3resize left
|
|
||||||
|
|
||||||
#bindsym $mod+F5 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F6 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F7 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F8 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F9 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F10 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F11 taken by sxhkd
|
|
||||||
|
|
||||||
#bindsym $mod+F12 taken by sxhkd
|
|
||||||
|
|
||||||
|
|
||||||
# #---Workspace Bindings---# #
|
|
||||||
set $ws1 "1DF"
|
|
||||||
set $ws2 "2VR"
|
|
||||||
set $ws3 "3RS"
|
|
||||||
set $ws4 "4RS"
|
|
||||||
set $ws5 "5WK"
|
|
||||||
set $ws6 "6WK"
|
|
||||||
set $ws7 "7ME"
|
|
||||||
set $ws8 "8CM"
|
|
||||||
set $ws9 "9GM"
|
|
||||||
set $ws0 "0EX"
|
|
||||||
|
|
||||||
# switch to workspace
|
|
||||||
bindsym $mod+1 workspace $ws1
|
|
||||||
bindsym $mod+2 workspace $ws2
|
|
||||||
bindsym $mod+3 workspace $ws3
|
|
||||||
bindsym $mod+4 workspace $ws4
|
|
||||||
bindsym $mod+5 workspace $ws5
|
|
||||||
bindsym $mod+6 workspace $ws6
|
|
||||||
bindsym $mod+7 workspace $ws7
|
|
||||||
bindsym $mod+8 workspace $ws8
|
|
||||||
bindsym $mod+9 workspace $ws9
|
|
||||||
bindsym $mod+0 workspace $ws0
|
|
||||||
|
|
||||||
# move focused container to workspace
|
|
||||||
bindsym $mod+Shift+1 move container to workspace $ws1
|
|
||||||
bindsym $mod+Shift+2 move container to workspace $ws2
|
|
||||||
bindsym $mod+Shift+3 move container to workspace $ws3
|
|
||||||
bindsym $mod+Shift+4 move container to workspace $ws4
|
|
||||||
bindsym $mod+Shift+5 move container to workspace $ws5
|
|
||||||
bindsym $mod+Shift+6 move container to workspace $ws6
|
|
||||||
bindsym $mod+Shift+7 move container to workspace $ws7
|
|
||||||
bindsym $mod+Shift+8 move container to workspace $ws8
|
|
||||||
bindsym $mod+Shift+9 move container to workspace $ws9
|
|
||||||
bindsym $mod+Shift+0 move container to workspace $ws0
|
|
||||||
|
|
||||||
for_window [class="Pinentry"] sticky enable
|
|
||||||
for_window [class="sent"] border pixel 0px
|
|
||||||
for_window [title="GIMP Startup"] move workspace $ws5
|
|
||||||
for_window [class="Gimp"] move workspace $ws5
|
|
||||||
for_window [window_role="GtkFileChooserDialog"] resize set 800 600
|
|
||||||
for_window [window_role="GtkFileChooserDialog"] move position center
|
|
||||||
for_window [title="Default - Wine desktop"] floating enable
|
|
@ -1,39 +0,0 @@
|
|||||||
separator_block_width=15
|
|
||||||
markup=pango
|
|
||||||
|
|
||||||
[weather]
|
|
||||||
command=~/.local/bin/statusbar/weather
|
|
||||||
interval=1200
|
|
||||||
signal=5
|
|
||||||
|
|
||||||
[memory]
|
|
||||||
command=~/.local/bin/statusbar/memory
|
|
||||||
interval=30
|
|
||||||
label=🧠
|
|
||||||
|
|
||||||
[cpu]
|
|
||||||
command=~/.local/bin/statusbar/cpu
|
|
||||||
interval=15
|
|
||||||
label=💻
|
|
||||||
|
|
||||||
[volume]
|
|
||||||
command=~/.local/bin/statusbar/volume
|
|
||||||
interval=once
|
|
||||||
signal=10
|
|
||||||
|
|
||||||
[disk]
|
|
||||||
interval=180
|
|
||||||
command=~/.local/bin/statusbar/disk /
|
|
||||||
|
|
||||||
[battery]
|
|
||||||
command=~/.local/bin/statusbar/battery BAT0
|
|
||||||
interval=180
|
|
||||||
|
|
||||||
[clock]
|
|
||||||
command=~/.local/bin/statusbar/clock
|
|
||||||
label=📅
|
|
||||||
interval=30
|
|
||||||
|
|
||||||
[internet]
|
|
||||||
command=~/.local/bin/statusbar/internet
|
|
||||||
interval=10
|
|
@ -1,101 +0,0 @@
|
|||||||
## Basic binds
|
|
||||||
#super + shift + escape taken by i3
|
|
||||||
super + Return
|
|
||||||
$TERMINAL
|
|
||||||
super + b
|
|
||||||
$BROWSER
|
|
||||||
super + c
|
|
||||||
code
|
|
||||||
#super + shift + d taken by i3
|
|
||||||
super + f
|
|
||||||
$TERMINAL -e $FILE
|
|
||||||
#super + shift + f taken by i3
|
|
||||||
#super + h taken by i3
|
|
||||||
#super + shift + h taken by i3
|
|
||||||
super + i
|
|
||||||
intellij-idea-ultimate-edition
|
|
||||||
#super + shift + i taken by i3
|
|
||||||
#super + j taken by i3
|
|
||||||
#super + shift + j taken by i3
|
|
||||||
#super + k taken by i3
|
|
||||||
#super + shift + k taken by i3
|
|
||||||
#super + l taken by i3
|
|
||||||
#super + shift + l taken by i3
|
|
||||||
super + m
|
|
||||||
thunderbird
|
|
||||||
#super + shift + m taken by i3
|
|
||||||
super + n
|
|
||||||
$TERMINAL -e newsboat
|
|
||||||
super + shift + n
|
|
||||||
i3-scratchpad-dmenu.py
|
|
||||||
#super + shift + o taken by i3
|
|
||||||
super + p
|
|
||||||
$MUSIC
|
|
||||||
#super + q taken by i3
|
|
||||||
#super + shift + q taken by i3
|
|
||||||
super + r
|
|
||||||
$TERMINAL -e rtv
|
|
||||||
super + s
|
|
||||||
startpagesearch
|
|
||||||
super + shift + r
|
|
||||||
dmenu_run -c -l 20
|
|
||||||
#super + t taken by i3
|
|
||||||
#super + shift + u taken by i3
|
|
||||||
super + x
|
|
||||||
xournalpp
|
|
||||||
#super + shift + z taken by i3
|
|
||||||
|
|
||||||
super + F4
|
|
||||||
togglemonitor
|
|
||||||
super + F5
|
|
||||||
toggletouchpad
|
|
||||||
super + F6
|
|
||||||
dmenumount
|
|
||||||
super + F7
|
|
||||||
dmenuumount
|
|
||||||
super + F8
|
|
||||||
sudo -A systemctl restart NetworkManager
|
|
||||||
super + F9
|
|
||||||
$TERMINAL -e sudo -A nmtui
|
|
||||||
super + F10
|
|
||||||
prompt "Lock computer?" "slock"
|
|
||||||
super + F11
|
|
||||||
prompt "Reboot computer?" "sudo -A shutdown -r now"
|
|
||||||
super + F12
|
|
||||||
prompt "Shutdown computer?" "sudo -A shutdown -h now"
|
|
||||||
#super + 1 taken by i3
|
|
||||||
#super + 2 taken by i3
|
|
||||||
#super + 3 taken by i3
|
|
||||||
#super + 4 taken by i3
|
|
||||||
#super + 5 taken by i3
|
|
||||||
#super + 6 taken by i3
|
|
||||||
#super + 7 taken by i3
|
|
||||||
#super + 8 taken by i3
|
|
||||||
#super + 9 taken by i3
|
|
||||||
#super + 0 taken by i3
|
|
||||||
#super + shift + 1 taken by i3
|
|
||||||
#super + shift + 2 taken by i3
|
|
||||||
#super + shift + 3 taken by i3
|
|
||||||
#super + shift + 4 taken by i3
|
|
||||||
#super + shift + 5 taken by i3
|
|
||||||
#super + shift + 6 taken by i3
|
|
||||||
#super + shift + 7 taken by i3
|
|
||||||
#super + shift + 8 taken by i3
|
|
||||||
#super + shift + 9 taken by i3
|
|
||||||
#super + shift + 0 taken by i3
|
|
||||||
|
|
||||||
## FN combinations
|
|
||||||
XF86Launch1
|
|
||||||
xset dpms force off
|
|
||||||
XF86AudioMute
|
|
||||||
lmc m
|
|
||||||
XF86AudioMicMute
|
|
||||||
pactl set-source-mute 1 toggle
|
|
||||||
XF86AudioLowerVolume
|
|
||||||
lmc down 5
|
|
||||||
XF86AudioRaiseVolume
|
|
||||||
lmc up 5
|
|
||||||
XF86MonBrightnessDown
|
|
||||||
light -U 15
|
|
||||||
XF86MonBrightnessUp
|
|
||||||
light -A 15
|
|
@ -1,10 +1,12 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
setbg & # Set the background
|
|
||||||
sxhkd & # Bind keys
|
|
||||||
xset r rate 300 50 & # Speed xrate up
|
xset r rate 300 50 & # Speed xrate up
|
||||||
unclutter & # Remove mouse when idle
|
unclutter & # Remove mouse when idle
|
||||||
xcompmgr & # xcompmgr for transparency
|
xcompmgr & # xcompmgr for transparency
|
||||||
dunst & # dunst for notifications
|
dunst & # dunst for notifications
|
||||||
redshift & # redshift for saving your eyes
|
redshift & # redshift for saving your eyes
|
||||||
mpd & # starts the mpd server for music
|
mpd & # starts the mpd server for music
|
||||||
|
toggletouchpad & # deactivates the touchpad
|
||||||
|
owncloud &
|
||||||
|
dwmbar &
|
||||||
|
#sxhkd &
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
import i3ipc
|
|
||||||
import subprocess
|
|
||||||
import re
|
|
||||||
|
|
||||||
i3 = i3ipc.Connection()
|
|
||||||
|
|
||||||
def get_scratchpad_windows():
|
|
||||||
scratchpad_containers = i3.get_tree().scratchpad().descendants()
|
|
||||||
return filter(lambda c: c.type == 'con' and c.name, scratchpad_containers)
|
|
||||||
|
|
||||||
def dmenu_choose(options):
|
|
||||||
""" Show a dmenu to choose a string item from a list of *options*. """
|
|
||||||
dmenu_process = subprocess.Popen(["dmenu", "-l", "10"], stdin=subprocess.PIPE, stdout=subprocess.PIPE)
|
|
||||||
stdoutdata, _ = dmenu_process.communicate("\n".join(options).encode())
|
|
||||||
return stdoutdata.decode('utf-8')
|
|
||||||
|
|
||||||
def main():
|
|
||||||
scratchpad_windows = get_scratchpad_windows()
|
|
||||||
window_titles = [w.name for w in scratchpad_windows]
|
|
||||||
if window_titles:
|
|
||||||
window_to_restore = re.escape(dmenu_choose(window_titles).strip())
|
|
||||||
i3.command('[title="{}"] scratchpad show'.format(window_to_restore))
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# This script was made by `goferito` on Github.
|
|
||||||
# Some cleanup by Luke.
|
|
||||||
|
|
||||||
[ -z "$1" ] && echo "No direction provided" && exit 1
|
|
||||||
distanceStr="2 px or 2 ppt"
|
|
||||||
|
|
||||||
moveChoice() {
|
|
||||||
i3-msg resize "$1" "$2" "$distanceStr" | grep '"success":true' || \
|
|
||||||
i3-msg resize "$3" "$4" "$distanceStr"
|
|
||||||
}
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
up)
|
|
||||||
moveChoice grow up shrink down
|
|
||||||
;;
|
|
||||||
down)
|
|
||||||
moveChoice shrink up grow down
|
|
||||||
;;
|
|
||||||
left)
|
|
||||||
moveChoice shrink right grow left
|
|
||||||
;;
|
|
||||||
right)
|
|
||||||
moveChoice grow right shrink left
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
status() { \
|
||||||
|
echo "$(volume) | $(internet) | $(clock)"
|
||||||
|
}
|
||||||
|
while :; do
|
||||||
|
xsetroot -name "$(status | tr '\n' ' ')"
|
||||||
|
|
||||||
|
sleep 1m
|
||||||
|
done
|
||||||
|
|
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Refresh the dwmbar.
|
||||||
|
|
||||||
|
kill "$(pstree -lp | grep -- -dwmbar\([0-9] | sed "s/.*sleep(\([0-9]\+\)).*/\1/")"
|
@ -1,59 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Gives a dmenu prompt to mount unmounted drives.
|
|
||||||
# If they're in /etc/fstab, they'll be mounted automatically.
|
|
||||||
# Otherwise, you'll be prompted to give a mountpoint from already existsing directories.
|
|
||||||
# If you input a novel directory, it will prompt you to create that directory.
|
|
||||||
|
|
||||||
getmount() { \
|
|
||||||
[ -z "$chosen" ] && exit 1
|
|
||||||
mp="$(find $1 2>/dev/null | dmenu -i -p "Type in mount point.")"
|
|
||||||
[ "$mp" = "" ] && exit 1
|
|
||||||
if [ ! -d "$mp" ]; then
|
|
||||||
mkdiryn=$(printf "No\\nYes" | dmenu -i -p "$mp does not exist. Create it?")
|
|
||||||
[ "$mkdiryn" = "Yes" ] && (mkdir -p "$mp" || sudo -A mkdir -p "$mp")
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
mountusb() { \
|
|
||||||
chosen="$(echo "$usbdrives" | dmenu -i -p "Mount which drive?" | awk '{print $1}')"
|
|
||||||
sudo -A mount "$chosen" 2>/dev/null && notify-send "💻 USB mounting" "$chosen mounted." && exit 0
|
|
||||||
alreadymounted=$(lsblk -nrpo "name,type,mountpoint" | awk '$2=="part"&&$3!~/\/boot|\/home$|SWAP/&&length($3)>1{printf "-not \\( -path *%s -prune \\) \\ \n",$3}')
|
|
||||||
getmount "/mnt /media /mount /home -maxdepth 5 -type d $alreadymounted"
|
|
||||||
partitiontype="$(lsblk -no "fstype" "$chosen")"
|
|
||||||
case "$partitiontype" in
|
|
||||||
"vfat") sudo -A mount -t vfat "$chosen" "$mp" -o rw,umask=0000;;
|
|
||||||
*) sudo -A mount "$chosen" "$mp"; user="$(whoami)"; ug="$(groups | awk '{print $1}')"; sudo -A chown "$user":"$ug" "$mp";;
|
|
||||||
esac
|
|
||||||
notify-send "💻 USB mounting" "$chosen mounted to $mp."
|
|
||||||
}
|
|
||||||
|
|
||||||
mountandroid() { \
|
|
||||||
chosen=$(echo "$anddrives" | dmenu -i -p "Which Android device?" | cut -d : -f 1)
|
|
||||||
getmount "$HOME -maxdepth 3 -type d"
|
|
||||||
simple-mtpfs --device "$chosen" "$mp"
|
|
||||||
notify-send "🤖 Android Mounting" "Android device mounted to $mp."
|
|
||||||
}
|
|
||||||
|
|
||||||
asktype() { \
|
|
||||||
case $(printf "USB\\nAndroid" | dmenu -i -p "Mount a USB drive or Android device?") in
|
|
||||||
USB) mountusb ;;
|
|
||||||
Android) mountandroid ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
anddrives=$(simple-mtpfs -l 2>/dev/null)
|
|
||||||
usbdrives="$(lsblk -rpo "name,type,size,mountpoint" | awk '$2=="part"&&$4==""{printf "%s (%s)\n",$1,$3}')"
|
|
||||||
|
|
||||||
if [ -z "$usbdrives" ]; then
|
|
||||||
[ -z "$anddrives" ] && echo "No USB drive or Android device detected" && exit
|
|
||||||
echo "Android device(s) detected."
|
|
||||||
mountandroid
|
|
||||||
else
|
|
||||||
if [ -z "$anddrives" ]; then
|
|
||||||
echo "USB drive(s) detected."
|
|
||||||
mountusb
|
|
||||||
else
|
|
||||||
echo "Mountable USB drive(s) and Android device(s) detected."
|
|
||||||
asktype
|
|
||||||
fi
|
|
||||||
fi
|
|
@ -1,41 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# A dmenu prompt to unmount drives.
|
|
||||||
# Provides you with mounted partitions, select one to unmount.
|
|
||||||
# Drives mounted at /, /boot and /home will not be options to unmount.
|
|
||||||
|
|
||||||
unmountusb() {
|
|
||||||
[ -z "$drives" ] && exit
|
|
||||||
chosen=$(echo "$drives" | dmenu -i -p "Unmount which drive?" | awk '{print $1}')
|
|
||||||
[ -z "$chosen" ] && exit
|
|
||||||
sudo -A umount "$chosen" && notify-send "💻 USB unmounting" "$chosen unmounted."
|
|
||||||
}
|
|
||||||
|
|
||||||
unmountandroid() { \
|
|
||||||
chosen=$(awk '/simple-mtpfs/ {print $2}' /etc/mtab | dmenu -i -p "Unmount which device?")
|
|
||||||
[ -z "$chosen" ] && exit
|
|
||||||
sudo -A umount -l "$chosen" && notify-send "🤖 Android unmounting" "$chosen unmounted."
|
|
||||||
}
|
|
||||||
|
|
||||||
asktype() { \
|
|
||||||
case "$(printf "USB\\nAndroid" | dmenu -i -p "Unmount a USB drive or Android device?")" in
|
|
||||||
USB) unmountusb ;;
|
|
||||||
Android) unmountandroid ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
drives=$(lsblk -nrpo "name,type,size,mountpoint" | awk '$2=="part"&&$4!~/\/boot|\/home$|SWAP/&&length($4)>1{printf "%s (%s)\n",$4,$3}')
|
|
||||||
|
|
||||||
if ! grep simple-mtpfs /etc/mtab; then
|
|
||||||
[ -z "$drives" ] && echo "No drives to unmount." && exit
|
|
||||||
echo "Unmountable USB drive detected."
|
|
||||||
unmountusb
|
|
||||||
else
|
|
||||||
if [ -z "$drives" ]
|
|
||||||
then
|
|
||||||
echo "Unmountable Android device detected."
|
|
||||||
unmountandroid
|
|
||||||
else
|
|
||||||
echo "Unmountable USB drive(s) and Android device(s) detected."
|
|
||||||
asktype
|
|
||||||
fi
|
|
||||||
fi
|
|
@ -1,20 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Gives a dmenu prompt to search Startpage.
|
|
||||||
# Without input, will open Startpage.com.
|
|
||||||
# URLs will be directly handed to the browser.
|
|
||||||
# Anything else, it search it.
|
|
||||||
browser=${RTVBROWSER:-firefox}
|
|
||||||
|
|
||||||
pgrep -x dmenu && exit
|
|
||||||
|
|
||||||
choice=$(echo "Startpage" | dmenu -i -p "Search Startpage:") || exit 1
|
|
||||||
|
|
||||||
if [ "$choice" = "Startpage" ]; then
|
|
||||||
$RTV_BROWSER "https://startpage.com"
|
|
||||||
else
|
|
||||||
if echo "$choice" | grep "^(http:\/\/|https:\/\/)?[a-zA-Z0-9]+\.[a-zA-Z]+(/)?.*$"; then
|
|
||||||
$RTV_BROWSER "$choice"
|
|
||||||
else
|
|
||||||
$RTV_BROWSER "https://startpage.com/do/search/?q=$choice"
|
|
||||||
fi
|
|
||||||
fi
|
|
Loading…
Reference in new issue