Skip to content

feat: GNOME-style welcome, terminal launcher config, and UX polish - #4

Merged
leandromqrs merged 1 commit into
mainfrom
feat/installer-ux
Jul 27, 2026
Merged

feat: GNOME-style welcome, terminal launcher config, and UX polish#4
leandromqrs merged 1 commit into
mainfrom
feat/installer-ux

Conversation

@leandromqrs

Copy link
Copy Markdown
Member

Welcome page (GNOME Initial Setup style):

  • edge-to-edge banner (no margins or rounded frame) and a greeting carousel cycling "Welcome" through the pinned languages every 5 s, filtered by font coverage, mirroring GisWelcomeWidget

Terminal launcher:

  • new [terminal] section in sirius.toml (command, show_button); the header-bar button is hidden by default and Ctrl+Shift+P always opens the configured terminal

Time zone page:

  • drop the libgweather dependency; the chooser is backed only by the tzdb tables, like GNOME Initial Setup
  • the selected city shows as a permanent label above the pin (name, zone, UTC offset, local time) instead of a hover tooltip

Language & keyboard pages:

  • selection now uses the default Adwaita selected-row background instead of a check mark; the "More…" expander row is gone (the list scrolls)

Network page:

  • rows connect on activation (no oversized Connect button); rescan is a flat refresh icon pinned to the group header, outside the scroll area so the scrollbar never covers it

Storage page:

  • disk picker rows use real grouped GtkCheckButton radios instead of a custom check mark

Chooser lists (language, keyboard, network):

  • suppress the GTK undershoot shadow that grayed the card's bottom edge and corners whenever the list could scroll

i18n:

  • set_ui_language now also setlocale()s the chosen locale: on the live ISO the process starts in the C locale (empty service environment), where glibc gettext ignores LANGUAGE entirely
  • language page logo capped with GtkImage pixel_size instead of a GtkPicture that let the intrinsic PNG size win

Tests:

  • interactive GTK tests now run on a single GTK-owning thread (GTK can only be initialized from one thread); new assertions for arrow centering, welcome banner/greetings, pin label, C-locale language switch, and radio-less timezone search

Welcome page (GNOME Initial Setup style):
- edge-to-edge banner (no margins or rounded frame) and a greeting
  carousel cycling "Welcome" through the pinned languages every 5 s,
  filtered by font coverage, mirroring GisWelcomeWidget

Terminal launcher:
- new [terminal] section in sirius.toml (command, show_button); the
  header-bar button is hidden by default and Ctrl+Shift+P always opens
  the configured terminal

Time zone page:
- drop the libgweather dependency; the chooser is backed only by the
  tzdb tables, like GNOME Initial Setup
- the selected city shows as a permanent label above the pin (name,
  zone, UTC offset, local time) instead of a hover tooltip

Language & keyboard pages:
- selection now uses the default Adwaita selected-row background instead
  of a check mark; the "More…" expander row is gone (the list scrolls)

Network page:
- rows connect on activation (no oversized Connect button); rescan is a
  flat refresh icon pinned to the group header, outside the scroll area
  so the scrollbar never covers it

Storage page:
- disk picker rows use real grouped GtkCheckButton radios instead of a
  custom check mark

Chooser lists (language, keyboard, network):
- suppress the GTK undershoot shadow that grayed the card's bottom edge
  and corners whenever the list could scroll

i18n:
- set_ui_language now also setlocale()s the chosen locale: on the live
  ISO the process starts in the C locale (empty service environment),
  where glibc gettext ignores LANGUAGE entirely
- language page logo capped with GtkImage pixel_size instead of a
  GtkPicture that let the intrinsic PNG size win

Tests:
- interactive GTK tests now run on a single GTK-owning thread (GTK can
  only be initialized from one thread); new assertions for arrow
  centering, welcome banner/greetings, pin label, C-locale language
  switch, and radio-less timezone search
@leandromqrs leandromqrs self-assigned this Jul 27, 2026
@leandromqrs
leandromqrs merged commit 7307a93 into main Jul 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant