SnapSession is a lightweight, responsive browser profile and session launcher crafted for Linux desktops (KDE Plasma, GNOME, XFCE, etc.). It enables instant switching between profiles across Chromium and Firefox / Gecko browsers while optimizing launch performance directly in memory.
- Brave Browser
- Thorium Browser
- Google Chrome
- Chromium
- Vivaldi
- Microsoft Edge
- Opera
- Mozilla Firefox
- Firefox Developer Edition
- LibreWolf
- Floorp
- Waterfox
- Zen Browser
- 🚀 Dual-Engine Launch Acceleration:
- Chromium: Direct GPU rasterization, zero-copy buffers, Ozone X11 pipeline, and KDE Wallet lag bypass.
- Firefox / Gecko: Hardware WebRender pipeline (
MOZ_WEBRENDER=1), high-precision XInput2 touch/scrolling (MOZ_USE_XINPUT2=1), and independent concurrent instances (--no-remote).
- 👁️ True-Paint Window Detection: Replaces fragile fixed timeouts with real-time X11 render detection. The launcher smoothly remains visible while heavy tab sessions restore, dismissing the exact millisecond the web frame paints.
- 📌 Pin to Top: Pin your most frequent profiles directly to the top-left of the grid.
- 🎨 16 Web-Safe Color Palettes: Profiles receive a permanent, deterministic gradient based on CRC32 hashing. Custom colors can be chosen using the built-in color picker wheel.
- 🔍 Instant Search Filter: Quickly filter across dozens of profiles with live search (
Enterto launch top match). - ⚙️ In-App Settings: Toggle individual optimization parameters on the fly (
F2or gear icon). - 🖥️ Responsive Zero-Scroll Layout: Automatically adapts to your display resolution (from 3 to 6 columns) to display all profiles cleanly without unnecessary scrolling.
- Python: 3.8+
- PyQt5:
python3-pyqt5(orpip install PyQt5/uv add PyQt5) - X11 Utilities:
x11-utils(providesxwininfoandxprop)
sudo apt update
sudo apt install python3-pyqt5 x11-utilssudo pacman -S python-pyqt5 xorg-xwininfo xorg-xpropsudo dnf install python3-qt5 xwininfo xpropgit clone https://github.com/develcuy/snapsession.git
cd snapsession
uv run snapsession.pygit clone https://github.com/develcuy/snapsession.git
cd snapsession
pip install -r requirements.txt
python3 snapsession.pymkdir -p ~/.local/share/applications ~/.local/share/icons/hicolor/scalable/apps
cp snapsession.svg ~/.local/share/icons/hicolor/scalable/apps/snapsession.svg
cp snapsession.desktop ~/.local/share/applications/
update-desktop-database ~/.local/share/applications/| Key | Action |
|---|---|
Enter |
Launch highlighted or top-matching profile |
F2 |
Open Acceleration & Settings dialog |
Esc |
Close SnapSession |
Tab / Arrows |
Navigate profile grid |
Settings, custom colors, and pinned profiles are stored locally at:
~/.config/snapsession_config.json
This project is licensed under the MIT License - see the LICENSE file for details.
Fernando Paredes García
- Email: [email protected]
- Website: develcuy.com