-
Notifications
You must be signed in to change notification settings - Fork 526
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add simple menu for better UX #660
Conversation
I haven't tested this yet. And I'm generally speaking against external dependencies. Again, I have to see how this looks and what it actually does. Just throwing my thought out there that I'm not against it (we just need to keep in mind that some packages are not on the ISO and we don't want to grow the ISO more than we have too even if we're just talking about a few Kb here and there). |
Thanks for the feedback. |
hi there,
blind user here,
what inpact will this simple menu have on the accessibility of archinstall?
is this simple menu number based?
e.g
1 english, 2 spanish, etc?
best way of testing the accessibility of these changes is to boot from
the arch iso when the boot prompt comes up down arrow once and press
enter it will launch the screen reader.
I hope that accessibility is not broken with this.
Majid
…On 10/12/21 12:00, Daniel wrote:
Thanks for the feedback.
All the code in the simple-menu dependency is actually all in a single
file. If you want to avoid dependencies then there's the simple option
to copy that in manually as well.
Updates have to be done manually as well then tho.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#660 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ASDFWN6CVZSANME2P4FC26DUGQIM7ANCNFSM5FZ6XYZQ>.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
Hi, I'm glad you took this up. |
Hey @Torxed , |
I've tried to run it a couple of times, due to my debugging setup it took a bit longer than expected. Once those changes are done, I'll test again and I'll test availability with screen reader as well : ) |
@Torxed I updated the PR, I think I addressed all comments. Let me know if you have any other concerns or questions |
Looks better, while I run a few more tests. Can you updated requirements.txt so that we don't loose the dependency? |
You mean create a |
Ah yea my bad. Forgot we moved from |
Hey @Torxed , |
Not yet, I'll test this one and my other 3-4 PR's I submitted today. Most likely on Wednesday when I'm back at a computer with proper internet. I'm limited to 56k modem speeds for a few days. |
Awesome thanks! |
This PR adds a bit of flare to the menu by adding colors and a better interactive selector. The Text to Speech still works. But it will need some modification to the text output. For instance it's a bit unclear that you can/should use the arrow keys to navigate the menu items, and that you start on the first menu item. One drawback is that it always clears the previous output (something some of our menu screens do as well) and is not desirable I think. It's not the end of the world, but it does mean that some overview of the process gets removed. And with the removal of tty history the config at the end can not be viewed fully either, which maybe makes the clearing of the screen a bit more of a problem today. I think I'm still in favor of this PR. |
Thanks for the review. I'm planning on a next PR to address the remaining old menu selection in the manual partitioning process. Also I can play around with displaying already chosen options while going through the menu which could serve as a history in a way. But it would be something in a subsequent PR if there's interest to merge this one and worth the effort that way :) |
I think that would be good for now, unless someone else has objections (they might after your finished, it happens) I don't see why this isn't a better step towards handling menus. Instead of trying to save the previous menu options, perhaps we can have a final menu at the end outputting the result Obviously, that would be for the next version of the menu handling perhaps. |
@Torxed I like the idea of having a final version of the options displayed with the possibility to change them again. Just to understand, if you would like to wait until 2.4.0 to include it, would we keep it open until then or is it possible to merge it and just not release it? Not sure how the release process works, if it's taking the most recent master it will be tricky I suppose... |
@svartkanin Lets copy it over! : ) Reasoning: Bare in mind that all dependencies has to be a Arch Linux package for the inclusion to work, we don't use/avoid relying on pip or similar alternatives to include dependencies. There for, the source has to be included in archinstall or be left omitted I believe. I'm not sure too which scale that would alter the source code, since the code is written around API calls, and Yes, we would keep it open (and work on if you wish) until we'ved released v2.3.0 (which is bound to happen really soon), after which we can happily merged this into master if we deem the PR stable (which it kinda is with the option we've got here). If we merge it into master then any new features or changes to this functionality would be a new PR - but until then it's free for all on this branch and we'll merge once stable again : ) |
Fixed and merged in this branch & pr's changes to |
This file is copied over from the simple-term-menu project | ||
(https://github.com/IngoMeyer441/simple-term-menu) | ||
In order to comply with installation methods of Arch Linux. | ||
We here by copy the MIT license attached to the project at the time of copy: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
here by -> hereby.
time of copy -> time of copying.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, I will correct the phrases!
archinstall/lib/menu.py
Outdated
self.menu_options = [default] + [o for o in self.menu_options if default_option != o] | ||
|
||
cursor = "> " | ||
main_menu_cursor_style = ("fg_red", "bold") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not a huge fan of this color scheme. Maybe we could go with something close to the Arch blue to match?
DEFAULT_CYCLE_CURSOR = True | ||
DEFAULT_EXIT_ON_SHORTCUT = True | ||
DEFAULT_MENU_CURSOR = "> " | ||
DEFAULT_MENU_CURSOR_STYLE = ("fg_red", "bold") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
might need changed here as well.
@svartkanin Could you merge in svartkanin#1? I think the look is a lot better and it makes it match the Arch color scheme. |
@dylanmtaylor That's good, I'll have a look and merge it as soon as I get back to the computer |
I'm wondering how the accessibility of this menu system is with espeak - just saw an issue from a blind user and it made me think of this change |
I've tried it, so far no issues that I can distinguish. |
@dylanmtaylor I left a comment on the PR |
I suppose it makes sense to not touch the upstream file. I made a commit to remove the change to default menu cursor |
My biggest concern is how it would handle conveying which item is selected. |
Oddly enough, it works near realtime. |
Update color scheme to match Arch style better
@Torxed I saw release 2.3.0 is out, are there any more concerns with this PR or could we consider merging it? |
This is currently targeting 2.4.0, I think it'll be part of the n+2 release, as IIRC a 2.3.1 was planned. |
Correct. A few things that might need patching. But I could potentially crate a branch of 2.3.0 and cherry-pick certain improvements here and there. I don't think 2.3.1 would be very huge or even relate to v2.4.0. so might be worth doing that, merge this PR into master and all master work goes towards v2.4.0 which will be the larger project? |
I suppose we could make a branch called future-2.3.1 or something and release a version of that which will ship in Jan, and then use master for 2.4.0 development and merge this PR into master. You'd still be able to cherry-pick into 2.3.1 that way. |
Merged, I created v2.3.1-dev for development on the future version v2.3.1 which will contain some minor fixes, and master can continue as usual for "every day development" towards future things to come (v2.4.0 mainly). |
@svartkanin Great job on this one, I'm pretty sure it wasn't crystal clear where to change things and replace all the menu options. So thank you for taking the time to dig through the source! |
Sounds good! |
@Torxed it's a really great project and i was very happy to start contributing to it. I'll continue updating things on the menu part but would also like to stqrt picking up other things :) |
I'm not perfect at updating this, but the milestones should broadly represent things we know we want in specific releases: https://github.com/archlinux/archinstall/milestones I usually do most of the partitioning work because it's a PITA, but feel free to pick up anything you want :) All PR's are welcome, not all make it into |
Great I'll have a look to see where i can help out |
This PR adds the simple menu (https://github.com/IngoMeyer441/simple-term-menu) as a new selection menu to enhance the UX of the guided user flow.
It has been suggested in issue #655 and this PR changes most selection menus to use the new layout.
The only part where it still uses the old one is during manual partitioning. The reason for that is that I think there are some bugs in the partitioning code and it kept exploding when I was going through the flow in master. Therefore, I decided to leave that one as is and fix the bugs first and only after switch it over to the new layout as well.
Edit: This will fix #173 (I can't link earlier issues to newer PR's because the issues was created before the move from Torxed/archinstall to archlinux/archinstall)