From cd80c56409bbee83f8d033d8753cfb3065069bef Mon Sep 17 00:00:00 2001 From: Tadomika-Ari <124564764+Tadomika-Ari@users.noreply.github.com> Date: Sun, 26 Jul 2026 02:22:52 +0200 Subject: [PATCH] feat!: add W Engine plugin (#81) * feat!: add W Engine plugin * feat!: add en translation * fix: rm useless line * feat!: add preview window in a pannel * fix: rm no dependencies tools * feat!: update thumbnail with new image * feat: add screen choose with selector and add id check for warn string command folder * docs: add dependencies on toml and read me * fix: rm pkill and use kill * feat!: add multiple path check, default output, select where set wallpaper * feat!: rm debug notif * docs: add new action documentation * feat!: add new service for good restart (pkill all instance linux-wallpaper and rm all tmp file created by w engine) * feat!: add check if pid is a linux-wallpaper instance * docs: add depedencie and new entries * feat!: support personnal path with json load * docs: add docs for custom path * feat!: use new api function for show all wallpaper * fix: rm useless notify --- w-engine/README.md | 83 +++++++++++ w-engine/plugin.toml | 24 ++++ w-engine/start.luau | 11 ++ w-engine/thumbnail.webp | Bin 0 -> 86142 bytes w-engine/translations/en.json | 11 ++ w-engine/w-engine-panel.luau | 263 ++++++++++++++++++++++++++++++++++ w-engine/w-engine.luau | 8 ++ 7 files changed, 400 insertions(+) create mode 100644 w-engine/README.md create mode 100644 w-engine/plugin.toml create mode 100644 w-engine/start.luau create mode 100644 w-engine/thumbnail.webp create mode 100644 w-engine/translations/en.json create mode 100644 w-engine/w-engine-panel.luau create mode 100644 w-engine/w-engine.luau diff --git a/w-engine/README.md b/w-engine/README.md new file mode 100644 index 0000000..d0e94a3 --- /dev/null +++ b/w-engine/README.md @@ -0,0 +1,83 @@ +# W Engine + +A [Noctalia](https://github.com/noctalia-dev/noctalia) v5 plugin for applying Wallpaper Engine wallpapers from Steam Workshop. + +## Dependencies + +Before installing this plugin, make sure you already have Wallpaper Engine installed from Steam. Without it, the plugin will not work. + +You need Steam itself to download wallpapers from the Workshop, plus the `linux-wallpaperengine` tool. + +You also need `kill` to stop duplicate wallpaper processes when changing wallpapers, and `setsid` to start the wallpaper process correctly. + +For more details, see the install section below. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `tadomika_ari/w-engine` | +| Entries | Bar widget: `w-engine-widget`; panel: `w-engine-panel`; Service: `start`| + +## Usage + +Add the `W Engine` widget from Noctalia's widget picker, then click it to open the panel. You can also open the panel directly or bind it in your compositor: + +```sh +noctalia msg panel-toggle tadomika_ari/w-engine:w-engine-panel +``` + +| Action | Effect | +| --- | --- | +| Left click on the bar glyph | Open or close the W Engine panel | +| Click a wallpaper entry in the panel | Apply that wallpaper | +| Select an output | Change the monitor where the wallpaper is displayed | + +## Settings + +Custom path: + +To define a custom path for Steam or the Workshop, you can add a specific path for W Engine. +You can create a `data.json` file in `$NOCTALIA_STATE_HOME` based on this example: + +```json +{ + "personnalPath": ["path1"] +} +``` + +Replace `path1` with your personal path or add other paths. The path is loaded after a reload or if you reopen the widget. + +## Requirements + +- noctalia ≥ 5.0.0 +- `linux-wallpaperengine` +- `kill` +- `pkill` +- `setsid` +- Wallpaper Engine +- Steam for Workshop access + +## Install + +Install **W Engine** from Noctalia's plugin store (*Settings → Plugins*), then add the widget to a bar from *Settings → Bar*. Plugin options live in *Settings → Plugins*. + +Next, install Wallpaper Engine from Steam: https://store.steampowered.com/app/431960/Wallpaper_Engine/ + +Then install `linux-wallpaperengine` from its project page: https://github.com/Almamu/linux-wallpaperengine + +Note that some Wallpaper Engine wallpapers may not work correctly on Linux, especially ones with advanced visual effects. + +If you use NixOS, be aware that the package version in nixpkgs may lag behind upstream. + +For local development, add your working copy as a path source instead +(`.luau` edits hot-reload): + +```sh +noctalia msg plugins source add dev path /path/to/plugins +noctalia msg plugins enable tadomika_ari/w-engine +``` + +## License + +MIT. diff --git a/w-engine/plugin.toml b/w-engine/plugin.toml new file mode 100644 index 0000000..4141d0b --- /dev/null +++ b/w-engine/plugin.toml @@ -0,0 +1,24 @@ +id = "tadomika_ari/w-engine" +name = "W Engine" +version = "1.0.0" +plugin_api = 3 +author = "TadomiKa-Ari" +license = "MIT" +dependencies = ["linux-wallpaperengine", "kill", "setsid"] +icon = "movie" +description = "A Noctalia widget for applying Wallpaper Engine wallpapers from Steam Workshop with one click" +tags = ["wallpaper", "utility"] + +[[widget]] +id = "w-engine-widget" +entry = "w-engine.luau" + +[[panel]] +id = "w-engine-panel" +entry = "w-engine-panel.luau" +width = 800 +height = 600 + +[[service]] +id = "start" +entry = "start.luau" \ No newline at end of file diff --git a/w-engine/start.luau b/w-engine/start.luau new file mode 100644 index 0000000..d2153e5 --- /dev/null +++ b/w-engine/start.luau @@ -0,0 +1,11 @@ +-- reset section + +noctalia.runAsync("pkill linux-wallpaper") +local entries = noctalia.listDir("/tmp") +for _, entrieName in entries do + if entrieName:match("^w%-engine") then -- match for w-engine tmp file + noctalia.removeFile("/tmp/" .. entrieName) + end +end + +-- realod section \ No newline at end of file diff --git a/w-engine/thumbnail.webp b/w-engine/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..cea1394fad1cb2041f844bea5403f32fdf2028fd GIT binary patch literal 86142 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

nLG6rb$0b_kJ&4 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 literal 0 HcmV?d00001 diff --git a/w-engine/translations/en.json b/w-engine/translations/en.json new file mode 100644 index 0000000..0d3cdee --- /dev/null +++ b/w-engine/translations/en.json @@ -0,0 +1,11 @@ +{ + "plugin_name": "W Engine", + "plugin_description": "A widget for Wallpaper Engine. Set wallpaper from Wallpaper Engine with simple click.", + "panel": { + "apply": "Apply wallpaper {id}", + "list_failed": "Could not list Wallpaper Engine wallpapers", + "missing_project_json": "No project.json for {name}", + "no_wallpapers": "No Wallpaper Engine wallpapers found", + "title": "W Engine" + } +} diff --git a/w-engine/w-engine-panel.luau b/w-engine/w-engine-panel.luau new file mode 100644 index 0000000..e9da910 --- /dev/null +++ b/w-engine/w-engine-panel.luau @@ -0,0 +1,263 @@ +--!nonstrict +-- W-Engine panel — picks a Wallpaper Engine workshop item and applies it via +-- linux-wallpaperengine. + +-- Local variable + +wallpaperPath = {"~/.steam/steam/steamapps/workshop/content/431960/", +"~/.local/share/Steam/steamapps/workshop/content/431960/", +"~/.var/app/com.valvesoftware.Steam/.local/share/Steam/steamapps/workshop/content/431960/", +"~/snap/steam/common/.local/share/Steam/steamapps/workshop/content/431960/", +"~/snap/steam/common/.local/share/steam/steamapps/workshop/content/431960/"} +wallpaperPathSelected = nil + +local pickSlots = {} +local columns = 4 +local previewWidth = 180 +local previewHeight = 100 + +local outputFinalList = {} +local outputSelectedName = nil +local lastOutputUse = nil + +local pidList: { killSystem } = {} + +-- load personnal path + +local dir = noctalia.pluginDataDir() +local path = dir .. "/data.json" +local raw = noctalia.readFile(path) +if raw then + local data = noctalia.json.decode(raw) + if data and data.personnalPath then + for _, p in ipairs(data.personnalPath) do + table.insert(wallpaperPath, p) + end + end +end + +-- +type Wallpaper = { + nb: string, + name: string, + preview: string, +} + +type killSystem = { + pid: number, + output: string, +} + +function tr(key, subst) + if subst then + return noctalia.tr(key, subst) + end + return noctalia.tr(key) +end + +function takeWallpaper() + local wallpaper: { Wallpaper } = {} + + for count = 1, #wallpaperPath, 1 do + if noctalia.listDir(wallpaperPath[count]) then + wallpaperPathSelected = wallpaperPath[count] + end + end + + local entries, err = noctalia.listDir(wallpaperPathSelected) + if not entries then + warn(err or "impossible de lister") + noctalia.notify(tr("panel.title"), tr("panel.list_failed")) + return wallpaper + end + for _, entryName in entries do + + if not tonumber(entryName) then -- test if is a id + continue + end + + local content, readErr = noctalia.readFile(wallpaperPathSelected .. entryName .. "/project.json") + if content then + local value = noctalia.json.decode(content) + local name = value.title or entryName + local preview = value.preview or "no preview" + table.insert(wallpaper, { + nb = entryName, + name = name, + preview = preview, + }) + else + noctalia.notify(tr("panel.title"), tr("panel.missing_project_json", { name = entryName })) + end + end + return wallpaper +end + +function trim(s) -- personnal trim + return (s:gsub("^%s+", ""):gsub("%s+$", "")) +end + +function isValidPid(screen, pid) + local path = "/tmp/w-engine-" .. screen .. ".pid" + if noctalia.fileExists(path) then + local fileTmp = noctalia.readFile(path) + if not fileTmp then + return false + end + local file = trim(fileTmp) + if file == pid then + + local check = "/proc/" .. pid .. "/cmdline" + local checkContentTmp = noctalia.readFile(check) + if not checkContentTmp then + return false + end + local checkContent = trim(checkContentTmp) + local match = "^linux%-wallpaperengine" + if checkContent:match(match) then + return true + end + end + end + return false +end + +function getStoredPid(screen) + for _, entry in ipairs(pidList) do + if entry.output == screen then + if isValidPid(screen, entry.pid) then + return entry.pid + end + end + end + return nil +end + +function setStoredPid(screen, pid) + for _, entry in ipairs(pidList) do + if entry.output == screen then + entry.pid = pid + return + end + end + table.insert(pidList, { pid = pid, output = screen }) +end + + +function launchWallpaper(screen, id, pidFile) + local cmd = "setsid linux-wallpaperengine --screen-root " .. screen .. " " .. id + .. " > /dev/null 2>&1 & echo $! > " .. pidFile + + noctalia.runAsync(cmd, function(result) + local pidContent = noctalia.readFile(pidFile) + if pidContent then + local pid = trim(pidContent) + setStoredPid(screen, pid) + end + end, 5000) +end + +function loadWallpaper(id) + lastOutputUse = outputSelectedName or takeOutput() + local pidFile = "/tmp/w-engine-" .. lastOutputUse .. ".pid" + local oldPid = getStoredPid(lastOutputUse) -- here + if oldPid then + noctalia.runAsync("kill " .. oldPid, function() -- here + launchWallpaper(lastOutputUse, id, pidFile) + end, 3000) + else + launchWallpaper(lastOutputUse, id, pidFile) + end +end + +function onPickAt(slot) + local id = pickSlots[slot] + if id ~= nil then + loadWallpaper(id) + noctalia.notify(tr("panel.title"), tr("panel.apply", { id = id })) + end +end + +local function render() + pickSlots = {} + local tiles = {} + local list = takeWallpaper() + for count = 1, #list, 1 do + local data = list[count] + local slotIndex = count - 1 + pickSlots[slotIndex] = data.nb + table.insert(tiles, ui.column({ gap = 4, key = data.nb, align = "center" }, { + ui.image({ + path = wallpaperPathSelected .. data.nb .. "/" .. data.preview, + width = previewWidth, + height = previewHeight, + fit = "cover", + radius = 8, + onClick = function() + loadWallpaper(pickSlots[slotIndex]) + noctalia.notify(tr("panel.title"), tr("panel.apply", { id = pickSlots[slotIndex] })) + end, + }), + ui.label({ + text = data.name, + fontSize = 11, + maxLines = 1, + maxWidth = 120, + textAlign = "center", + }), + })) + end + local rows = {} + local row = {} + for i, tile in ipairs(tiles) do + table.insert(row, tile) + if #row == columns or i == #tiles then + table.insert(rows, ui.row({ gap = 12, align = "start" }, row)) + row = {} + end +end + panel.render(ui.column({ flexGrow = 1, gap = 16 }, { + ui.row({ align = "center", justify = "space_between", gap = 8 }, { + ui.label({ text = tr("panel.title"), align = "center", fontSize = 16, fontWeight = "bold", color = "on_surface", flexGrow = 1 }), + ui.select({ options = getOutput(), onChange = "outputSelected" }), + ui.button({ glyph = "close", onClick = "onCloseClicked" }), + }), + ui.scroll({ gap = 12, align = "stretch", flexGrow = 1 }, rows), + })) +end + +function takeOutput() + local output = noctalia.outputs() + for _, outputF in ipairs(output) do + return outputF.name + end +end + +function outputSelected(index, label) + if type(label) == "string" and label ~= "" then + outputSelectedName = label + noctalia.notify("Output change :", outputSelectedName) + end +end + +function getOutput() + outputFinalList = {} + local outputsList = noctalia.outputs() + if not outputsList then + return + end + for _, output in ipairs(outputsList) do + noctalia.log(output.name) + table.insert(outputFinalList, output.name) + end + return outputFinalList +end + +function onOpen(_context) + outputSelectedName = takeOutput() + render() +end + +function onCloseClicked() + panel.close() +end \ No newline at end of file diff --git a/w-engine/w-engine.luau b/w-engine/w-engine.luau new file mode 100644 index 0000000..d6f1b80 --- /dev/null +++ b/w-engine/w-engine.luau @@ -0,0 +1,8 @@ +function update() + noctalia.setUpdateInterval(1000) + barWidget.setGlyph("movie") +end + +function onClick() + noctalia.togglePanel("tadomika_ari/w-engine:w-engine-panel") +end \ No newline at end of file