Go to file
2024-12-03 07:50:56 -05:00
scripts Support the Flatpak path. 2024-09-25 17:32:52 -04:00
.dir-locals.el Directory local variables for Emacs contributors. 2024-09-20 14:00:27 -04:00
.gitignore Add .gitignore for python cache files. 2024-10-23 06:06:29 -04:00
i38.sh Added chrome's accessibility flag for the apps that still need it. 2024-12-03 07:50:56 -05:00
LICENSE Make sure all files have the #!/usr/bin/env directive. Various bug fixes. Add license header to all files. If you read the logs, make sure to do i38 -u to get the new scripts. Be sure to regenerate the i3 config if you do not have the new bookmark feature which is bound to alt+control+b by default." 2024-06-14 21:53:21 -04:00
README.md Adda a note about the custom version of xfce4-notifyd. 2024-09-23 19:19:40 -04:00

I38

Accessibility setup script for the i3 window manager.

i38.sh

Released under the terms of the GPL License Version 3: https://www.gnu.org/licenses/ This is a Stormux project: https://stormux.org

Why the name?

An uppercase I looks like a 1, 3 from i3, and 8 because the song We Are 138 rocks!

Requirements

  • i3-wm: The i3 window manager.
  • acpi: [optional] for battery status. It will still work even without this package, but uses it if it is installed. Required for the battery monitor with sound alerts.
  • dex: [optional] Alternative method for auto starting applications.
  • clipster: clipboard manager
  • jq: for getting the current workspace
  • libcanberra: [optional]To play the desktop login sound.
  • libnotify: For sending notifications
  • notification-daemon: To handle notifications
  • xfce4-notifyd: For sending notifications Replaces notification-daemon requires Orca from git (Sway user will need to install the customized variant at https://github.com/icasdri/xfce4-notifyd-layer-shell)
  • ocrdesktop: For getting contents of the current window with OCR.
  • pamixer: for the mute-unmute script
  • playerctl: music controls
  • python-gobject: for applications menu.
  • python-i3ipc: for sounds etc.
  • remind: [optional]For reminder notifications, Requires notify-daemon and notify-send for automatic reminders.
  • sox: for sounds.
  • transfersh: [optional] for file sharing GUI
  • udiskie: [optional] for automatically mounting removable storage
  • x11bell: [optional] Bell support if you do not have a PC speaker. Available from https://github.com/jovanlanik/x11bell
  • xclip: Clipboard support
  • xbacklight: [optional] for screen brightness adjustment
  • xorg-setxkbmap: [optional] for multiple keyboard layouts
  • 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.

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.

To configure the theme name with gsettings, do as follows.

gsettings set org.gnome.desktop.sound theme-name name

If you'd like all sound types enabled:

gsettings set org.gnome.desktop.sound input-feedback-sounds true

gsettings set org.gnome.desktop.sound event-sounds true

To configure with a config file, edit or create ~/.config/gtk-3.0/settings.ini

[Settings]
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
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:

  • With no arguments, create the i3 configuration.
  • -h: Help screen.
  • -u: Copy over the latest version of scripts.
  • -x: Generate ~/.xinitrc and ~/.xprofile.
  • -X: Generate ~/.xprofile only.

Ratpoison Mode

I38 is an adaptation of the old Strychnine project which was based on the Ratpoison window manager. Ratpoison is a screen like window manager, and the important concept from that, which applies to I38, is adding keyboard shortcuts without conflicting application shortcuts. This is done with an "escape key".

When creating I38, I really wanted to port that functionality over, because it is very powerful and allows for lots and lots of shortcuts while minimizing collisions between shortcuts. So, for example, if you have chosen brave as your web browser, and selected alt+escape as your ratpoison mode key, you can quickly launch brave by pressing alt+escape followed by the letter w.

I38 Help

To get help for I38, you can press the top level keybinding alt+shift+F1. It is also available by pressing the ratpoison mode key followed by question mark. A limitation of yad, which is used to display the help text means that the cursor starts at the bottom of the text. Please press control+home to jump to the top. You can navigate with the arrow keys, and use control+f to find text within the document.

The help text is a modified version of the configuration file itself that is intended to be easier to read. I have tried to add in comments that should also serve to make things more clear.