From: Thomas Ellmenreich <t.ellmenreich@proxmox.com>
To: pve-devel@lists.proxmox.com
Cc: Thomas Ellmenreich <t.ellmenreich@proxmox.com>
Subject: [PATCH cluster/manager/yew-mobile-gui v6 0/4] Configurable window titles for nodes
Date: Tue, 20 Oct 2026 13:23:16 +0200 [thread overview]
Message-ID: <20261020112321.249890-1-t.ellmenreich@proxmox.com> (raw)
Thank you @Dominik, @Thomas, @Elias, @Arthur for your comments.
Configurable window titles for nodes
====================================
Currently the window title is fixed to the following string:
$nodename - Proxmox Virtual Environment
This has become problematic for users with multiple clusters, each containing
the same node name. To help distinguish between tabs, it has been requested [1]
that the window title be made configurable with the fqdn as an option.
Implementation
--------------
After considering the different options, I have deemed a server side
implementation, through the datacenter.cfg, to be the better option.
Specifically because of its durability across sessions and because it
automatically configures the title for all users and all nodes across the
cluster.
The config now contains a new ui-settings format string which then in turn
contains a 'title' enum field for the window title. This enum string will then
be converted to a window title and inserted in the index.html.tpl template on
every request.
The current enum options are:
- default - Displays the default '$nodename - Proxmox Virtual Environment' string
if the config enum is not present
- 'node-and-cluster' - Displays the nodename and then the clustername in the
following style: '$nodename - $clustername - Proxmox Virtual Environment'
- 'fqdn' - Displays the current fqdn as returned by `PVE::Tools::get_fqdn()`
like so: '$fqdn - Proxmox Virtual Environment'
Possible future extensions
--------------------------
- If proper cross-node user settings are implemented in the future, they could
be used to allow users to define their own window title settings and have
these settings be persisted across sessions
- One of the selection options for window titles could be a user defined
template string which would allow users of PVE to define their own
window titles.
Changelog
---------
* v5 -> v6
- In v5 I added a cache that contains the fqdn and a timestamp at which
it was fetched, after Arthur's comments [2]. The cache was then refreshed
after 24h passed. In the new version, I now set the exact time for refresh
instead of the time of insertion. This allows for a different refresh
time, in the case that fetching the fqdn fails.
- The `get_window_title_prefix` helper never actually died if the contained
eval block returned an error. I delayed the returning of the prefix so that
the subroutine may die with the context.
- Since `get_window_title_prefix` can fail, I moved it after the language
setting, since setting the correct language is of greater importance.
- Made the same changes to the index file of the mobile ui, since it will
access the same pve-manager backend.
- Split the pve-manager patch into two separate patches, so that the
window title part may be reverted without reverting the ui-settings
setup.
- If an error is thrown inside the `get_window_title_prefix` utility, it now
has the trailing newline removed, if there is one.
* v4 -> v5
- When the window title is set to fqdn, cache it instead of fetching it on
every request. The fetch happens on restart and every 24 hours.
- Reordering of the window title construction so that it will always fall
back to the original default.
- In the settings overview, the window title settings are now properly shown
instead of showing the enum value.
- Wrapped some text with 'gettext'.
- Reordering of the patches since the (now) second one depends on the
first one.
* v3 -> v4
- rebased on master
* v2 -> v3
- The creation of the final title is now wrapped in an 'eval' block to catch
any exceptions. If an error occurs or the return value is undefined, the
default title is shown.
- `get_fqdn` is now correctly called with the $nodename. Thanks @Elias ;)
- The combo box showing the title options now displays descriptive names for
the different options instead of an example of what the real title would
look like.
* v1 -> v2
- Instead of storing the 'window-title' setting directly in the datacenter.cfg
its now nested in a more general 'ui-settings' format string. This allows
easier expansion in the future
- All adjustments that were needed to create the 'ui-settings' format string
* RFC -> v1
- change of the `datacenter.cfg` setting title from "windowtitle" to
"window-title"
- renamed `nodeandcluster` to `node-and-cluster`
- added the " - Proxmox Virtual Environment" trailer to all titles
- removed the questions from this text and added the "Possible future
extensions" section
[1]: https://bugzilla.proxmox.com/show_bug.cgi?id=5475
[2]: https://lore.proxmox.com/pve-devel/wwvnuxg2padjlnxbzjgq6u7ur2if4yx5zazox45oyrinphblzu@uevfbnmvhdfw/
pve-cluster:
Thomas Ellmenreich (1):
datacenter config: add ui settings
src/PVE/DataCenterConfig.pm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
pve-manager:
Thomas Ellmenreich (2):
ui: add cluster level ui settings
fix #5475: ui: enable configurable window title
PVE/Service/pveproxy.pm | 45 ++++++++++++++++++++++++
www/index.html.tpl | 2 +-
www/manager6/UIOptions.js | 6 ++++
www/manager6/dc/OptionView.js | 64 +++++++++++++++++++++++++++++++++++
4 files changed, 116 insertions(+), 1 deletion(-)
pve-yew-mobile-gui:
Thomas Ellmenreich (1):
fix #5475: template: use new window-title in index template
debian/control | 1 +
index.html.tpl | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
Summary over all repositories:
7 files changed, 143 insertions(+), 2 deletions(-)
--
Generated by murpp 0.12.0
next reply other threads:[~2026-10-20 11:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 11:23 Thomas Ellmenreich [this message]
2026-10-20 11:23 ` [PATCH cluster v6 1/4] datacenter config: add ui settings Thomas Ellmenreich
2026-10-20 11:23 ` [PATCH manager v6 2/4] ui: add cluster level " Thomas Ellmenreich
2026-10-20 11:23 ` [PATCH manager v6 3/4] fix #5475: ui: enable configurable window title Thomas Ellmenreich
2026-10-20 11:23 ` [PATCH pve-yew-mobile-gui v6 4/4] fix #5475: template: use new window-title in index template Thomas Ellmenreich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261020112321.249890-1-t.ellmenreich@proxmox.com \
--to=t.ellmenreich@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.