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