Skip to content

Conversation

@svartkanin
Copy link
Collaborator

@svartkanin svartkanin commented Dec 15, 2025

This PR migrates all menus to the textual framework introduced with #3879.

The current implementation is creating a new textual app and destroying it with every menu/submenu which is not how it is supposed to be.
The final version will use a single app instance and switch between screens smoothly but to keep things (somewhat) manageable, that change will be done in a follow-up PR in which the code will be moved to an async model (see the wifi screen that is already doing that https://github.com/svartkanin/archinstall/blob/fdb002fa31471d86e1d5e99bc6ec4c21ba1a3b15/archinstall/lib/network/wifi_handler.py?plain=1#L1)

I have tested everything somewhat but not extensively yet. I have opened the PR regardles for now in case someone wants to have a go at it and provide some feedback.

[X] Test everything thoroughly

@svartkanin svartkanin requested a review from Torxed as a code owner December 15, 2025 11:19
@h8d13
Copy link
Contributor

h8d13 commented Dec 16, 2025

Looks cool @svartkanin :D

Tested a little bit, I came across was f1 help screen crashed and user setup screen was missing should user be sudo text and preview for this has 2 screens

The rest seems like it's already fully functional (considering what you said about the flicker), like how you can use cursor, very bamby friendly 🖱️

Would be cool to add globally visible hints for esc go back ctrl+c clear a field enter : confirm space/tab : select multiple / : search

Then more specific go in help screen ?

@svartkanin
Copy link
Collaborator Author

Thanks @h8d13 for testing!

  • Fixed the select sudo header
  • Can you share a screenshot or error that you get for the f1 help screen crash? I cannot reproduce that
  • Not sure what you mean with preview for this has 2 screens

Daniel Girtler added 2 commits December 17, 2025 16:59
@h8d13
Copy link
Contributor

h8d13 commented Dec 17, 2025

My bad was missing pacman -S python-linkify-it-py for f1 crash.

For my other point sorry was not clear I meant when you are in the submenu
image

It shows you the overview again but the Esc key doesn't register to go back to main menu, same when you are here: (Need to use arrows menu 2x instead of pressing Esc to go back like in the rest, applies to other submenus too, would be nice to have kb handling)

image

Let me know if you have anything specific, you need tested :) Or need help with something !

@svartkanin
Copy link
Collaborator Author

Most submenus (The ones with a Back option) don't have a support for Esc as that's reserved for leaf selection menus. That behavior exists already

@h8d13
Copy link
Contributor

h8d13 commented Dec 17, 2025

Yeah I thought it would be a good thing if it also worked in these menus reduce keys needed to get around

Had another question, I saw that runners were going to be more restrictive (and paid) for github and always thought the ISO one takes a while (seems unnecessary for smaller changes) .

Is there anyway we can disable it unless on major releases/needed ?

@Torxed
Copy link
Member

Torxed commented Dec 26, 2025

I like this, and I think there's only one thing that we might need to address first (and then I'll leave some general things i noticed while trying that we don't need to fix now)

Issue

  • The espeekup doesn't work, when you select a menu entry it doesn't read the entry, it just repeats the titlebar "archinstall"

    rec.mp4

For later

  • Selecting "Use best effort partitioning" and then highlight an entry and pressing enter, doesn't select+continue, it does nothing. You have to use space to select an entry before hitting enter.
  • I can't go into partitioning and de-select a partition if I want to un-do my chosen setup (lets say I changed my mind, and pre-mounted things, and now want to un-select the partition i selected)

There's also a small anomaly that I don't think is related to this PR at all, but I'm noting it down because it kept happening:

  • When selecting a mirror region, it gets stuck on loading the region list (with the new cool loader animation). And it feels like a timeout on the retrieval of the list and the menu system doesn't detect the timeout/error.

@Torxed
Copy link
Member

Torxed commented Dec 26, 2025

We might need to change the header color combo too.
I suspect the contrast for color blind people might be frustrating on the title bar:

image

This might be nitpicking tho :)

self._update_selection()

def update_selection(self) -> None:
def action_focus_left(self) -> None:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wonder if here, we can somehow use .notify() and perhaps hide the Toast with CSS? As espeakup appears to read those texts.

If you don't have a more clever solution to making espeakup understand the menu changes ofc.

@Torxed Torxed mentioned this pull request Dec 26, 2025
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.

3 participants