From b3e8a82d2f426954a8ca79f71b54535ec1efadc4 Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 09:55:54 +0200 Subject: [PATCH 1/8] init desktop-launcher --- desktop-launcher/README.md | 22 ++++++ desktop-launcher/plugin.toml | 26 +++++++ desktop-launcher/translations/en.json | 7 ++ desktop-launcher/widget.luau | 108 ++++++++++++++++++++++++++ 4 files changed, 163 insertions(+) create mode 100644 desktop-launcher/README.md create mode 100644 desktop-launcher/plugin.toml create mode 100644 desktop-launcher/translations/en.json create mode 100644 desktop-launcher/widget.luau diff --git a/desktop-launcher/README.md b/desktop-launcher/README.md new file mode 100644 index 00000000..676d4576 --- /dev/null +++ b/desktop-launcher/README.md @@ -0,0 +1,22 @@ +# Desktop Launcher + +Desktop/lockscreen widget to launch your favorite apps in one click. + +## Plugin + +| Field | Value | +| --- | --- | +| ID | `yocraft/desktop-launcher` | +| Entries | Desktop widget: `widget` | + +## Usage + +Add it to your desktop/lockscreen widgets using the widget editor. You can configure it in the widget settings. + +## Settings + +| Setting | Type | Default | Description | +| --- | --- | --- | --- | +| `apps` | `string_list` | `` | Apps list and order. | + +## Notes diff --git a/desktop-launcher/plugin.toml b/desktop-launcher/plugin.toml new file mode 100644 index 00000000..925f5487 --- /dev/null +++ b/desktop-launcher/plugin.toml @@ -0,0 +1,26 @@ +id = "yocraft/desktop-launcher" +name = "Desktop Launcher" +version = "1.0.0" +plugin_api = 3 +author = "yocraft" +license = "MIT" +deprecated = false +icon = "launcher" +description = "" +tags = [ "desktop", "utility" ] +dependencies = [] + +[[desktop_widget]] +id = "widget" +entry = "widget.luau" + + [[desktop_widget.setting]] + key = "apps" + type = "string_list" + label_key = "settings.apps.label" + default = [ + "firefox", + "foot", + "nvim", + ] + diff --git a/desktop-launcher/translations/en.json b/desktop-launcher/translations/en.json new file mode 100644 index 00000000..9a97710a --- /dev/null +++ b/desktop-launcher/translations/en.json @@ -0,0 +1,7 @@ +{ + "settings": { + "apps": { + "label": "Applications" + } + } +} diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau new file mode 100644 index 00000000..1e933bca --- /dev/null +++ b/desktop-launcher/widget.luau @@ -0,0 +1,108 @@ +local apps = noctalia.getConfig("apps") + +-- https://github.com/noctalia-dev/noctalia/blob/main/src/system/desktop_entry_launch.cpp#L45 +local function stripFieldCodes(exec) + local result = exec:gsub("%%(.?)( ?)", function(nextChar, trailingSpace) + if nextChar:match("[fFuUdDnNick]") then + return "" + elseif nextChar == "%" then + return "%" .. trailingSpace + else + return "%" .. nextChar .. trailingSpace + end + end) + + result = result:gsub(" +$", "") + + -- Flatpak + result = result:gsub("@@u *@@", "") + + return result +end + +local function getContent(content, key) + return content:match("[\r\n]" .. key .. "=([^\r\n]*)") +end + +local function parse(appid) + local content = noctalia.readFile("~/.local/share/applications/" .. appid .. ".desktop") + or noctalia.readFile("/usr/share/applications/" .. appid .. ".desktop") + if not content then + return nil + end + + local data = {} + + local name = getContent(content, "Name") + if name then + data.name = name + end + + local exec = getContent(content, "Exec") + if exec then + data.exec = stripFieldCodes(exec) + end + + local terminal = getContent(content, "Terminal") + if terminal then + data.terminal = terminal == "true" + end + + return data +end + +local function getApps() + local appsTable = {} + + for _, app in ipairs(apps) do + local data = parse(app) + if not data then + noctalia.log("desktop-launcher: invalid desktop entry, skipping " .. app) + continue + end + + table.insert(appsTable, + ui.column({ + fill = "surface", + padding = 8, + radius = 12, + align = "center", + minWidth = 100, + justify = "space_between", + gap = 4, + onClick = function() launchApp(data.exec, data.terminal) end + }, { + ui.image({ + path = noctalia.appIconPath(app), + width = 60, + height = 60, + }), + ui.label({ + text = data.name, + fontWeight = "heavy", + maxWidth = 84, + maxLines = 1, + fontSize = 14, + }) + }) + ) + end + + return appsTable +end + +local function render() + desktopWidget.render(ui.row({ gap = 8 }, + getApps() + )) +end + +function launchApp(exec, terminal) + if terminal then + noctalia.runInTerminal(exec) + else + noctalia.runAsync(exec) + end +end + +render() From ff479337255fcaabcff0d428e8c0b76a905b95ec Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:26:48 +0200 Subject: [PATCH 2/8] refactor: cleaner code --- desktop-launcher/widget.luau | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index 1e933bca..7e9c06aa 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -1,5 +1,3 @@ -local apps = noctalia.getConfig("apps") - -- https://github.com/noctalia-dev/noctalia/blob/main/src/system/desktop_entry_launch.cpp#L45 local function stripFieldCodes(exec) local result = exec:gsub("%%(.?)( ?)", function(nextChar, trailingSpace) @@ -20,30 +18,41 @@ local function stripFieldCodes(exec) return result end -local function getContent(content, key) +local function getContent(appid) + local paths = { + "~/.local/share/applications", + "/usr/share/applications", + } + + for _, path in ipairs(paths) do + local content = noctalia.readFile(path .. appid .. ".desktop") + if content then + return content + end + end + + return nil +end + +local function getKeyContent(content, key) return content:match("[\r\n]" .. key .. "=([^\r\n]*)") end local function parse(appid) - local content = noctalia.readFile("~/.local/share/applications/" .. appid .. ".desktop") - or noctalia.readFile("/usr/share/applications/" .. appid .. ".desktop") - if not content then - return nil - end - + local content = getContent(appid) local data = {} - local name = getContent(content, "Name") + local name = getKeyContent(content, "Name") if name then data.name = name end - local exec = getContent(content, "Exec") + local exec = getKeyContent(content, "Exec") if exec then data.exec = stripFieldCodes(exec) end - local terminal = getContent(content, "Terminal") + local terminal = getKeyContent(content, "Terminal") if terminal then data.terminal = terminal == "true" end @@ -52,6 +61,7 @@ local function parse(appid) end local function getApps() + local apps = noctalia.getConfig("apps") local appsTable = {} for _, app in ipairs(apps) do From 758cc9042a77de0eba14ac22274f69d0aaa7d40b Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:27:05 +0200 Subject: [PATCH 3/8] feat: add flatpak support --- desktop-launcher/widget.luau | 1 + 1 file changed, 1 insertion(+) diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index 7e9c06aa..bf5f013b 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -22,6 +22,7 @@ local function getContent(appid) local paths = { "~/.local/share/applications", "/usr/share/applications", + "/var/lib/flatpak/exports/share/applications", } for _, path in ipairs(paths) do From 1a83d0bf3571555916a2cc9ee6ce3024d3d86eea Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:30:25 +0200 Subject: [PATCH 4/8] desktop files directory priority --- desktop-launcher/widget.luau | 2 ++ 1 file changed, 2 insertions(+) diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index bf5f013b..e8a0701c 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -21,6 +21,8 @@ end local function getContent(appid) local paths = { "~/.local/share/applications", + "~/.local/share/flatpak/exports/share/applications/", + "/usr/local/share/applications", "/usr/share/applications", "/var/lib/flatpak/exports/share/applications", } From 2a09f5fd6165e066006829769f4f73255b73a380 Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 10:33:43 +0200 Subject: [PATCH 5/8] fix: valid paths and content check --- desktop-launcher/widget.luau | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index e8a0701c..c175aecb 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -20,11 +20,11 @@ end local function getContent(appid) local paths = { - "~/.local/share/applications", + "~/.local/share/applications/", "~/.local/share/flatpak/exports/share/applications/", - "/usr/local/share/applications", - "/usr/share/applications", - "/var/lib/flatpak/exports/share/applications", + "/usr/local/share/applications/", + "/usr/share/applications/", + "/var/lib/flatpak/exports/share/applications/", } for _, path in ipairs(paths) do @@ -43,6 +43,10 @@ end local function parse(appid) local content = getContent(appid) + if not content then + return nil + end + local data = {} local name = getKeyContent(content, "Name") From 49b6ff95fed38ebf09cfc6866acce6f34c3a6060 Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Tue, 18 Aug 2026 16:53:51 +0200 Subject: [PATCH 6/8] chore: add thumbnail.webp and plugin description --- desktop-launcher/README.md | 4 +++- desktop-launcher/plugin.toml | 2 +- desktop-launcher/thumbnail.webp | Bin 0 -> 89330 bytes 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 desktop-launcher/thumbnail.webp diff --git a/desktop-launcher/README.md b/desktop-launcher/README.md index 676d4576..f3d746d3 100644 --- a/desktop-launcher/README.md +++ b/desktop-launcher/README.md @@ -1,6 +1,6 @@ # Desktop Launcher -Desktop/lockscreen widget to launch your favorite apps in one click. +Desktop widget to launch your favorite apps from your desktop in one click. ## Plugin @@ -20,3 +20,5 @@ Add it to your desktop/lockscreen widgets using the widget editor. You can confi | `apps` | `string_list` | `` | Apps list and order. | ## Notes + +Flatpak is supported. diff --git a/desktop-launcher/plugin.toml b/desktop-launcher/plugin.toml index 925f5487..428dca15 100644 --- a/desktop-launcher/plugin.toml +++ b/desktop-launcher/plugin.toml @@ -6,7 +6,7 @@ author = "yocraft" license = "MIT" deprecated = false icon = "launcher" -description = "" +description = "Launch your favorite apps from your desktop in one click." tags = [ "desktop", "utility" ] dependencies = [] diff --git a/desktop-launcher/thumbnail.webp b/desktop-launcher/thumbnail.webp new file mode 100644 index 0000000000000000000000000000000000000000..d2067562ba806c2b4932013145cf274ddc8d5d80 GIT binary patch literal 89330 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%0AbcB|Bf;H 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%0D9NGIt<(vpLW6z$! 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 literal 0 HcmV?d00001 From f09a6e8b98be682a44e8c0610b278adc9de63125 Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Thu, 20 Aug 2026 15:30:42 +0200 Subject: [PATCH 7/8] feat: layout config --- desktop-launcher/README.md | 1 + desktop-launcher/plugin.toml | 9 +++++++++ desktop-launcher/translations/en.json | 5 +++++ desktop-launcher/widget.luau | 19 ++++++++++++++++++- 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/desktop-launcher/README.md b/desktop-launcher/README.md index f3d746d3..e9b0a7af 100644 --- a/desktop-launcher/README.md +++ b/desktop-launcher/README.md @@ -18,6 +18,7 @@ Add it to your desktop/lockscreen widgets using the widget editor. You can confi | Setting | Type | Default | Description | | --- | --- | --- | --- | | `apps` | `string_list` | `` | Apps list and order. | +| `layout` | `select` | `rows` | Choose whether items are arranged in rows or columns. | ## Notes diff --git a/desktop-launcher/plugin.toml b/desktop-launcher/plugin.toml index 428dca15..04da51d0 100644 --- a/desktop-launcher/plugin.toml +++ b/desktop-launcher/plugin.toml @@ -24,3 +24,12 @@ entry = "widget.luau" "nvim", ] + [[desktop_widget.setting]] + key = "layout" + type = "select" + label_key = "settings.layout.label" + default = "rows" + options = [ + { value = "rows", label_key = "settings.layout.rows" }, + { value = "columns", label_key = "settings.layout.columns" }, + ] diff --git a/desktop-launcher/translations/en.json b/desktop-launcher/translations/en.json index 9a97710a..af0c7a6e 100644 --- a/desktop-launcher/translations/en.json +++ b/desktop-launcher/translations/en.json @@ -2,6 +2,11 @@ "settings": { "apps": { "label": "Applications" + }, + "layout": { + "label": "Layout", + "rows": "Rows", + "columns": "Columns" } } } diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index c175aecb..169e48e6 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -1,3 +1,16 @@ +local function getConf(key, default) + local value = noctalia.getConfig(key) + if value == nil then + return default + else + return value + end +end + +local config = { + layout = getConf("layout", "rows"), +} + -- https://github.com/noctalia-dev/noctalia/blob/main/src/system/desktop_entry_launch.cpp#L45 local function stripFieldCodes(exec) local result = exec:gsub("%%(.?)( ?)", function(nextChar, trailingSpace) @@ -109,7 +122,11 @@ local function getApps() end local function render() - desktopWidget.render(ui.row({ gap = 8 }, + local layout = config.layout == "columns" and ui.column or ui.row + desktopWidget.render( + layout({ + gap = 8, + }, getApps() )) end From 9adb5e71cb7dd40bf7fc5aaedec9fd6fee0d19f7 Mon Sep 17 00:00:00 2001 From: Yocraft-2000 <304616174+Yocraft-2000@users.noreply.github.com> Date: Thu, 20 Aug 2026 16:25:48 +0200 Subject: [PATCH 8/8] feat: add columns setting and refactor the layout setting to grid_layout --- desktop-launcher/README.md | 3 +- desktop-launcher/plugin.toml | 21 +++--- desktop-launcher/translations/en.json | 9 +-- desktop-launcher/widget.luau | 92 +++++++++++++++++---------- 4 files changed, 79 insertions(+), 46 deletions(-) diff --git a/desktop-launcher/README.md b/desktop-launcher/README.md index e9b0a7af..bd836b90 100644 --- a/desktop-launcher/README.md +++ b/desktop-launcher/README.md @@ -18,7 +18,8 @@ Add it to your desktop/lockscreen widgets using the widget editor. You can confi | Setting | Type | Default | Description | | --- | --- | --- | --- | | `apps` | `string_list` | `` | Apps list and order. | -| `layout` | `select` | `rows` | Choose whether items are arranged in rows or columns. | +| `layout` | `bool` | `false` | Display applications in a grid layout. | +| `columns` | `int` | `5` | Number of columns for the grid layout. | ## Notes diff --git a/desktop-launcher/plugin.toml b/desktop-launcher/plugin.toml index 04da51d0..01dd1628 100644 --- a/desktop-launcher/plugin.toml +++ b/desktop-launcher/plugin.toml @@ -25,11 +25,16 @@ entry = "widget.luau" ] [[desktop_widget.setting]] - key = "layout" - type = "select" - label_key = "settings.layout.label" - default = "rows" - options = [ - { value = "rows", label_key = "settings.layout.rows" }, - { value = "columns", label_key = "settings.layout.columns" }, - ] + key = "grid_layout" + type = "bool" + label_key = "settings.grid_layout.label" + default = false + + [[desktop_widget.setting]] + key = "columns" + type = "int" + label_key = "settings.columns.label" + default = 5 + min = 1 + max = 20 + visible_when = { key = "grid_layout", values = ["true"] } diff --git a/desktop-launcher/translations/en.json b/desktop-launcher/translations/en.json index af0c7a6e..dfacb6ce 100644 --- a/desktop-launcher/translations/en.json +++ b/desktop-launcher/translations/en.json @@ -3,10 +3,11 @@ "apps": { "label": "Applications" }, - "layout": { - "label": "Layout", - "rows": "Rows", - "columns": "Columns" + "grid_layout": { + "label": "Grid Layout" + }, + "columns": { + "label": "Columns" } } } diff --git a/desktop-launcher/widget.luau b/desktop-launcher/widget.luau index 169e48e6..f03488e4 100644 --- a/desktop-launcher/widget.luau +++ b/desktop-launcher/widget.luau @@ -8,7 +8,8 @@ local function getConf(key, default) end local config = { - layout = getConf("layout", "rows"), + grid_layout = getConf("grid_layout", false), + columns = getConf("columns", 5), } -- https://github.com/noctalia-dev/noctalia/blob/main/src/system/desktop_entry_launch.cpp#L45 @@ -80,6 +81,32 @@ local function parse(appid) return data end +local function appBox(app, data) + return ui.column({ + fill = "surface", + padding = 8, + radius = 12, + align = "center", + minWidth = 100, + justify = "space_between", + gap = 4, + onClick = function() launchApp(data.exec, data.terminal) end + }, { + ui.image({ + path = noctalia.appIconPath(app), + width = 60, + height = 60, + }), + ui.label({ + text = data.name, + fontWeight = "heavy", + maxWidth = 84, + maxLines = 1, + fontSize = 14, + }) + }) +end + local function getApps() local apps = noctalia.getConfig("apps") local appsTable = {} @@ -91,44 +118,43 @@ local function getApps() continue end - table.insert(appsTable, - ui.column({ - fill = "surface", - padding = 8, - radius = 12, - align = "center", - minWidth = 100, - justify = "space_between", - gap = 4, - onClick = function() launchApp(data.exec, data.terminal) end - }, { - ui.image({ - path = noctalia.appIconPath(app), - width = 60, - height = 60, - }), - ui.label({ - text = data.name, - fontWeight = "heavy", - maxWidth = 84, - maxLines = 1, - fontSize = 14, - }) - }) - ) + table.insert(appsTable, appBox(app, data)) end return appsTable end +local function getRows(apps) + local rows = {} + local row = {} + + for i, app in ipairs(apps) do + table.insert(row, app) + + if #row == config.columns or i == #apps then + table.insert(rows, + ui.row({ gap = 8 }, row) + ) + + row = {} + end + end + + return rows +end + local function render() - local layout = config.layout == "columns" and ui.column or ui.row - desktopWidget.render( - layout({ - gap = 8, - }, - getApps() - )) + local apps = getApps() + + if config.grid_layout then + desktopWidget.render(ui.column({ gap = 8, }, + getRows(apps) + )) + else + desktopWidget.render(ui.row({ gap = 8, }, + apps + )) + end end function launchApp(exec, terminal)