Overview
Valent Cohesion is a sleek, macOS-inspired floating dropshelf utility designed for modern Linux desktop environments. Built in Rust with GTK 4, it provides a lightning-fast, secure, and resource-efficient temporary holding drawer for files, folders, and links, simplifying drag-and-drop operations across virtual workspaces, full-screen windows, or terminal instances.
Cohesion features a modern semi-transparent dark UI with smooth slide animations, click-through background areas, and edge triggering, combining a premium aesthetic with seamless workspace utility.
Key Features
Sleek Glassmorphic Design
- Semi-Transparent UI: Modern dark aesthetic featuring acrylic transparency and smooth transition animations using GTK's native hardware-accelerated
Revealerwidget. - Out-of-the-way UX: Stays hidden until triggered, keeping your screen clean and clutter-free.
Wayland & X11 Compatibility
- Fullscreen Input Stencil: Runs as a fullscreen, transparent window that is fully click-through except for the exact region occupied by the shelf or trigger zone.
- Edge Triggering: Automatically slides into view when you slide your mouse pointer to the rightmost screen boundary.
- Active Drag Awakening: Dragging files or links to the screen edge instantly opens the shelf so you can drop them in.
Multi-File Drag-Out
- Individual File Cards: Each item is displayed as a neat, responsive card that you can drag back out individually.
- "Drag All" Handle: A dedicated handle lets you drag all stored files collectively into another application, terminal, or folder.
System Tray & Real-Time Preferences
- Status Indicator Menu: Registers a native status notifier icon in your tray bar (using the D-Bus SNI protocol). Right-click to toggle the drawer, open settings, or quit.
- Interactive Settings Panel: Features real-time sliders to customize Drawer Width, Slide-in Speed, and Transparency dynamically without restarting.
- Configurations: Automatically persists application settings locally under
~/.config/valent-cohesion/config.
IPC Unix Socket Control
- Command-Line Interface: Communicates with external scripts or desktop shortcuts using a Unix socket, allowing you to trigger actions via the terminal or map custom keybinds.
Installation & Build
Valent Cohesion is built using Rust and GTK 4. Ensure you have the GTK 4 development headers and a Rust toolchain installed.
1. Build and Install Debian Package
On Debian, Ubuntu, or derivative distributions, you can compile and package the app as a system-wide package:
2. Compile from Source
Alternatively, clone the repository and compile the release binary directly:
Command-Line Interface (CLI)
The compiled binary acts as both the background daemon and the command-line client. You can control the shelf directly from your terminal or bind these commands to global keyboard shortcuts: