Native desktop watermark overlay for Linux & Pop!_OS COSMIC.
Real-time screen watermarking with seamless click-through and zero idle CPU overhead.
Deskstamp is a lightweight screen watermark overlay utility for Pop!_OS 24.04 COSMIC and modern Wayland compositors.
deskstamp-demo.mp4
It runs as a persistent transparent layer over your workspace, protecting streams, recordings, and confidential work without post-production video editing:
- True Wayland click-through: Uses
zwlr_layer_shell_v1with an empty input region (wl_surface.set_input_region(None)). All clicks, mouse gestures, and keyboard focus pass straight to applications beneath. - Zero idle CPU overhead: Renders once to a shared memory (
shm) buffer and sleeps. Only redraws on configuration updates or dynamic clock tokens. - Dynamic tokens: Expands
{user},{hostname},{date}, and customizable{time:%H:%M:%S}in real-time. - IPC control: UNIX domain socket allows toggling visibility, reloading settings, and inspecting status on the fly.
Download the .deb package from Releases:
wget https://github.com/GabrielBaiano/Deskstamp/releases/latest/download/deskstamp_0.2.0_amd64.deb
sudo apt install ./deskstamp_0.2.0_amd64.debwget https://github.com/GabrielBaiano/Deskstamp/releases/latest/download/deskstamp-v0.2.0-x86_64-unknown-linux-gnu.tar.gz
tar -xzf deskstamp-v0.2.0-x86_64-unknown-linux-gnu.tar.gz
cd deskstamp-v0.2.0-x86_64-unknown-linux-gnu
./install.shgit clone https://github.com/GabrielBaiano/Deskstamp.git
cd Deskstamp
cargo build --release
install -Dm755 target/release/deskstamp ~/.local/bin/deskstampdeskstamp testdeskstamp daemon &Bind this command to a keyboard shortcut in COSMIC Desktop Settings (Settings -> Keyboard -> Shortcuts):
deskstamp toggledeskstamp reloaddeskstamp preview preview.pngDeskstamp creates a default configuration file at ~/.config/deskstamp/config.json:
{
"text": "CONFIDENTIAL • {user}@{hostname} • {time:%H:%M:%S}",
"font_size": 22.0,
"angle_deg": -25.0,
"opacity": 0.18,
"color_rgba": [255, 255, 255, 255],
"spacing_x": 420.0,
"spacing_y": 220.0,
"stagger_offset": 210.0,
"stroke_width": 1.0,
"stroke_color_rgba": [0, 0, 0, 180],
"font_path": null,
"active": true,
"update_interval_secs": 1
}| Token | Output Description | Example |
|---|---|---|
{user} |
Current logged-in user | gabriel |
{hostname} |
Machine system hostname | pop-os |
{date} |
Current date (YYYY-MM-DD) |
2026-09-22 |
{time} |
Current time (HH:MM:SS) |
14:30:15 |
{date:FORMAT} |
Custom Chrono date format | {date:%b %d, %Y} → Sep 22, 2026 |
{time:FORMAT} |
Custom Chrono time format | {time:%I:%M %p} → 02:30 PM |
Distributed under the GPL-3.0-or-later License. See LICENSE for details.