https://github.com/probeldev/niri-float-sticky
A utility to make floating windows visible across all workspaces in niri — similar to "sticky windows" in other compositors.
https://github.com/probeldev/niri-float-sticky
niri
Last synced: 5 months ago
JSON representation
A utility to make floating windows visible across all workspaces in niri — similar to "sticky windows" in other compositors.
- Host: GitHub
- URL: https://github.com/probeldev/niri-float-sticky
- Owner: probeldev
- License: mit
- Created: 2025-04-06T15:38:45.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-07T06:46:22.000Z (10 months ago)
- Last Synced: 2025-10-06T08:34:53.449Z (9 months ago)
- Topics: niri
- Language: Go
- Homepage:
- Size: 1.71 MB
- Stars: 20
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-niri - niri-float-sticky - A utility to make floating windows visible across all workspaces — similar to "sticky windows" in other compositors. (Tools / Window and Workspace Management)
README
# Niri Float Sticky
*A utility to make floating windows visible across all workspaces in [niri](https://github.com/YaLTeR/niri) — similar to "sticky windows" in other compositors.*
## Why?
Niri doesn’t natively support global floating windows. This tool forces float windows to persist on every workspace, mimicking the `sticky` behavior from X11/Wayland compositors like Sway or KWin.
## Installation
### Via Go:
```bash
go install github.com/probeldev/niri-float-sticky@latest
```
### Via [AUR](https://aur.archlinux.org/packages/niri-float-sticky) (maintained by [jamlotrasoiaf](https://github.com/jamlotrasoiaf)/[brainworms2002](https://aur.archlinux.org/account/brainworms2002)):
```bash
paru -S niri-float-sticky
```
### Via Nix:
```bash
nix profile install github:probeldev/niri-float-sticky
```
## Usage
To automatically launch the utility on niri startup, add this line to your niri configuration:
```kdl
spawn-at-startup "niri-float-sticky"
```
### Command Line Options
```bash
Usage of niri-float-sticky:
-allow-moving-to-foreign-monitors
allow moving to foreign monitors
-debug
enable debug logging
-version
print version and exit
```
Example with debug log:
```bash
niri-float-sticky -debug >> /tmp/niri-float-sticky.log
# Configuring logrotate
cat </dev/null
/tmp/niri-float-sticky.log {
daily
rotate 5
compress
missingok
notifempty
copytruncate
maxsize 10M
su root root
}
EOF
```
## Contributing
We welcome all contributions! To get started:
1. **Open an Issue** to:
- Report bugs
- Suggest new features
- Ask questions
2. **Create a Pull Request** for:
- Bug fixes
- New functionality
- Documentation improvements
## License
This project is licensed under the **MIT License**.