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'
|
export DIALOGOPTS='--no-lines --visit-items'
|
||||||
|
|
||||||
# Check to make sure minimum requirements are installed.
|
# 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
|
if ! command -v "$i" &> /dev/null ; then
|
||||||
missing+=("$i")
|
missing+=("$i")
|
||||||
fi
|
fi
|
||||||
@ -274,7 +274,7 @@ focus_follows_mouse no
|
|||||||
font pango:monospace 8
|
font pango:monospace 8
|
||||||
|
|
||||||
# Run dialog
|
# Run dialog
|
||||||
bindsym \$mod+F2 exec grun
|
bindsym \$mod+F2 exec ${i3Path}/scripts/run_dialog.sh
|
||||||
|
|
||||||
# Clipboard manager
|
# Clipboard manager
|
||||||
bindsym \$mod+Control+c exec clipster -s
|
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"
|
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)
|
# 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"
|
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)
|
# 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 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"
|
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