Compare commits
9 Commits
df4182b32f
...
v2.0
Author | SHA1 | Date | |
---|---|---|---|
6f8b418e80 | |||
239d110f58 | |||
b24c0fad91 | |||
00a89467fd | |||
9c3cadd7dc | |||
43bec02a2c | |||
a7746d962c | |||
0727ff31c3 | |||
482d8ebed2 |
30
README.md
30
README.md
@ -38,21 +38,35 @@ An uppercase I looks like a 1, 3 from i3, and 8 because the song [We Are 138](ht
|
|||||||
- yad: For screen reader accessible dialogs
|
- yad: For screen reader accessible dialogs
|
||||||
|
|
||||||
I38 will try to detect your browser, file manager, and web browser and present you with a list of options to bind to their launch keys. It will also create bindings for pidgin and mumble if they are installed. To use the bindings, press your ratpoison mode key which is set when you run the i38.sh script. next, press the binding for the application you want; w for web browser, e for text editor, f for file manager, m for mumble, etc. To learn all the bindings, find and read the mode ratpoison section of ~/.config/i3/config.
|
I38 will try to detect your browser, file manager, and web browser and present you with a list of options to bind to their launch keys. It will also create bindings for pidgin and mumble if they are installed. To use the bindings, press your ratpoison mode key which is set when you run the i38.sh script. next, press the binding for the application you want; w for web browser, e for text editor, f for file manager, m for mumble, etc. To learn all the bindings, find and read the mode ratpoison section of ~/.config/i3/config.
|
||||||
|
|
||||||
The login sound uses the GTK sound theme. Configure this using GTK configuration files or gsettings. Replace "name" with the name of the theme you want to use.
|
The login sound uses the GTK sound theme. Configure this using GTK configuration files or gsettings. Replace "name" with the name of the theme you want to use.
|
||||||
|
|
||||||
Note that if you enable all sound events as shown below, you'll also hear GTK sounds when moving around menus, buttons, etc, if the sound theme has sounds for those events.
|
Note that if you enable all sound events as shown below, you'll also hear GTK sounds when moving around menus, buttons, etc, if the sound theme has sounds for those events.
|
||||||
|
|
||||||
To configure the theme name with gsettings, do as follows.
|
To configure the theme name with gsettings, do as follows.
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.sound theme-name name
|
gsettings set org.gnome.desktop.sound theme-name name
|
||||||
|
|
||||||
If you'd like all sound types enabled:
|
If you'd like all sound types enabled:
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.sound input-feedback-sounds true
|
gsettings set org.gnome.desktop.sound input-feedback-sounds true
|
||||||
|
|
||||||
gsettings set org.gnome.desktop.sound event-sounds true
|
gsettings set org.gnome.desktop.sound event-sounds true
|
||||||
To configure with a config file, the file is ~/.config/gtk-3.0/settings.ini
|
|
||||||
```ini
|
To configure with a config file, edit or create ~/.config/gtk-3.0/settings.ini
|
||||||
[Settings]
|
|
||||||
gtk-enable-event-sounds=1
|
[Settings]
|
||||||
gtk-enable-input-feedback-sounds=1
|
gtk-enable-event-sounds=1
|
||||||
gtk-sound-theme-name=name
|
gtk-enable-input-feedback-sounds=1
|
||||||
gtk-modules=canberra-gtk-module
|
gtk-sound-theme-name=name
|
||||||
```
|
gtk-modules=canberra-gtk-module
|
||||||
|
|
||||||
|
You can apply the same configuration to GTK2 appss. Create or edit ~/.gtkrc-2.0
|
||||||
|
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=1
|
||||||
|
gtk-sound-theme-name=name
|
||||||
|
gtk-modules=canberra-gtk-module
|
||||||
|
|
||||||
## Usage:
|
## Usage:
|
||||||
|
|
||||||
|
7
i38.sh
7
i38.sh
@ -529,8 +529,10 @@ bindsym Shift+slash exec ${i3Path}/scripts/i38-help.sh, mode "default"
|
|||||||
bindsym c exec $sensibleTerminal, mode "default"
|
bindsym c exec $sensibleTerminal, mode "default"
|
||||||
# Text editor bound to e
|
# Text editor bound to e
|
||||||
bindsym e exec $textEditor, mode "default"
|
bindsym e exec $textEditor, mode "default"
|
||||||
# File browser bound to f
|
$(if [[ ${#fileBrowser} -gt 3 ]]; then
|
||||||
bindsym f exec $fileBrowser, mode "default"
|
echo "# File browser bound to f"
|
||||||
|
echo "bindsym f exec $fileBrowser, mode \"default\""
|
||||||
|
fi)
|
||||||
# Email client bound to \$mod+e
|
# Email client bound to \$mod+e
|
||||||
bindsym \$mod+e exec $emailClient, mode "default"
|
bindsym \$mod+e exec $emailClient, mode "default"
|
||||||
# Web browser bound to w
|
# Web browser bound to w
|
||||||
@ -628,6 +630,7 @@ if [[ -x "/usr/libexec/notification-daemon" ]]; then
|
|||||||
fi
|
fi
|
||||||
if command -v remind &> /dev/null && command -v notify-send &> /dev/null ; then
|
if command -v remind &> /dev/null && command -v notify-send &> /dev/null ; then
|
||||||
echo "exec_always --no-startup-id $(command -v remind) -z '-k:${HOME}/.config/i3/scripts/reminder.sh %s &' ${HOME}/.reminders < /dev/null > /dev/null 2>&1"
|
echo "exec_always --no-startup-id $(command -v remind) -z '-k:${HOME}/.config/i3/scripts/reminder.sh %s &' ${HOME}/.reminders < /dev/null > /dev/null 2>&1"
|
||||||
|
touch ~/.reminders
|
||||||
fi
|
fi
|
||||||
if [[ $dex -eq 0 ]]; then
|
if [[ $dex -eq 0 ]]; then
|
||||||
echo '# Start XDG autostart .desktop files using dex. See also'
|
echo '# Start XDG autostart .desktop files using dex. See also'
|
||||||
|
@ -43,8 +43,8 @@ add_daily_reminder() {
|
|||||||
--field="Select Hour:":num '1!1..12' \
|
--field="Select Hour:":num '1!1..12' \
|
||||||
--field="Select Minute:":num '0!0..59' \
|
--field="Select Minute:":num '0!0..59' \
|
||||||
--field="Select AM or PM":cb 'AM!PM' \
|
--field="Select AM or PM":cb 'AM!PM' \
|
||||||
--button="Cancel:1" \
|
--button="Cancel!gtk-cancel:1" \
|
||||||
--button="Create Reminder:0")"
|
--button="Create Reminder!gtk-ok:0")"
|
||||||
|
|
||||||
# Properly handle window close events.
|
# Properly handle window close events.
|
||||||
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
||||||
@ -84,8 +84,8 @@ add_monthly_reminder() {
|
|||||||
--field="Select Minute:":num '0!0..59' \
|
--field="Select Minute:":num '0!0..59' \
|
||||||
--field="Select AM or PM":cb 'AM!PM' \
|
--field="Select AM or PM":cb 'AM!PM' \
|
||||||
--field="Last day of month":chk "FALSE" \
|
--field="Last day of month":chk "FALSE" \
|
||||||
--button="Cancel:1" \
|
--button="Cancel!gtk-cancel:1" \
|
||||||
--button="Create Reminder:0")"
|
--button="Create Reminder!gtk-ok:0")"
|
||||||
|
|
||||||
# Properly handle window close events.
|
# Properly handle window close events.
|
||||||
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
||||||
@ -136,8 +136,8 @@ add_weekly_reminder() {
|
|||||||
--field="Select Hour:":num '1!1..12' \
|
--field="Select Hour:":num '1!1..12' \
|
||||||
--field="Select Minute:":num '0!0..59' \
|
--field="Select Minute:":num '0!0..59' \
|
||||||
--field="Select AM or PM":cb 'AM!PM' \
|
--field="Select AM or PM":cb 'AM!PM' \
|
||||||
--button="Cancel:1" \
|
--button="Cancel!gtk-cancel:1" \
|
||||||
--button="Create Reminder:0")"
|
--button="Create Reminder!gtk-ok:0")"
|
||||||
|
|
||||||
# Properly handle window close events.
|
# Properly handle window close events.
|
||||||
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
if [[ $? -eq 1 || $? -eq 252 ]]; then
|
||||||
@ -214,7 +214,7 @@ view_reminders() {
|
|||||||
# Display the reminders
|
# Display the reminders
|
||||||
reminder="$(yad --list --title "I38 - Reminders" --text "Current reminders:" \
|
reminder="$(yad --list --title "I38 - Reminders" --text "Current reminders:" \
|
||||||
--column "Reminder" "${yadMenu[@]}" \
|
--column "Reminder" "${yadMenu[@]}" \
|
||||||
--button="Close:1" --button="Delete:0" --response=1)"
|
--button="Close!gtk-ok:1" --button="Delete!gtk-delete:0" --response=1)"
|
||||||
if [[ $? -ne 0 ]]; then
|
if [[ $? -ne 0 ]]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
@ -261,7 +261,20 @@ fi
|
|||||||
|
|
||||||
if [[ $# -ne 0 ]]; then
|
if [[ $# -ne 0 ]]; then
|
||||||
sox -ndqV0 synth .1 tri 600 norm -9 pad .05 repeat
|
sox -ndqV0 synth .1 tri 600 norm -9 pad .05 repeat
|
||||||
notify-send "$*"
|
notification="$*"
|
||||||
|
if [[ "${notification}" =~ "http" ]]; then
|
||||||
|
url="${notification##*http}"
|
||||||
|
url="${url%%[[:space:]]*}"
|
||||||
|
url="http${url}"
|
||||||
|
notification="${notification/${url}[[:space:]]/}"
|
||||||
|
url="${url%[[:space:].?!]}"
|
||||||
|
fi
|
||||||
|
if command -v xclip &> /dev/null && [[ "${#url}" -gt 3 ]]; then
|
||||||
|
echo "${url}" | xclip -selection clipboard
|
||||||
|
notify-send "${notification} The URL has been copied to the clipboard." --expire-time=30000
|
||||||
|
else
|
||||||
|
notify-send "${*}" --expire-time=30000
|
||||||
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -269,9 +282,9 @@ while : ; do
|
|||||||
action=$(yad --title "I38 - Reminders" --form \
|
action=$(yad --title "I38 - Reminders" --form \
|
||||||
--button="_View Today's Reminders!gtk-info":2 \
|
--button="_View Today's Reminders!gtk-info":2 \
|
||||||
--button="_View All Reminders!gtk-info":3 \
|
--button="_View All Reminders!gtk-info":3 \
|
||||||
--button="_Add Daily Reminder!gtk-ok":0 \
|
--button="_Add Daily Reminder!gtk-edit":0 \
|
||||||
--button="_Add Weekly Reminder!gtk-ok":4 \
|
--button="_Add Weekly Reminder!gtk-edit":4 \
|
||||||
--button="Add Monthly Reminder!gtk-ok":5 \
|
--button="Add Monthly Reminder!gtk-edit":5 \
|
||||||
--button="Add Custom Reminder!gtk-edit":6 \
|
--button="Add Custom Reminder!gtk-edit":6 \
|
||||||
--button="Close!gtk-cancel":1 \
|
--button="Close!gtk-cancel":1 \
|
||||||
--separator="")
|
--separator="")
|
||||||
|
Reference in New Issue
Block a user