-
Notifications
You must be signed in to change notification settings - Fork 8
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
Discussion PR - AppMenu + python3 #3
base: master
Are you sure you want to change the base?
Conversation
How shit :) you've been working on this for a long time. Meanwhile, do you mind splitting the Python3 changes into a separate pull request? That I could merge that easily. Hmm... taking a longer look, it seems you've changed things quite a bit for Python 3. I'm wondering if termenu should support Python 2, Python 3, or both. Not sure yet. Also, it might make sense for the App project to be separate, but perhaps dependent on termenu. We could do the required changes in termenu core to support the plugin points you need. Finally, I'm super excited you're still tinkering with this. Honestly I haven't looked at the termenu code for ages. |
I've used it a lot at XIV, and I wanna use this now at Weka. I feel AppMenu should be its own project - coupling it with termenu makes it prohibitively complex and harder to maintain. Maybe some pair-programming is in order... |
What came out of your work in the end? Did you create a separate project? Looking at some of the requirements you've implemented, it might be easier to do the kind of menu you were aiming at with curses, which is full screen by default and might be better suited for the task. Something like this perhaps: |
09e49f3
to
e407c68
Compare
- replace markers with unicode chars, for better readability - make it customizeable, via ~/.termenu/app_chars.py
to support menus loaded while *inside* the menu-loop
fix: make termenu installable with --editable (WEKAPP-81981)
Hi!
I've added an 'App' layer on top of termenu that allows it to act as a pretty dynamic and rich terminal-based menu application. You can go in and out of sub-menus, preserving selections at each level, invoking actions on selected items, all in OOP/functional style. Admittedly, it is not as straightforward as I'd like it to be (to a some extent because of the reliance on Termenu's own plugins model, and trying to keep it decoupled from the App level), but it has enabled a great UX where I've implemented it.
I've provided some examples of the feature-set (examples are somewhat awkward, hopefully the idea comes across).
I'm all open to the idea of detaching it from the Termenu core and developing separately with the due credits to its inspiration.
Oh, and there's also a bunch of python2/3 compatibility fixes with this.