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
|
Loading…
Reference in New Issue
Block a user