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
|
||||
|
||||
setbg & # Set the background
|
||||
sxhkd & # Bind keys
|
||||
xset r rate 300 50 & # Speed xrate up
|
||||
unclutter & # Remove mouse when idle
|
||||
xcompmgr & # xcompmgr for transparency
|
||||
dunst & # dunst for notifications
|
||||
redshift & # redshift for saving your eyes
|
||||
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