mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-10-31 12:31:15 +01:00 
			
		
		
		
	switch to dwm
This commit is contained in:
		| @@ -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 | ||||
| @@ -7,4 +7,5 @@ | ||||
|  | ||||
| xterm -geometry 80x24+10+10 -fn 10x20 | ||||
|  | ||||
| exec i3 | ||||
| setbg | ||||
| exec dwm | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
							
								
								
									
										10
									
								
								.local/bin/statusbar/dwmbar
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								.local/bin/statusbar/dwmbar
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #!/bin/sh | ||||
| status() { \ | ||||
| 	echo "$(volume) | $(internet) | $(clock)" | ||||
| } | ||||
| while :; do | ||||
| 	xsetroot -name "$(status | tr '\n' ' ')" | ||||
|  | ||||
| 	sleep 1m | ||||
| done | ||||
|  | ||||
							
								
								
									
										5
									
								
								.local/bin/statusbar/refbar
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								.local/bin/statusbar/refbar
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
		Reference in New Issue
	
	Block a user