Compare commits
	
		
			3 Commits
		
	
	
		
			ce5f632bfc
			...
			0e7125d2fc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 0e7125d2fc | ||
|  | 5671b31715 | ||
|  | a28cbc59ff | 
							
								
								
									
										6
									
								
								i38.sh
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								i38.sh
									
									
									
									
									
								
							| @@ -10,7 +10,7 @@ i3msg="i3-msg" | ||||
| export DIALOGOPTS='--no-lines --visit-items' | ||||
|  | ||||
| # Check to make sure minimum requirements are installed. | ||||
| for i in dialog grun jq sgtk-menu yad ; do | ||||
| for i in dialog jq sgtk-menu yad ; do | ||||
|     if ! command -v "$i" &> /dev/null ; then | ||||
|         missing+=("$i") | ||||
|     fi | ||||
| @@ -274,7 +274,7 @@ focus_follows_mouse no | ||||
| font pango:monospace 8 | ||||
|  | ||||
| # Run dialog | ||||
| bindsym \$mod+F2 exec grun | ||||
| bindsym \$mod+F2 exec ${i3Path}/scripts/run_dialog.sh | ||||
|  | ||||
| # Clipboard manager | ||||
| bindsym \$mod+Control+c exec clipster -s | ||||
| @@ -418,6 +418,8 @@ bindsym Shift+o exec $(command -v orca) --replace, mode "default" | ||||
| bindsym Control+semicolon exec bash -c '$i3msg -t run_command reload && spd-say -P important -Cw "I38 Configuration reloaded."', mode "default" | ||||
| # restart i3 inplace (preserves your layout/session, can be used to upgrade i3) | ||||
| bindsym Control+Shift+semicolon exec bash -c '$i3msg -t run_command restart && spd-say -P important -Cw "I3 restarted."', mode "default" | ||||
| # Run dialog with exclamation  | ||||
| bindsym Shift+exclam exec ${i3Path}/scripts/run_dialog.sh, mode "default" | ||||
| # exit i3 (logs you out of your X session) | ||||
| bindsym Control+q exec bash -c 'yad --image "dialog-question" --title "I38" --button=yes:0 --button=no:1 --text "You pressed the exit shortcut. Do you really want to exit i3? This will end your X session." && $i3msg -t run_command exit' | ||||
| bindsym Escape mode "default" | ||||
|   | ||||
							
								
								
									
										45
									
								
								scripts/run_dialog.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										45
									
								
								scripts/run_dialog.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
|  | ||||
| write_history(){ | ||||
| oldHistory="$(grep -v "$txt" "${historyPath}/.history" | head -n 49)" | ||||
| echo -e "$txt\n$oldHistory" | sed 's/^$//g' > "${historyPath}/.history" | ||||
| } | ||||
|  | ||||
|  | ||||
| historyPath="$(readlink -f $0)" | ||||
| historyPath="${historyPath%/*}" | ||||
| if ! [[ -d "$historyPath" ]]; then | ||||
|     mkdir -p "$historyPath" | ||||
| fi | ||||
|  | ||||
| if [[ -f "${historyPath}/.history" ]]; then | ||||
|     txt="$(yad --entry --editable --title "I38" --text "Execute program or enter file" --button "Open:0" --separator "\n" --rest "${historyPath}/.history")" | ||||
| else | ||||
|     txt="$(yad --entry --title "I38" --text "Execute program or enter file" --button "Open:0")" | ||||
| fi | ||||
| if [[ -z "$txt" ]]; then | ||||
|     exit 0 | ||||
| fi | ||||
| if [[ "$txt" =~ ^ftp://|http://|https://|www.* ]]; then | ||||
|     xdg-open $txt | ||||
|     write_history | ||||
|     exit 0 | ||||
| fi | ||||
| if [[ "$txt" =~ ^mailto://.* ]]; then | ||||
|     xdg-email $txt | ||||
|     write_history | ||||
|     exit 0 | ||||
| fi | ||||
| if [[ "$txt" =~ ^man://.* ]]; then | ||||
|     eval "${txt/:\/\// }" | yad --text-info --show-cursor --button "Close:0" --title "I38" - | ||||
|     write_history | ||||
|     exit 0 | ||||
| fi | ||||
| if command -v "$(echo "$txt" | cut -d " " -f1)" &> /dev/null ; then | ||||
|     eval $txt& | ||||
| else | ||||
|     xdg-open $txt& | ||||
| fi | ||||
| write_history | ||||
| exit 0 | ||||
		Reference in New Issue
	
	Block a user