all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH cluster/manager/yew-mobile-gui v6 0/4] Configurable window titles for nodes
@ 2026-10-20 11:23 Thomas Ellmenreich
  2026-10-20 11:23 ` [PATCH cluster v6 1/4] datacenter config: add ui settings Thomas Ellmenreich
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Thomas Ellmenreich @ 2026-10-20 11:23 UTC (permalink / raw)
  To: pve-devel; +Cc: Thomas Ellmenreich

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




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-20 11:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-20 11:23 [PATCH cluster/manager/yew-mobile-gui v6 0/4] Configurable window titles for nodes Thomas Ellmenreich
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

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.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal