adding bin files
This commit is contained in:
		
							
								
								
									
										16
									
								
								bin/WindowSelector
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								bin/WindowSelector
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,16 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Script copied from AUR package dswitcher, and modified for theming and placement and removed unnecessary functions.
 | 
				
			||||||
 | 
					if ! [ -f "$HOME/.dmenurc" ]; then
 | 
				
			||||||
 | 
						cp /usr/share/dmenu/dmenurc $HOME/.dmenurc
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					. $HOME/.dmenurc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					width=$(wattr w $(lsw -r))
 | 
				
			||||||
 | 
					height=$(wattr h $(lsw -r))
 | 
				
			||||||
 | 
					bar_width=$(( $width / 3 ))
 | 
				
			||||||
 | 
					left_shift=$(( ($width - $bar_width) / 2 ))
 | 
				
			||||||
 | 
					top_shift=$PANEL_HEIGHT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					num=$(wmctrl -l | sed 's/  / /' | cut -d " " -f 4- | nl -w 3 -n rn | sed -r 's/^([ 0-9]+)[ \t]*(.*)$/\1 - \2/' | dmenu -i -l 10 -x $left_shift -y $top_shift -w $bar_width -fn $DMENU_FN -nb $DMENU_NB -nf $DMENU_NF -sf $DMENU_SF -sb $DMENU_SB | cut -d '-' -f -1)
 | 
				
			||||||
 | 
					[[ -z "$num" ]] && exit
 | 
				
			||||||
 | 
					wmctrl -l | sed -n "$num p" | cut -c -10 | xargs wmctrl -i -a
 | 
				
			||||||
							
								
								
									
										13
									
								
								bin/bspwm_rename_desktop
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								bin/bspwm_rename_desktop
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					DMENU_NF="#A3A6AB"
 | 
				
			||||||
 | 
					DMENU_NB="#34322E"
 | 
				
			||||||
 | 
					DMENU_SF="#F6F9FF"
 | 
				
			||||||
 | 
					DMENU_SB="#5C5955"
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					DESKTOP_NAME=`echo '' | dmenu -b $DMENU_THEME -p 'Rename:'`
 | 
				
			||||||
 | 
					if [ -z $DESKTOP_NAME ]; then
 | 
				
			||||||
 | 
					    exit 0
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					bspc desktop -n "$DESKTOP_NAME"
 | 
				
			||||||
							
								
								
									
										41
									
								
								bin/bspwm_resize.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								bin/bspwm_resize.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,41 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					size=${2:-'10'}
 | 
				
			||||||
 | 
					dir=$1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Find current window mode
 | 
				
			||||||
 | 
					is_tiled() {
 | 
				
			||||||
 | 
					bspc query -T -n | grep -q '"state":"tiled"'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					# If the window is floating, move it
 | 
				
			||||||
 | 
					if ! is_tiled; then
 | 
				
			||||||
 | 
					#only parse input if window is floating,tiled windows accept input as is
 | 
				
			||||||
 | 
					        case "$dir" in
 | 
				
			||||||
 | 
					                west) switch="-w"
 | 
				
			||||||
 | 
					                sign="-"
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                east) switch="-w"
 | 
				
			||||||
 | 
					                sign="+"
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                north) switch="-h"
 | 
				
			||||||
 | 
					                sign="-"
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                south) switch="-h"
 | 
				
			||||||
 | 
					                sign="+"
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                esac
 | 
				
			||||||
 | 
					 xdo resize ${switch} ${sign}${size}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Otherwise, window is tiled: switch with window in given direction
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					     case "$dir" in
 | 
				
			||||||
 | 
					                west) bspc node @west -r -$size || bspc node @east -r -${size}
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                east) bspc node @west -r +$size || bspc node @east -r +${size}
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                north) bspc node @south -r -$size || bspc node @north -r -${size}
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                south) bspc node @south -r +$size || bspc node @north -r +${size}
 | 
				
			||||||
 | 
					                ;;
 | 
				
			||||||
 | 
					                esac
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										9
									
								
								bin/colorshow
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								bin/colorshow
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,9 @@
 | 
				
			|||||||
 | 
					for x in {0..8}; do 
 | 
				
			||||||
 | 
					    for i in {30..37}; do 
 | 
				
			||||||
 | 
					        for a in {40..47}; do 
 | 
				
			||||||
 | 
						echo -ne "\e[$x;$i;$a""m\\\e[$x;$i;$a""m\e[0;37;40m "
 | 
				
			||||||
 | 
					        done
 | 
				
			||||||
 | 
					        echo
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					echo ""
 | 
				
			||||||
							
								
								
									
										73
									
								
								bin/dmenu_recent
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										73
									
								
								bin/dmenu_recent
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,73 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Originally based on code by Dieter Plaetinck.
 | 
				
			||||||
 | 
					# Pretty much re-written by Mina Nagy (mnzaki)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! [ -f "$HOME/.dmenurc" ]; then
 | 
				
			||||||
 | 
						cp /usr/share/dmenu/dmenurc $HOME/.dmenurc
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					. $HOME/.dmenurc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#dmenu_cmd="dmenu $DMENU_OPTIONS"
 | 
				
			||||||
 | 
					dmenu_cmd="dmenu $DMENU_OPTIONS"
 | 
				
			||||||
 | 
					terminal="$TERMINAL -e"
 | 
				
			||||||
 | 
					max_recent=199 # Number of recent commands to track
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cache_dir="${XDG_CACHE_HOME:-$HOME/.cache}/dmenu-recent"
 | 
				
			||||||
 | 
					recent_cache="$cache_dir/recent"
 | 
				
			||||||
 | 
					rest_cache="$cache_dir/all"
 | 
				
			||||||
 | 
					known_types=" background terminal terminal_hold "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					config_dir="${XDG_CONFIG_HOME:-$HOME/.config}/dmenu-recent"
 | 
				
			||||||
 | 
					mkdir -p "$cache_dir"
 | 
				
			||||||
 | 
					mkdir -p "$config_dir"
 | 
				
			||||||
 | 
					touch "$recent_cache"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Without this, it won't remember $type
 | 
				
			||||||
 | 
					GREP_OPTIONS='--color=never'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IFS=:
 | 
				
			||||||
 | 
					if stest -dqr -n "$rest_cache" $PATH 2>/dev/null; then
 | 
				
			||||||
 | 
					     stest -flx $PATH | sort -u | grep -vf "$recent_cache" > "$rest_cache"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IFS=" "
 | 
				
			||||||
 | 
					cmd=$(cat "$recent_cache" "$rest_cache" | $dmenu_cmd -p run: "$@") || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! grep -qx "$cmd" "$recent_cache" &> /dev/null; then
 | 
				
			||||||
 | 
					    grep -vx "$cmd" "$rest_cache" > "$rest_cache.$$"
 | 
				
			||||||
 | 
					    mv "$rest_cache.$$" "$rest_cache"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "$cmd" > "$recent_cache.$$"
 | 
				
			||||||
 | 
					grep -vx "$cmd" "$recent_cache" | head -n "$max_recent" >> "$recent_cache.$$"
 | 
				
			||||||
 | 
					mv "$recent_cache.$$"  "$recent_cache"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Figure out how to run the command based on the command name, disregarding
 | 
				
			||||||
 | 
					# arguments, if any.
 | 
				
			||||||
 | 
					word0=${cmd%% *}
 | 
				
			||||||
 | 
					match="^$word0$"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					get_type () {
 | 
				
			||||||
 | 
					    while type=$(echo $known_types | xargs -n1 | $dmenu_cmd -p Type:); do
 | 
				
			||||||
 | 
					        [[ $known_types =~ " $type " ]] || continue
 | 
				
			||||||
 | 
					        echo "$word0" >> "$config_dir/$type"
 | 
				
			||||||
 | 
					        break
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					    echo $type
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if ! type=$(grep -lx "$match" -R "$config_dir"); then
 | 
				
			||||||
 | 
					    type=$(get_type)
 | 
				
			||||||
 | 
					else 
 | 
				
			||||||
 | 
					    type=${type##*/}
 | 
				
			||||||
 | 
					    if ! [[ $known_types =~ " $type " ]]; then
 | 
				
			||||||
 | 
					        rm "$config_dir/$type"
 | 
				
			||||||
 | 
					        type=$(get_type)
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[ "$type" = "background" ]] && exec $cmd
 | 
				
			||||||
 | 
					[[ "$type" = "terminal" ]] && exec $TERMINAL -e "$cmd"
 | 
				
			||||||
 | 
					[[ "$type" = "terminal_hold" ]] &&
 | 
				
			||||||
 | 
					    exec $TERMINAL -e sh -c "$cmd && echo Press Enter to kill me... && read line"
 | 
				
			||||||
							
								
								
									
										22
									
								
								bin/emoji
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								bin/emoji
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					# Give dmenu list of all unicode characters to copy.
 | 
				
			||||||
 | 
					# Shows the selected character in dunst if running.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Must have xclip installed to even show menu.
 | 
				
			||||||
 | 
					xclip -h >/dev/null || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -e ~/.config/fontawesome ]; then
 | 
				
			||||||
 | 
					    chosen=$(grep -v "#" -h ~/.config/emoji ~/.config/fontawesome | dmenu -i -l 20 -fn Monospace-18)
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					    chosen=$(grep -v "#" ~/.config/emoji | dmenu -i -l 20 -fn Monospace-18)
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ "$chosen" != "" ] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					c=$(echo "$chosen" | sed "s/ .*//")
 | 
				
			||||||
 | 
					echo "$c" | tr -d '\n' | xclip -sel clip
 | 
				
			||||||
 | 
					notify-send "'$c' copied to clipboard." &
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					s=$(echo "$chosen" | sed "s/.*; //" | awk '{print $1}')
 | 
				
			||||||
 | 
					echo "$s" | tr -d '\n' | xclip
 | 
				
			||||||
 | 
					notify-send "'$s' copied to primary." &
 | 
				
			||||||
							
								
								
									
										14
									
								
								bin/euclid_balancer
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								bin/euclid_balancer
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					#!/bin/dash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ "$(pgrep -cx euclid_balancer)" -gt 1 ] ; then 
 | 
				
			||||||
 | 
						killall euclid_balancer && exit 0
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bspc subscribe node_add node_remove node_state node_geometry | while read line; do
 | 
				
			||||||
 | 
						for wid in $(bspc query -N -d -n .window); do
 | 
				
			||||||
 | 
							bspc node "${wid}#@north" -B || true
 | 
				
			||||||
 | 
							bspc node "${wid}#@south" -B || true
 | 
				
			||||||
 | 
						done
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										15
									
								
								bin/euclid_mode
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								bin/euclid_mode
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,15 @@
 | 
				
			|||||||
 | 
					#! /bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fwid=$(bspc query -N -n focused.automatic)
 | 
				
			||||||
 | 
					wid=$1
 | 
				
			||||||
 | 
					class=$2
 | 
				
			||||||
 | 
					instance=$3
 | 
				
			||||||
 | 
					title=$(xtitle "$wid")
 | 
				
			||||||
 | 
					#floats=$(bspc query -N -n .local.floating | wc -l)
 | 
				
			||||||
 | 
					if bspc query -N -n "@/.!automatic" > /dev/null ; then
 | 
				
			||||||
 | 
					    echo "node=@/"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					if [ -n "$fwid" ] ; then
 | 
				
			||||||
 | 
								echo "split_dir=south"
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					#window-placer $floats $wid
 | 
				
			||||||
							
								
								
									
										85
									
								
								bin/euclid_mover
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										85
									
								
								bin/euclid_mover
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,85 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Originally by https://github.com/windelicato/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					size=${2:-'20'}
 | 
				
			||||||
 | 
					dir=$1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					transplanter() {
 | 
				
			||||||
 | 
						bspc node ${dir} -p south && bspc node -n ${dir}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					northplanter() {
 | 
				
			||||||
 | 
						bspc node north -p north && bspc node -n north
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rootplanter() {
 | 
				
			||||||
 | 
						bspc node @/ -p ${dir} && bspc node -n @/ || bspc node -s next.local && bspc node -n @/
 | 
				
			||||||
 | 
						bspc node @/ -p cancel
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bspc config pointer_follows_focus true
 | 
				
			||||||
 | 
					# Find current window mode
 | 
				
			||||||
 | 
					is_floating() {
 | 
				
			||||||
 | 
					bspc query -T -n | grep -q '"state":"floating"'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					# If the window is floating, move it
 | 
				
			||||||
 | 
					if is_floating; then
 | 
				
			||||||
 | 
					#only parse input if window is floating,tiled windows accept input as is
 | 
				
			||||||
 | 
					        case "$dir" in
 | 
				
			||||||
 | 
					  		west) switch="-x"
 | 
				
			||||||
 | 
					  		sign="-"
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		east) switch="-x"
 | 
				
			||||||
 | 
					         	sign="+"
 | 
				
			||||||
 | 
					       		;;
 | 
				
			||||||
 | 
					  		north) switch="-y"
 | 
				
			||||||
 | 
					         	sign="-"
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		*) switch="-y"
 | 
				
			||||||
 | 
					     		sign="+"
 | 
				
			||||||
 | 
					     		;;
 | 
				
			||||||
 | 
					 		esac
 | 
				
			||||||
 | 
					 xdo move ${switch} ${sign}${size}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Otherwise, window is tiled: switch with window in given direction
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						 if [[ $(bspc query -N -n .local.\!floating | wc -l) != 2 ]]; then 
 | 
				
			||||||
 | 
						 case "$dir" in
 | 
				
			||||||
 | 
					  		north) northplanter || rootplanter
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		*) transplanter || rootplanter
 | 
				
			||||||
 | 
					     		;;
 | 
				
			||||||
 | 
					 	 esac
 | 
				
			||||||
 | 
					 	 else
 | 
				
			||||||
 | 
					 	 case "$dir" in
 | 
				
			||||||
 | 
					  		east) bspc node -s east || bspc query -N -n west.local || \
 | 
				
			||||||
 | 
					        if bspc query -N -n south.local ; then
 | 
				
			||||||
 | 
					        	bspc node @/ -R 90
 | 
				
			||||||
 | 
					        	else
 | 
				
			||||||
 | 
					        	bspc node @/ -R 270
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					        west) bspc node -s west || bspc query -N -n east.local || \
 | 
				
			||||||
 | 
					        if bspc query -N -n north.local ; then
 | 
				
			||||||
 | 
					        	bspc node @/ -R 90
 | 
				
			||||||
 | 
					        	else
 | 
				
			||||||
 | 
					        	bspc node @/ -R 270
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					        south) bspc node -s south || bspc query -N -n north.local || \
 | 
				
			||||||
 | 
					        if bspc query -N -n west.local ; then
 | 
				
			||||||
 | 
					        	bspc node @/ -R 90
 | 
				
			||||||
 | 
					        	else
 | 
				
			||||||
 | 
					        	bspc node @/ -R 270
 | 
				
			||||||
 | 
					        fi 
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		*) bspc node -s north || bspc query -N -n south.local || \
 | 
				
			||||||
 | 
					        if bspc query -N -n west.local ; then
 | 
				
			||||||
 | 
					        	bspc node @/ -R 270
 | 
				
			||||||
 | 
					        	else
 | 
				
			||||||
 | 
					        	bspc node @/ -R 90
 | 
				
			||||||
 | 
					        fi
 | 
				
			||||||
 | 
					     		;;
 | 
				
			||||||
 | 
					     esac
 | 
				
			||||||
 | 
					     fi
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										13
									
								
								bin/focusmover
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								bin/focusmover
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,13 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					#Focus windows by direction, works with multihead
 | 
				
			||||||
 | 
					#called like this in sxhkdrc:
 | 
				
			||||||
 | 
					#super +  {a,s,w,d}
 | 
				
			||||||
 | 
					#   focusmover {west,south,north,east} 
 | 
				
			||||||
 | 
					    bspc config pointer_follows_monitor true; \
 | 
				
			||||||
 | 
					    bspc config pointer_follows_focus true; \
 | 
				
			||||||
 | 
					    dir=$@; \
 | 
				
			||||||
 | 
					        if ! bspc node -f $dir; then \
 | 
				
			||||||
 | 
					    bspc monitor -f $dir; \
 | 
				
			||||||
 | 
					    fi; \
 | 
				
			||||||
 | 
					    bspc config pointer_follows_monitor false; \
 | 
				
			||||||
 | 
					    bspc config pointer_follows_focus false
 | 
				
			||||||
							
								
								
									
										22
									
								
								bin/linkhandler
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								bin/linkhandler
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Feed script a url or file location.
 | 
				
			||||||
 | 
					# If an image, it will view in sxiv,
 | 
				
			||||||
 | 
					# if a video or gif, it will view in mpv
 | 
				
			||||||
 | 
					# if a music file or pdf, it will download,
 | 
				
			||||||
 | 
					# otherwise it opens link in browser.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# If no url given. Opens browser. For using script as $BROWSER.
 | 
				
			||||||
 | 
					[ -z "$1" ] && { "$BROWSER"; exit; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					case "$1" in
 | 
				
			||||||
 | 
						*mkv|*webm|*mp4|*youtube.com/watch*|*youtube.com/playlist*|*youtu.be*|*hooktube.com*|*bitchute.com*)
 | 
				
			||||||
 | 
							setsid -f mpv -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 -f tsp curl -LO "$1" >/dev/null 2>&1 ;;
 | 
				
			||||||
 | 
						*)
 | 
				
			||||||
 | 
							if [ -f "$1" ]; then "$TERMINAL" -e "$EDITOR" "$1"
 | 
				
			||||||
 | 
						else setsid -f "$BROWSER" "$1" >/dev/null 2>&1; fi ;;
 | 
				
			||||||
 | 
					esac
 | 
				
			||||||
							
								
								
									
										2
									
								
								bin/md2ghtml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								bin/md2ghtml
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					mdfolder=$HOME/.config/markdown
 | 
				
			||||||
 | 
					pandoc --self-contained --template=$mdfolder/template/template.html -c $mdfolder/css/page.css -c $mdfolder/css/markdown.css -c $mdfolder/css/highlight.css -o "$2" "$1"
 | 
				
			||||||
							
								
								
									
										5
									
								
								bin/md2pdf
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								bin/md2pdf
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MDFILE="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ -r $MDFILE -a -f $MDFILE ] && pandoc $MDFILE -t html -o ${MDFILE[@]/%md/pdf} || echo "what a freak"
 | 
				
			||||||
							
								
								
									
										5
									
								
								bin/scrot_copy
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								bin/scrot_copy
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					scrot -s -o /tmp/screenshot.png 
 | 
				
			||||||
 | 
					xclip -sel clip -i /tmp/screenshot.png -t "image/png"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										23
									
								
								bin/search
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								bin/search
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QUERY=$@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -z $QUERY ]]; then
 | 
				
			||||||
 | 
						QUERY=$(dmenu -p "Search Query: " < /dev/null )
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[ -n $QUERY ]] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QUERY=$(echo $QUERY | sed 's/ /+/g')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESULT=$(curl "http://s.herisson.ovh/search?q=$QUERY&format=json")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TITLES=$(echo "$RESULT" | jq -r '.results[] | .title')
 | 
				
			||||||
 | 
					LINKS=$(echo "$RESULT" | jq -r '.results[] | .url')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SELECT=$(paste -d ": " <(seq $(echo "$TITLES" | wc -l)) <(echo "$TITLES") <(echo "$LINKS")| dmenu -l 15 | cut -d: -f1)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					[[ -n $SELECT ]] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "$LINKS" | head -n $SELECT | tail -1 | xclip -sel clip
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										22
									
								
								bin/search_open
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								bin/search_open
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QUERY=$@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ -z $QUERY ]]; then
 | 
				
			||||||
 | 
						QUERY=$(dmenu -p "Search Query: " < /dev/null )
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[[ -n $QUERY ]] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					QUERY=$(echo $QUERY | sed 's/ /+/g')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RESULT=$(curl "http://s.herisson.ovh/search?q=$QUERY&format=json")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TITLES=$(echo "$RESULT" | jq -r '.results[] | .title')
 | 
				
			||||||
 | 
					LINKS=$(echo "$RESULT" | jq -r '.results[] | .url')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SELECT=$(paste -d ": " <(seq $(echo "$TITLES" | wc -l)) <(echo "$TITLES") <(echo "$LINKS")| dmenu -l 15 | cut -d: -f1)
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					[[ -n $SELECT ]] || exit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "$LINKS" | head -n $SELECT | tail -1 | xargs xdg-open
 | 
				
			||||||
							
								
								
									
										14
									
								
								bin/switchkblayout
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								bin/switchkblayout
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,14 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/env bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					key=`setxkbmap -query | grep layout | awk '{print $2}'`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [[ $key == "fr" ]]; then
 | 
				
			||||||
 | 
						setxkbmap us	
 | 
				
			||||||
 | 
					elif [[ $key == "us" ]]; then
 | 
				
			||||||
 | 
						setxkbmap dvorak	
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
						setxkbmap fr
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					key=`setxkbmap -query | grep layout | awk '{print $2}'`
 | 
				
			||||||
 | 
					notify-send "Keyboard Layout: $key"
 | 
				
			||||||
 | 
						
 | 
				
			||||||
							
								
								
									
										3
									
								
								bin/tordone
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								bin/tordone
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					notify-send "✔ Transmission-daemon" "$TR_TORRENT_NAME has completely downloaded."
 | 
				
			||||||
							
								
								
									
										6
									
								
								bin/transadd
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								bin/transadd
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,6 @@
 | 
				
			|||||||
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					pgrep -x transmission-da >/dev/null || (transmission-daemon && notify-send "Starting transmission daemon...") && sleep 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# ssh 192.168.1.100 "transmission-remote -a \"$@\"" && notify-send "🔻 Transmission-daemon" "Torrent Added."
 | 
				
			||||||
 | 
					transmission-remote -a "$@" && notify-send "🔻 Transmission-daemon" "Torrent Added."
 | 
				
			||||||
							
								
								
									
										5
									
								
								bin/wacom-to-first-screen.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								bin/wacom-to-first-screen.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					Display="DVI-D-0" #find it with xrandr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Stylusid=$(xinput | grep -Po 'Wacom (.*)' | grep -Po 'id=(\d*)' | grep -Po '\d*')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					$(echo $Stylusid | tr ' ' '\n' | xargs -i xinput map-to-output {} $Display)
 | 
				
			||||||
							
								
								
									
										43
									
								
								bin/windowgrabber
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								bin/windowgrabber
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,43 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					# Originally by https://github.com/windelicato/
 | 
				
			||||||
 | 
					# edited beyound recognition
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					follower() {
 | 
				
			||||||
 | 
					if [ "$(pgrep -cx windowgrabber)" = 1 ] ; then
 | 
				
			||||||
 | 
						bspc config pointer_follows_focus false
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					trap 'follower' INT TERM QUIT EXIT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					size=${2:-'20'}
 | 
				
			||||||
 | 
					dir=$1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bspc config pointer_follows_focus true
 | 
				
			||||||
 | 
					# Find current window mode
 | 
				
			||||||
 | 
					is_floating() {
 | 
				
			||||||
 | 
					bspc query -T -n | grep -q '"state":"floating"'
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					# If the window is floating, move it
 | 
				
			||||||
 | 
					if is_floating; then
 | 
				
			||||||
 | 
					#only parse input if window is floating,tiled windows accept input as is
 | 
				
			||||||
 | 
					        case "$dir" in
 | 
				
			||||||
 | 
					  		west) switch="-x"
 | 
				
			||||||
 | 
					  		sign="-"
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		east) switch="-x"
 | 
				
			||||||
 | 
					         	sign="+"
 | 
				
			||||||
 | 
					       		;;
 | 
				
			||||||
 | 
					  		north) switch="-y"
 | 
				
			||||||
 | 
					         	sign="-"
 | 
				
			||||||
 | 
					        	;;
 | 
				
			||||||
 | 
					  		*) switch="-y"
 | 
				
			||||||
 | 
					     		sign="+"
 | 
				
			||||||
 | 
					     		;;
 | 
				
			||||||
 | 
					 		esac
 | 
				
			||||||
 | 
					 xdo move ${switch} ${sign}${size}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Otherwise, window is tiled: switch with window in given direction
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					        bspc node -n ${dir}.!automatic || bspc node -s ${dir} ||  bspc node -m ${dir} && bspc monitor -f
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										26
									
								
								bin/windowpromoter
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								bin/windowpromoter
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,26 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					receptacle=$(bspc query -N -n ".leaf.!window.local" | awk NR==1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					window_promotion()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if [ -n "$receptacle" ] > /dev/null ; then
 | 
				
			||||||
 | 
					    bspc node -n "$receptacle" 
 | 
				
			||||||
 | 
					    elif [ -z "$(bspc query -N -n last.!automatic.local)" ]; then \
 | 
				
			||||||
 | 
					        bspc node -s biggest.!focused.local; \
 | 
				
			||||||
 | 
					    else \
 | 
				
			||||||
 | 
					        bspc node -n last.!automatic.local; \
 | 
				
			||||||
 | 
					    fi 
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if bspc query -N -n "@/.!automatic" > /dev/null ; then
 | 
				
			||||||
 | 
						bspc node -n @/ || window_promotion
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
					    	if [ -n "$receptacle" ] > /dev/null ; then
 | 
				
			||||||
 | 
					    			bspc node -n "$receptacle" 
 | 
				
			||||||
 | 
					    		elif [ -z "$(bspc query -N -n last.!automatic.local)" ]; then \
 | 
				
			||||||
 | 
					       			 bspc node -s biggest.!focused.local; \
 | 
				
			||||||
 | 
					    		else \
 | 
				
			||||||
 | 
					       			 bspc node -n last.!automatic.local; \
 | 
				
			||||||
 | 
					    	fi 
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
							
								
								
									
										51
									
								
								bin/workspaces_multimonitor
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								bin/workspaces_multimonitor
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					#all_monitors=$(xrandr -q | awk '/connected/ {print $1}')
 | 
				
			||||||
 | 
					#default_screen=$(xrandr | awk '/ connected/ {print $1;exit;}')
 | 
				
			||||||
 | 
					#extra_monitors=$(xrandr -q | awk '/connected/ {print $1}' | grep -v $default_screen)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##First, configure stuff with xrandr
 | 
				
			||||||
 | 
					#[[ $(who) != "" ]] && USER=$(who | grep :0\) | cut -f 1 -d ' ') || \
 | 
				
			||||||
 | 
					#USER=$(echo /home/* | cut -f 3 -d '/')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#export DISPLAY=:0.0
 | 
				
			||||||
 | 
					#export XAUTHORITY=/home/$USER/.Xauthority
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#for monitor in $extra_monitors; do
 | 
				
			||||||
 | 
					#	prev_mon=$(xrandr | awk '/connected/ {print $1}' | grep -B1 "^$monitor" | grep -vE "^$monitor|^--$")
 | 
				
			||||||
 | 
					#	xrandr --output $monitor \
 | 
				
			||||||
 | 
					#		--auto \
 | 
				
			||||||
 | 
					#		--right-of $prev_mon
 | 
				
			||||||
 | 
					#done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##Then, create workspaces on all monitors
 | 
				
			||||||
 | 
					  I=1
 | 
				
			||||||
 | 
					  M=$(bspc query -M | wc -l)
 | 
				
			||||||
 | 
					  if [[ "$M" == 1 ]]; then
 | 
				
			||||||
 | 
					    bspc monitor -d I II III IV V VI VII VIII IX X
 | 
				
			||||||
 | 
					  elif [[ "$M" == 2 ]]; then
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==1) -d I II III IV V
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==2) -d VI VII VIII IX X
 | 
				
			||||||
 | 
					  elif [[ "$M" == 3 ]]; then
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==1) -d I II III IV
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==2) -d V VI VII
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==3) -d VIII IX X
 | 
				
			||||||
 | 
					  elif [[ "$M" == 4 ]]; then
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==1) -d I II III
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==2) -d IV V VI
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==3) -d VII VIII
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==4) -d IX X
 | 
				
			||||||
 | 
					  elif [[ "$M" == 5 ]]; then
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==1) -d I II
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==2) -d III IV
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==3) -d V VI
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==4) -d VII VIII
 | 
				
			||||||
 | 
					     bspc monitor $(bspc query -M | awk NR==5) -d IX X
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    for monitor in $(bspc query -M); do
 | 
				
			||||||
 | 
					    bspc monitor $monitor \
 | 
				
			||||||
 | 
					        -n "$I" \
 | 
				
			||||||
 | 
					        -d $I/{a,b,c}
 | 
				
			||||||
 | 
					     let I++
 | 
				
			||||||
 | 
					     done
 | 
				
			||||||
 | 
					  fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user