(vibe coded only) A custom Linux multipurpose tray application that shows a floating overlay (image, text, PDF, or both) anywhere on the desktop when a global keyboard shortcut is pressed. Purpose of this is to reference stuff you need instantly with a shortcut, I know alt-tab exist, but sometimes it's more than the alt-tab.
Also a feature to help you read if you have issues focusing. Reading highlighting line that follows the cursor, or a blacked out screen showing only the line reading; again following the line. Both lines can change colors and opacity of your liking.And blackout opacity as well.
- Multifunctional software — designed to suit my needs.
- Global hotkeys — trigger from any application; all shortcuts are configurable
- Up to 4 stacked images — set 1–4 images in Settings; they display vertically stacked in the overlay; empty slots are hidden automatically
- Image, text, or both — display image(s), styled text, or both together so you can reference something
- PDF viewer — display any PDF page in the overlay; scroll wheel navigates pages; configurable render quality
- Reading line — a horizontal guide that follows the cursor; two modes: thin colored line or full-screen dimmer with a transparent reading slot
- Screen dimmer — dims the entire screen except a transparent slot at the cursor's Y position, helping focus while reading
- System tray — lives quietly in the tray; left-click or use the shortcut to toggle
- Customizable appearance — background color, opacity, text font/size/color, window size
- Custom tray icon — use any image as the tray & app-menu icon
- Settings GUI — open with
Ctrl+Shift+Sor from the tray menu; change everything at runtime without restarting - Single instance — launching a second copy exits immediately
- Persistent config — settings saved to
~/.config/akira/config.json
- Linux with X11 or XWayland (works on KDE Plasma Wayland via XWayland)
- Python 3.10+
- PyQt6 ≥ 6.4
- pynput ≥ 1.7.6
- PyMuPDF ≥ 1.23 (for PDF mode)
git clone https://github.com/sabliran/AKIRA.git
cd AKIRA
bash install.shinstall.sh installs Python dependencies (PyQt6, pynput, PyMuPDF), creates a .desktop entry for your app launcher, and sets up autostart on login.
python3 main.pyFlatpak / sandboxed terminal users: use
flatpak-spawn --host python3 main.py
- The app icon appears in your system tray after launch.
- Press Ctrl+Shift+I (or your configured shortcut) to show/hide the overlay.
- Right-click the tray icon → Settings… (or press
Ctrl+Shift+S) to configure:- Content tab — choose Image, Text, Image + Text, or PDF mode; set up to 4 image paths (Image 1–4) that stack vertically in the overlay
- Appearance tab — colors, opacity, window size, custom tray icon
- Shortcut tab — record global shortcuts for the overlay and for opening Settings
- Reading Line tab — enable/configure the reading line guide
- Select a PDF file in Settings → Content → PDF
- Scroll up/down on the overlay to navigate pages
- Increase Render scale (default
1.00×) for sharper text on high-DPI screens
- Toggle with Ctrl+Shift+L (configurable)
- Press Escape to turn it off from anywhere
- Right-click the overlay to lock the line at the current Y position (unlocks on right-click again or left-click)
- Left-click the overlay to turn the reading line off
- Two modes selectable in Settings:
- Line — thin colored horizontal line following the cursor
- Screen dimmer — dims the whole screen; a transparent slot shows the text at cursor height
- Enable Cycle through modes to step through off → line → dimmer → off with one shortcut
- Customise color, opacity, and thickness (line mode) or dimmer color, opacity, and slot height (screen dimmer mode)
main.py # Entry point: tray icon, wires listener → display window
config_manager.py # load() / save() — config persistence
hotkey_listener.py # QObject wrapping pynput.keyboard.GlobalHotKeys
display_window.py # Frameless always-on-top Qt overlay (image / text / PDF)
reading_line.py # Full-screen transparent overlay for the reading line
settings_window.py # Tabbed settings dialog
requirements.txt # Python dependencies
install.sh # Installer script
MIT
