From 5229b3b18ac88d63fbe3c0a47dc2edd34a6dcce1 Mon Sep 17 00:00:00 2001 From: Storm Dragon Date: Mon, 3 Mar 2025 22:49:46 -0500 Subject: [PATCH] Introduction to I38 help file loads on first start after config generation. --- I38.html | 566 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ i38.sh | 26 +++ 2 files changed, 592 insertions(+) create mode 100644 I38.html diff --git a/I38.html b/I38.html new file mode 100644 index 0000000..5dda42f --- /dev/null +++ b/I38.html @@ -0,0 +1,566 @@ + + + + + + + Welcome to I38 + + + +
+

Welcome to I38

+
+

Welcome to I38 - +Accessible i3 Window Manager

+
+

Note: This help guide has been tailored to your +specific configuration. You’ve chosen BROWSER as your +web browser, MODKEY as your mod key, and you’re using +the SCREENREADER screen reader.

+
+

Introduction to I38

+

I38 is a configuration for the i3 window manager that makes it more +accessible for blind people. It features audio feedback, screen reader +integration, and keyboard shortcuts designed for non-visual +navigation.

+

Unlike traditional desktop environments like GNOME or MATE, i3 is a +tiling window manager, which means windows are arranged in a +non-overlapping layout. This can be more efficient to navigate by +keyboard, as windows are organized in a predictable structure.

+

Coming from GNOME or MATE?

+

If you’re transitioning from GNOME or MATE, here are some key +differences to understand:

+ +

I38 has been configured to make this transition easier by providing a +tabbed layout (similar to browser tabs) and shortcuts that may feel +somewhat familiar.

+

Basic Concepts

+

Workspaces

+

Workspaces act like virtual desktops, allowing you to organize +applications. You have 10 workspaces available.

+ +

GNOME/MATE comparison: Similar to workspaces in GNOME/MATE, +but with dedicated keyboard shortcuts rather than overview modes or +workspace switchers.

+

Window Management

+

Windows in I38 are arranged in a tabbed layout by default, which +means windows take up the entire screen and you can switch between them +like browser tabs.

+ +

GNOME/MATE comparison: Alt+Tab works similarly to +GNOME/MATE, but window placement is automatic rather than manual.

+

Modes in I38

+

Default Mode

+

This is the standard mode for working with applications. Most +commands start with your mod key (MODKEY).

+

Ratpoison Mode

+

Ratpoison mode allows quick access to common actions using shorter +key combinations. To enter Ratpoison mode, press +RATPOISONKEY. After pressing this key, you can execute +commands with single keystrokes.

+

Common Ratpoison mode commands:

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyAction
cLaunch a terminal
eOpen text editor (TEXTEDITOR)
wLaunch web browser (BROWSER)
kKill (close) the current window
?Show I38 help
Escape or Control + gExit Ratpoison mode without taking action
Shift + cRestart Cthulhu screen reader
Shift + oRestart Orca screen reader
Shift + tToggle screen reader
Control + ;Reload I38 configuration
Control + qExit i3 (log out)
!Open run dialog
Alt + bCheck battery status
gCheck game controller status
+

GNOME/MATE comparison: This mode has no direct equivalent in +GNOME/MATE. Think of it as a command palette or quick launcher activated +by a single key.

+

Bypass Mode

+

Bypass mode passes all keys directly to the application, which is +useful for applications that need many keyboard shortcuts. To enter +bypass mode, press MODKEY + Shift + +BackSpace. Use the same key combination to exit bypass +mode.

+

GNOME/MATE comparison: In GNOME/MATE, applications always +receive keyboard input directly. Bypass mode simulates this behavior +within i3.

+

Accessibility Features

+

Screen Reader

+

I38 is configured to work with your screen reader (SCREENREADER). The +screen reader will provide spoken feedback about what’s happening on +screen so long as there is a window. If you don’t have a window open and +need to change something SCREENREADER related, press Control+Alt+d to +bring up the desktop, then screen reader keys should work.

+ +

GNOME/MATE comparison: GNOME uses Orca by default with its +own keyboard shortcuts. I38 integrates screen readers more deeply with +the window manager.

+

Braille Display Support

+

If you’ve enabled braille display support during setup, I38 will +start XBrlAPI automatically to provide braille output from your screen +reader.

+

OCR (Optical Character +Recognition)

+

If installed, you can use OCR to read text from images or +inaccessible applications:

+ +

GNOME/MATE comparison: OCR features are typically not +integrated into GNOME/MATE by default.

+

Sound Effects

+

I38 provides audio feedback for many actions:

+ +

This audio feedback provides non-visual confirmation of actions and +state changes.

+

GNOME/MATE comparison: GNOME/MATE typically have fewer sound +effects for window management actions.

+

Application Menu and +Running Programs

+

Access applications in multiple ways:

+ +

The applications menu is organized by categories similar to +traditional desktop environments.

+

GNOME/MATE comparison: Instead of clicking on application +icons or using a start menu, I38 provides keyboard shortcuts to access +applications.

+

Reminders and Notifications

+

I38 includes integration with the remind program for +managing reminders:

+ +

The reminder tool provides the following features:

+ +

GNOME/MATE comparison: Similar to calendar applications in +GNOME/MATE but with a simplified interface optimized for keyboard +navigation.

+

Volume and Media Controls

+

System Volume

+ +

Media Player Controls

+ +

In Ratpoison mode, these are also available with Alt+Shift +combinations:

+ +

GNOME/MATE comparison: Media controls are similar to those +in GNOME/MATE, with the addition of audio feedback.

+

File Management

+

I38 uses FILEBROWSER for file management. Launch it in Ratpoison mode +with the f key.

+

GNOME/MATE comparison: Similar functionality to Nautilus +(GNOME) or Caja (MATE), but launched via keyboard shortcut rather than +from a desktop icon or menu.

+

System Operations

+ +

GNOME/MATE comparison: These functions are typically +available through system menus or indicators in GNOME/MATE.

+

Keyboard Layouts

+

Switch between layouts: Super + Space

+

This is only available if you chose multiple keyboard layouts during +setup.

+

GNOME/MATE comparison: Similar to keyboard layout switching +in GNOME/MATE, but with a different default shortcut.

+

Desktop and Window +Decorations

+

Unlike GNOME or MATE, i3 uses minimal window decorations. Windows +don’t have title bars with minimize/maximize buttons. Instead, windows +fill their available space automatically, and interactions are performed +through keyboard shortcuts.

+ +

Clipboard Management

+

I38 includes clipboard management features:

+ +

Bookmark Management

+ +

GNOME/MATE comparison: Bookmarks are typically managed +within applications in GNOME/MATE. I38 provides a system-wide bookmark +manager.

+

Tips for New Users

+ +

Transitioning from GNOME/MATE

+ +

Customization

+

You can customize I38 by editing the file +~/.config/i3/customizations. This file will not be +overwritten when you update I38.

+

Example customizations:

+
# Change background color
+exec_always --no-startup-id xsetroot -solid "#2E3440"
+
+# Add custom keybinding
+bindsym $mod+F12 exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ 100%
+

To reconfigure I38 completely, run the i38.sh script +again.

+

GNOME/MATE comparison: Much more text-based configuration +compared to the graphical settings dialogs in GNOME/MATE.

+

Getting Help

+

If you need assistance with I38, you can:

+ +
+

I38 - Making i3 accessible. A Stormux project. License: GPL +v3

+ + diff --git a/i38.sh b/i38.sh index d43e1f0..c59f99b 100755 --- a/i38.sh +++ b/i38.sh @@ -719,8 +719,34 @@ else echo "exec_always --no-startup-id ${i3Path}/scripts/desktop.sh" fi) +# First run help documentation +exec --no-startup-id bash -c 'if [[ -f "${i3Path}/firstrun" ]]; then ${webBrowser} "${i3Path}/I38.html"& rm "${i3Path}/firstrun"; fi' + # If you want to add personal customizations to i3, add them in ${i3Path}/customizations # It is not overwritten with the config file is recreated. include "${i3Path}/customizations" EOF touch "${i3Path}/customizations" +# Move html help file to destination +cp I38.html "${i3Path}/I38.html" + +# More readable version of variables. +escapeKey="${escapeKey//Mod1/Alt}" +escapeKey="${escapeKey//Mod4/Super}" +mod="${mod//Mod1/Alt}" +mod="${mod//Mod4/Super}" +webBrowser="${webBrowser##*/}" +screenReader="${screenReader##*/}" +textEditor="${textEditor##*/}" +fileBrowser="${fileBrowser##*/}" + +# Customize the html file to the user's choices. +sed -i -e "s|BROWSER|${webBrowser}|g" \ + -e "s|MODKEY|${mod}|g" \ + -e "s|SCREENREADER|${screenReader}|g" \ + -e "s|RATPOISONKEY|${escapeKey}|g" \ + -e "s|TEXTEDITOR|${textEditor}|g" \ + -e "s|FILEBROWSER|${fileBrowser}|g" "${i3Path}/I38.html" + +# Create the firstrun file +touch "${i3Path}/firstrun"