Compare commits
8 Commits
0e7125d2fc
...
v1.5
Author | SHA1 | Date | |
---|---|---|---|
390fc4c114 | |||
71cd45f781 | |||
6702dc357b | |||
a7f22597f1 | |||
530c9e5073 | |||
73d16bde78 | |||
ccbb89e372 | |||
8ce2e7eb32 |
@ -17,7 +17,6 @@ An uppercase I looks like a 1, 3 from i3, and 8 because the song [We Are 138](ht
|
||||
- acpi: [optional] for battery status. It will still work even without this package, but uses it if it is installed.
|
||||
- dex: [optional] Alternative method for auto starting applications.
|
||||
- clipster: clipboard manager
|
||||
- grun: Run application dialog
|
||||
- jq: for getting the current workspace
|
||||
- libnotify: For sending notifications
|
||||
- notification-daemon: To handle notifications
|
||||
|
15
i38.sh
15
i38.sh
@ -191,7 +191,7 @@ fi
|
||||
webBrowser="$(command -v $webBrowser)"
|
||||
# Text editor
|
||||
unset programList
|
||||
for i in geany gedit kate kwrite l3afpad leafpad libreoffice mousepad pluma ; do
|
||||
for i in emacs geany gedit kate kwrite l3afpad leafpad libreoffice mousepad pluma ; do
|
||||
if hash ${i/#-/} &> /dev/null ; then
|
||||
if [ -n "$programList" ]; then
|
||||
programList="$programList $i"
|
||||
@ -273,6 +273,9 @@ focus_follows_mouse no
|
||||
# is used in the bar {} block below.
|
||||
font pango:monospace 8
|
||||
|
||||
# I38 help
|
||||
bindsym \$mod+Shift+F1 exec ${i3Path}/scripts/i38-help.sh
|
||||
|
||||
# Run dialog
|
||||
bindsym \$mod+F2 exec ${i3Path}/scripts/run_dialog.sh
|
||||
|
||||
@ -371,6 +374,8 @@ if [[ -n "${escapeKey}" ]]; then
|
||||
cat << EOF >> ${i3Path}/config
|
||||
bindsym $escapeKey mode "ratpoison"
|
||||
mode "ratpoison" {
|
||||
# I38 help bound to ?
|
||||
bindsym Shift+slash exec ${i3Path}/scripts/i38-help.sh, mode "default"
|
||||
# Terminal emulator bound to c
|
||||
bindsym c exec i3-sensible-terminal, mode "default"
|
||||
# Text editor bound to e
|
||||
@ -379,17 +384,23 @@ bindsym e exec $textEditor, mode "default"
|
||||
bindsym f exec $fileBrowser, mode "default"
|
||||
# Web browser bound to w
|
||||
bindsym w exec $webBrowser, mode "default"
|
||||
# Kill window bound to k
|
||||
bindsym k kill, mode "default"
|
||||
$(if command -v mumble &> /dev/null ; then
|
||||
echo "# Mumble bound to m"
|
||||
echo "bindsym m exec $(command -v mumble), mode \"default\""
|
||||
fi)
|
||||
$(if command -v ocrdesktop &> /dev/null ; then
|
||||
echo "# OCR desktop bound to print screen alternative \$mod+r"
|
||||
echo "bindsym Print exec $(command -v ocrdesktop) -b, mode \"default\""
|
||||
echo "bindsym \$mod+r exec $(command -v ocrdesktop) -b, mode \"default\""
|
||||
fi)
|
||||
$(if command -v pidgin &> /dev/null ; then
|
||||
echo "# p bound to pidgin"
|
||||
echo "bindsym p exec $(command -v pidgin), mode \"default\""
|
||||
fi)
|
||||
$(if command -v transfersh &> /dev/null ; then
|
||||
echo "# t bound to share file with transfer.sh"
|
||||
echo 'bindsym t exec bash -c '"'"'fileName="$(yad --title "I38 Upload File" --file)" && url="$(transfersh "${fileName}" | tee >(yad --title "I38 - Uploading ${fileName##*/} ..." --progress --pulsate --auto-close))" && echo "${url#*saved at: }" | tee >(yad --title "I38 - Upload URL" --show-cursor --show-uri --button yad-close --sticky --text-info) >(xclip -selection clipboard)'"', mode \"default\""
|
||||
fi)
|
||||
|
||||
@ -422,7 +433,9 @@ bindsym Control+Shift+semicolon exec bash -c '$i3msg -t run_command restart && s
|
||||
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'
|
||||
# Exit ratpoison mode without any action escape or Control+g
|
||||
bindsym Escape mode "default"
|
||||
bindsym Control+g mode "default"
|
||||
}
|
||||
|
||||
|
||||
|
32
scripts/i38-help.sh
Executable file
32
scripts/i38-help.sh
Executable file
@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
|
||||
configPath="$(readlink -f $0)"
|
||||
configPath="${configPath%/*/*}"
|
||||
|
||||
if [[ -f "${configPath}/config" ]]; then
|
||||
mod="$(grep 'set $mod ' "${configPath}/config" | cut -d ' ' -f3)"
|
||||
mod="${mod//Mod1/Alt}"
|
||||
mod="${mod//Mod4/Super}"
|
||||
mapfile helpText < <(sed -e '/set \($mod\|mod\)/d' \
|
||||
-e '/set $ws/d' \
|
||||
-e 's/bindsym/Key:/g' \
|
||||
-e 's/Mod1/Alt/g' \
|
||||
-e 's/, mode "default"//g' \
|
||||
-e 's/--no-startup-id //g' \
|
||||
-e 's/$ws\([0-9]\)/\1/g' \
|
||||
-e 's/play \(.*\)& //g' \
|
||||
-e "s/\$mod/$mod/g" "${configPath}/config")
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
for i in "${!helpText[@]}" ; do
|
||||
helpText[$i]="${helpText[$i]//${configPath}\/scripts\//}"
|
||||
helpText[$i]="${helpText[$i]/.sh/}"
|
||||
helpText[$i]="${helpText[$i]/, exec announce*/$'\n'}"
|
||||
helpText[$i]="${helpText[$i]/, exec spd-say*/$'\n'}"
|
||||
done
|
||||
helpText+=("End of text. Please press Control+Home to jump to the beginning of this document.")
|
||||
echo "${helpText[@]}" | yad --text-info --show-cursor --title "I38 help" --button "Close:0" --listen
|
||||
|
||||
exit 0
|
@ -21,7 +21,7 @@ fi
|
||||
if [[ -z "$txt" ]]; then
|
||||
exit 0
|
||||
fi
|
||||
if [[ "$txt" =~ ^ftp://|http://|https://|www.* ]]; then
|
||||
if [[ "$txt" =~ ^ftp://|^http://|^https://|^www.* ]]; then
|
||||
xdg-open $txt
|
||||
write_history
|
||||
exit 0
|
||||
|
Reference in New Issue
Block a user