Update nightwatch75/topgrade-wrapper to 0.0.6 (#215)
Co-authored-by: nightwatch75 <nightwatch75@users.noreply.github.com>
This commit is contained in:
co-authored by
nightwatch75
parent
676b9f9528
commit
7a9c1c017a
@@ -12,6 +12,18 @@
|
|||||||
local STATE_KEY = "topgrade_state"
|
local STATE_KEY = "topgrade_state"
|
||||||
local REQUEST_KEY = "topgrade_request"
|
local REQUEST_KEY = "topgrade_request"
|
||||||
|
|
||||||
|
-- Read out of the plugin's own manifest (readFile resolves a relative path
|
||||||
|
-- against the plugin directory), so the header cannot drift from the version
|
||||||
|
-- the store shows. Empty when unreadable — a missing version is not worth an
|
||||||
|
-- error line in the panel.
|
||||||
|
local pluginVersion = (function()
|
||||||
|
local text = noctalia.readFile("plugin.toml")
|
||||||
|
if type(text) ~= "string" then
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
return ("\n" .. text):match('\nversion%s*=%s*"([^"]+)"') or ""
|
||||||
|
end)()
|
||||||
|
|
||||||
local snapshot = nil
|
local snapshot = nil
|
||||||
local expanded = {} -- manager key -> the package list is open
|
local expanded = {} -- manager key -> the package list is open
|
||||||
local hoverKey = nil -- package row currently under the pointer
|
local hoverKey = nil -- package row currently under the pointer
|
||||||
@@ -331,14 +343,21 @@ render = function()
|
|||||||
local hasUpdates = totalOf() > 0 and (phase == "ready" or phase == "running")
|
local hasUpdates = totalOf() > 0 and (phase == "ready" or phase == "running")
|
||||||
|
|
||||||
local children = {
|
local children = {
|
||||||
ui.row({ gap = 8, align = "center" }, {
|
-- Every child of the header carries a stable key, so the reconciler
|
||||||
|
-- matches roles instead of guessing by position and type.
|
||||||
|
ui.row({ key = "header", gap = 8, align = "center" }, {
|
||||||
ui.label({
|
ui.label({
|
||||||
|
key = "title",
|
||||||
text = tr("title"),
|
text = tr("title"),
|
||||||
fontSize = 16,
|
fontSize = 16,
|
||||||
fontWeight = "bold",
|
fontWeight = "bold",
|
||||||
color = "on_surface",
|
color = "on_surface",
|
||||||
flexGrow = 1,
|
|
||||||
}),
|
}),
|
||||||
|
-- Version off the manifest, small and dimmed: it answers "which
|
||||||
|
-- build am I running" without competing with the title. The spacer
|
||||||
|
-- rather than a flexGrow title keeps the two together on the left.
|
||||||
|
ui.label({ key = "version", text = pluginVersion, fontSize = 10, color = "on_surface_variant" }),
|
||||||
|
ui.spacer({ key = "gap", flexGrow = 1 }),
|
||||||
ui.button({
|
ui.button({
|
||||||
key = "header-check" .. (busy() and "-off" or ""),
|
key = "header-check" .. (busy() and "-off" or ""),
|
||||||
glyph = "refresh",
|
glyph = "refresh",
|
||||||
@@ -353,6 +372,7 @@ render = function()
|
|||||||
-- supplies the plugin id, so a plugin can only ever open its own).
|
-- supplies the plugin id, so a plugin can only ever open its own).
|
||||||
-- The panel closes on the way; the engine keeps running.
|
-- The panel closes on the way; the engine keeps running.
|
||||||
ui.button({
|
ui.button({
|
||||||
|
key = "settings",
|
||||||
glyph = "settings",
|
glyph = "settings",
|
||||||
variant = "ghost",
|
variant = "ghost",
|
||||||
tooltip = tr("tip_settings"),
|
tooltip = tr("tip_settings"),
|
||||||
@@ -361,6 +381,7 @@ render = function()
|
|||||||
end,
|
end,
|
||||||
}),
|
}),
|
||||||
ui.button({
|
ui.button({
|
||||||
|
key = "close",
|
||||||
glyph = "close",
|
glyph = "close",
|
||||||
variant = "ghost",
|
variant = "ghost",
|
||||||
tooltip = tr("tip_close"),
|
tooltip = tr("tip_close"),
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
id = "nightwatch75/topgrade-wrapper"
|
id = "nightwatch75/topgrade-wrapper"
|
||||||
name = "Topgrade Wrapper"
|
name = "Topgrade Wrapper"
|
||||||
version = "0.0.4"
|
version = "0.0.6"
|
||||||
plugin_api = 15
|
plugin_api = 15
|
||||||
author = "nightwatch75"
|
author = "nightwatch75"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|||||||
@@ -48,6 +48,12 @@ local MAX_LISTED = 200
|
|||||||
-- `name<TAB>installed<TAB>available`. Either version may be empty
|
-- `name<TAB>installed<TAB>available`. Either version may be empty
|
||||||
-- when the tool does not report it.
|
-- when the tool does not report it.
|
||||||
--
|
--
|
||||||
|
-- Every query — and the dry run itself — is spawned with `export LC_ALL=C;` in
|
||||||
|
-- front of it: these parsers key off English words and fixed column layouts
|
||||||
|
-- (`^Inst `, the zypper table, the pip header), which a translated system turns
|
||||||
|
-- into gibberish. Reported upstream from a French desktop (community-plugins
|
||||||
|
-- #204). The interactive run is deliberately left in the user's own locale.
|
||||||
|
--
|
||||||
-- The count is simply how many lines came back, so the number on the bar and the
|
-- The count is simply how many lines came back, so the number on the bar and the
|
||||||
-- list the panel expands are the same answer to the same question, asked once:
|
-- list the panel expands are the same answer to the same question, asked once:
|
||||||
-- no second round trip to a mirror, and no way for the two to disagree.
|
-- no second round trip to a mirror, and no way for the two to disagree.
|
||||||
|
|||||||
Reference in New Issue
Block a user