DINA is a stripped-down, accessibility-first fork of dwm tailored for blind users and screen reader workflows.
DINA doesn't draw. DINA doesn't float. DINA doesn't get in your way.
It's for users who hear, not see.
DINA removes all visual overhead and focuses on speech-based, keyboard-only navigation — ideal for Orca users and terminal-centric workflows.
- ✅ Always uses monocle layout (fullscreen windows)
- ❌ No status bar
- ❌ No layout switching
- ❌ No floating window support
- ✅ Audio + speech feedback via
soxandspd-say - ✅ YAD-based application launcher, accessible with Orca
- ✅ Screen blackout toggle script for full visual suppression
- ✅ Low battery warning via
notify-send+spd-say - ✅ Clean keyboard control via
sxhkd - ✅ Orca screen reader autostart for immediate accessibility
- ✅ Workspace memory that remembers which applications belong on which workspaces
For Debian-based systems (Debian, Ubuntu, etc.), you can install DINA using the pre-built package:
-
Download the latest release package from GitHub Releases
-
Install the package and its dependencies:
sudo dpkg -i dina_1.0.1-1_amd64.deb sudo apt-get install -f # Installs dependencies -
Log out and select DINA from your display manager's session menu
-
On first login, the interactive setup will run automatically
make clean
make
sudo make installmake userinstallThis will run the interactive setup that:
- Installs all utility scripts to your ~/.local/bin directory
- Sets up sxhkd configuration for keyboard shortcuts
- Detects and configures your preferred applications
This will:
- Detect installed browsers, file managers, and terminals
- Let you select your preferred applications by choosing numbers from a simple menu
- Update keybindings for Super+W (browser), Super+F (file manager), and Super+Return (terminal)
- Fully accessible text-based interface designed for screen reader users
If you want to build your own Debian package, the repository includes a complete packaging system:
# Build using Docker (works on any system with Docker):
bash packaging/build-with-docker.sh
# Or directly on a Debian-based system:
bash packaging/build-package.shSee the packaging documentation for more details.
| Component | Path |
|---|---|
DINA binary |
/usr/local/bin/DINA |
| Accessibility scripts | ~/.local/bin/ |
sxhkdrc config |
~/.config/sxhkd/sxhkdrc |
💡 The systemd service to restore screen blackout on resume was removed.
Users can toggle blackout manually using the provided script.
| Key | Action |
|---|---|
Super + j |
Focus previous window |
Super + l |
Focus next window |
Super + k |
Kill focused window |
Super + a |
Launch accessible app menu |
Super + b |
Toggle screen blackout |
Super + f |
Open file manager |
Super + w |
Open web browser |
Super + Return |
Open terminal |
Super + Backspace |
Power/session menu |
Super + [1–9] |
Switch workspace/tag |
Super + Shift + [1-9] |
Move window to workspace |
Super + Shift + q |
Quit DINA |
DINA remembers which applications belong on which workspaces, creating a consistent and predictable environment.
-
Automatic Placement: When you launch an application that has previously been assigned to a specific workspace, DINA automatically places it there and announces this with audio feedback.
-
Setting Preferences: To set a workspace preference for an application:
- Move the application to your desired workspace using
Super + Shift + [1-9] - DINA will remember this preference and apply it automatically next time
- Move the application to your desired workspace using
-
Configuration File: Your workspace layout is stored in
~/.config/dina/workspace_layoutas a readable text file you can also edit manually. -
Format: Each line in the file follows this pattern:
ApplicationClass|ApplicationInstance|WorkspaceNumber -
Clearing Preferences: To remove an application from the workspace memory, simply move it to workspace 1. DINA will announce that the application is no longer being tracked.
# DINA Workspace Layout Configuration
Firefox|Navigator|2
Thunderbird|Mail|3
Terminal|xterm|4
💡 Applications will only be placed on workspaces 2-9 automatically. Workspace 1 is considered the default and not remembered.
You should have the following packages installed:
libx11,libxinerama,libxftorca,yad,sxhkd,sox,acpi,speech-dispatcherpython3(for interactive setup)- A terminal emulator like
alacritty,foot, orxterm
For building from source:
make,gcclibx11-dev,libxinerama-dev,libxft-dev
For building Debian packages:
build-essential,debhelper,devscripts,dpkg-dev- Alternatively, just Docker for cross-platform building
DINA is licensed under the MIT License. See the LICENSE file.