First Commit
This is a first dotfiles config. I think I have a lot more to add tho...
This commit is contained in:
		
							
								
								
									
										85
									
								
								bin/.bin/euclid_mover
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										85
									
								
								bin/.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 | ||||
		Reference in New Issue
	
	Block a user