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