The "Activate Windows" watermark ported to Linux with cairo in C
"Science isn't about WHY. It's about WHY NOT. Why is so much of our science dangerous? Why not marry safe science if you love it so much. In fact, why not invent a special safety door that won't hit you on the butt on the way out, because you are fired." — Cave Johnson (Portal 2)
Read ARGS.md for information about command line arguments.
- Draggable overlay on X11 with
-M/--x11-draggable. - Draggable overlay on Wayland (layer-shell based) with
-Y/--wayland-draggable. - Overlay position persistence after drag release.
- Auto-saved to
~/.config/activate-linux.cfg. - Custom config path is supported with
-C/--config-file.
- Auto-saved to
- Dynamic distro label for Linux and BSD presets.
- Linux now shows current distro name/version (for example
Fedora 43). - BSD preset now shows runtime system/version (for example
FreeBSD 14.1,OpenBSD 7.6).
- Linux now shows current distro name/version (for example
- Expanded build-from-source guides for Linux, FreeBSD, OpenBSD, Fedora/RHEL/CentOS, Windows (MSYS2), and more.
Note that the executable's name depends on the target platform.
You can use make install to install and make uninstall to remove it.
I've been experimenting with using Xmake for building instead of make, you can test this by installing it and running
xmakePlease leave feedback to improve this if you want
makeWindows (using MSYS2):
Replace gcc with clang, if you want. But then don't forget to start proper shortcut MSYS2 CLANG64.
pacman -S --noconfirm git make pkgconf pactoys
pacboy -S --noconfirm gcc:p
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
export backends=gdi
makeThis project depends on:
libcairo2-devlibxi-devlibx11-devx11proto-core-devx11proto-devlibxt-devlibxext-devlibxfixes-devlibxinerama-devlibxrandr-devlibwayland-devwayland-protocols
Optional dependencies:
Use pkg to install build tools and runtime dependencies:
sudo pkg install gmake pkgconf cairo pango wayland wayland-protocols \
libX11 libXext libXfixes libXinerama libXrandr libXi libXt libconfigIf you only need the X11 backend, install:
sudo pkg install gmake pkgconf cairo pango \
libX11 libXext libXfixes libXinerama libXrandr libXi libXt libconfigBuild with X11 only:
gmake backends=x11Build with GNU Make:
gmakeUse pkg_add to install build tools and runtime dependencies:
doas pkg_add gmake pkgconf cairo pango wayland wayland-protocols libconfigIf you only need the X11 backend, install:
doas pkg_add gmake pkgconf cairo pango libconfigBuild with X11 only:
gmake backends=x11Build with GNU Make:
gmakesudo apt update
sudo apt install git make pkg-config libconfig-dev libcairo2-dev libpango1.0-dev \
libxi-dev libx11-dev x11proto-core-dev x11proto-dev libxt-dev libxext-dev \
libxfixes-dev libxinerama-dev libxrandr-dev libwayland-dev wayland-protocols
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
make
sudo make installUse the same package names on all three distributions:
sudo dnf install -y git make gcc pkgconf-pkg-config cairo-devel pango-devel \
libX11-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel \
libXi-devel libXt-devel wayland-devel wayland-protocols-devel libconfig-devel
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
make
sudo make installsudo pacman -S --needed git make pkgconf cairo pango libxi libx11 libxt libxext \
libxfixes libxinerama libxrandr wayland wayland-protocols libconfig
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
make
sudo make installUse the flake development shell to compile from source:
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
nix develop -c make
sudo nix develop -c make installInstall required development libraries, then build directly from source:
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
make
sudo make installpacman -S --noconfirm git make pkgconf pactoys
pacboy -S --noconfirm gcc:p
git clone https://github.com/wenyinos/activate-linux
cd activate-linux
export backends=gdi
makeThe resulting executable is generated in the repository root (for example activate-windows64.exe).
Use MacPorts to install the following, then build normally.
xorg-servercairoxorg-libXinerama
Alternatively, you can use this project instead because it actually works properly.