A lightweight break reminder app for Linux that helps reduce eye strain and digital fatigue through micro breaks and long breaks.
Built with Rust, GTK4, and libadwaita. Runs in the system tray with <10MB memory footprint.
Install Lookout with a single command:
curl -fsSL https://raw.githubusercontent.com/raghulj/lookout/main/install.sh | bashThat's it! The installer will:
- β Detect your system automatically
- β Download the latest release
- β
Install to
~/.local/bin(no sudo required) - β Set up desktop entry
- β Check for required dependencies
Lookout requires GTK4 and libadwaita:
Ubuntu/Debian:
sudo apt install libgtk-4-1 libadwaita-1-0Fedora:
sudo dnf install gtk4 libadwaitaArch Linux:
sudo pacman -S gtk4 libadwaitaStart the app:
lookoutOr find Lookout in your application launcher.
Enable autostart:
lookout --enable-autostartDisable autostart:
lookout --disable-autostartCheck version:
lookout --versionGet help:
lookout --helpTo update to the latest version, run the install command again:
curl -fsSL https://raw.githubusercontent.com/raghulj/lookout/main/install.sh | bashcurl -fsSL https://raw.githubusercontent.com/raghulj/lookout/main/uninstall.sh | bash- Micro breaks - 20-second breaks every 20 minutes (customizable)
- Long breaks - 5-minute breaks every 60 minutes (customizable)
- Runs quietly in the background
- Shows next break time
- Right-click menu for quick actions
- Pause/resume breaks anytime
- Fullscreen semi-transparent overlay
- Countdown timer display
- Skip button (after minimum duration)
- Works on both X11 and Wayland
- Configure break intervals and durations
- Start/pause/resume functionality
- Auto-start on login option
- Remembers your preferences
- Minimal, clean UI following GNOME HIG
- Low memory footprint (<10MB idle)
- Native look and feel
- Smooth animations
- KDE Plasma β
- XFCE β
- MATE β
- Cinnamon β
- LXQt β
- Tiling WMs with compatible bars (i3, Sway with waybar, etc.) β
Requires AppIndicator extension
- Language: Rust
- UI Framework: GTK4
- Styling: libadwaita
- Async Runtime: tokio
- System Tray: ksni (KDE Status Notifier Item)
- X11 β
- Wayland β
GTK4 automatically handles both - single codebase, works everywhere.
If you prefer to install manually:
- Download the binary for your architecture from releases
- Make it executable:
chmod +x lookout-x86_64-unknown-linux-gnu
- Move to your PATH:
mkdir -p ~/.local/bin mv lookout-x86_64-unknown-linux-gnu ~/.local/bin/lookout
- Add to PATH (if not already):
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc
- x86_64 (Intel/AMD 64-bit) - Available now
- aarch64 (ARM 64-bit) - Planned
- armv7 (ARM 32-bit) - Planned
Settings are stored in: ~/.config/lookout/config.json
{
"micro_break_interval_minutes": 20,
"micro_break_duration_seconds": 20,
"long_break_interval_minutes": 60,
"long_break_duration_minutes": 5,
"auto_start": true,
"enabled": true
}You can edit this file directly or use the settings window in the app.
# Ubuntu/Debian
sudo apt install libgtk-4-dev libadwaita-1-dev libdbus-1-dev build-essential pkg-config
# Fedora
sudo dnf install gtk4-devel libadwaita-devel dbus-devel gcc pkg-config
# Arch Linux
sudo pacman -S gtk4 libadwaita dbus base-devel# Clone the repository
git clone https://github.com/raghulj/lookout.git
cd lookout
# Build release binary
cargo build --release
# Binary will be at: target/release/lookout
./target/release/lookout- Simple, efficient break reminder that just works
- Native Linux application (not Electron!)
- Minimal memory footprint (<10MB)
- Works across all major desktop environments
- Respects user privacy (no telemetry, no network calls)
- GNOME System Tray: Requires AppIndicator extension
- Idle Detection: Not implemented yet (breaks trigger on schedule regardless of user activity)
- Multi-Monitor: Break overlay shows on primary monitor only (v1.0)
- Idle time detection
- Multi-monitor support
- Break exercise suggestions/animations
- Statistics and usage insights
- Sound notifications
- Theme customization
- Pomodoro mode
- Flatpak package
- AUR package (Arch User Repository)
Contributions are welcome! Please feel free to submit issues or pull requests.
See CONTRIBUTING.md for development guidelines.
Found a bug or have a feature request? Open an issue
This project is licensed under the MIT License - see the LICENSE file for details.
- Built entirely using Claude Code (AI pair programmer)
- Inspired by the need for simple, native break reminder apps on Linux
- Thanks to the GTK and Rust communities for excellent tooling
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Star β this repository if you find it useful!