Age | Commit message (Collapse) | Author |
|
This also tidies up the logic for changing the selected element from
context menus to the menubar, fixing a bug where the menubar forgets
which element was selected before it, and not re-introducing the bug
which the complex logic fixed in the first place (which was the menubar
seeing the context menu as the previously selected element, when the
menu will be destroyed by the time the menubar restores its selection).
|
|
So pressing a/c (:33) in the menubar will now cause a rerender.
|
|
|
|
Please don't ever let me stay up until 29:57 again. Future me will thank
you in advance.
|
|
Currently uses meta+(c, x, n, p, up, down) keys as the only interaction
method, but that'll change soon!
|
|
I _love_ the KeyboardSelector tool.
|
|
Currently bug-free and doesn't change anything about existing mtui
behavior! Meta N to create a new player, meta up/down to switch between
which one you're interacting with. Each player has its own queue.
Eventually (soon(TM)) there'll be much better UI to go with all this!
|
|
...in reveal(). This fixes the bug where the revealed track would always
be positioned at the bottom of the screen, which happened because
reloading the listing reset the scroll index back to the top.
|
|
|
|
This makes the pause indicator (next to the time remaining in the queue)
work again.
|
|
|
|
|
|
|
|
Although we don't have any context menu options which start with the
letter G yet, if we did, the keyboard selector would (intentionally)
take priority and focus that element instead of doing jump to start/
bottom behavior. However, pressing Home/End will always work (once it's
implemented).
|
|
|
|
This means we can basically guarantee 0% CPU usage when nothing on the
screen is changing! There may still be some kinks to work out, but I've
tested most features and fixed any apparent bugs (including an unrelated
bug in the suspend feature which made it crash when resuming the process).
|
|
Also make it caseless: q = Q. See todo.txt (which also has a large new
note regarding duplicates in the selection system).
|
|
|
|
I'd forgotten to pass the reprocess flag through!
|
|
|
|
I didn't end up using this.
|
|
...by default.
|
|
|
|
|
|
...a single one. This is working towards letting multiple context menus
be open at once.
|
|
|
|
Maybe there'll be a better key than L for isFocusLabels later. We'll
see!
|
|
Dragging works too, as implemented earlier.
|
|
...instead of shift+up/down, which I'm going to make select items in
listings (ala graphical file browsers).
|
|
|
|
|
|
|
|
This takes the place of the number of direct children items (opting to
show just the total number of tracks).
|
|
...into its own function. To be used to get the total duration string of
a grouplike.
(This is stored on the backend instead of a more general playlist-utils
function because it requires access to the metadata code specific to
mtui.)
|
|
|
|
|
|
|
|
|
|
I.e, provide access to all options when multiple tracks are selected in
the queue.
|
|
|
|
|
|
|
|
|
|
...in PathElements. Particularly, in the queue listing, which is often
too thin to display even a single group name.
|
|
|
|
|
|
|
|
I don't think I'm going to disable controls in the telnet client (by
default?), but it's good to have this implemented anyway.
|
|
Oops!
|
|
Suspending doesn't really mean anything unless you're an actual process!
|