Add iio-lock plugin for orientation locking (#13)

* Made a iio-hyprland plugin for noctalia
kill iio-hyprland and restart it depending on the locked setting.

The plugin has:
-control center toggle
-Bar wigdet for toggle of state
--If rigth clicked this wigdet will open the panel
-Panel for calling by msg
--Panel also added possibally to specify lock direction
-Bar wiget for open panel
--Useful for touch

- Tested with hyprland 0.55.4 and noctalia v5.0.0
- Should work with sway using iio-sway (not tested)

* add en.json to translation
unify settings keys for consistent naming
update names
add iio-service so tools work independently
refactor code for readability and remove unused logic
update readme
add thumbnail

* Updated plugin.toml names
Reworked panel code

* bump version

* Make arrow buttons apply relative orientation instead of fixed original
directions

* fixed wrong labels

* Delete iio_lock/iio_lock.luau

* Delete iio_lock/iio_panel.luau

* Delete iio_lock/shortcut.luau

* make noctalia.getConfig the sole config accessor

---------

Co-authored-by: Lemmy <studio@quadbyte.net>
This commit is contained in:
Nikolaj Holck Zwergius
2026-07-15 00:27:58 -04:00
committed by GitHub
co-authored by Lemmy
parent 2d637f9651
commit ae06d34fcb
9 changed files with 415 additions and 0 deletions
+16
View File
@@ -0,0 +1,16 @@
iio-lock — Orientation Lock for 2‑in‑1 Devices
iio-lock is a small bar widget and panel plugin for Noctalia that provides manual control over screen orientation.
It works by stopping and restarting the iio-hyprland service (or similar IIO rotation tools), preventing automatic rotation while the lock is active.
This is useful on 2‑in‑1 touch laptops, where automatic rotation may not always be desired — such as when using the device in tablet mode, drawing, or note‑taking.
Supported WM and Tools
Hyprland / iio‑hyprland — Working and tested
Sway / iio‑sway — Unverified (experimental)
External commands
This plugin shells out to:
-pgrep
-pkill
-iio-hyprland (or the user‑configured tool)