Age | Commit message (Collapse) | Author |
|
Items in the queue now have a menu, and if you pick "play later" from it
(the other option is "remove from queue"), it'll move that item into
somewhere further down in the queue. If it was already playing when you
select play later, it'll first skip it, then move it.
|
|
* Menus opened from the queue wouldn't work before. Now they do.
(Well, there's no code for them yet, but there was when I was
testing.)
* Rebuilding the items of a listing while it's selected doesn't reset
the selection (i.e. select AppElement -> Tabber -> left pane). So you
can remove an item from the queue and have focus remain on the queue,
at the index where the item you removed was.
|
|
|
|
|
|
AKA, prevent left/right from bubbling (I already intended this to happen
but I forgot a required return false).
|
|
|
|
|
|
If you press enter in the JumpElement form while it's still empty,
automatically treat the previously-entered input as the entered value,
so that it's easy to quickly do a "repeated" search (you don't have to
enter the same value over and over again).
|
|
Well, not the current index; rather the index which was selected when
the jump element was opened.
|
|
Previously the cursor would only follow the selected track if it was
selected by shift-up/down; now it works if it's automatically played
(i.e. by the previous song finishing).
|
|
Click to switch tab, scroll over the tab list to quickly switch to the
previous or next tab.
|
|
|
|
|
|
Basically, support for cors-anywhere.
(Cherry-picked from web-mtui branch)
|
|
|
|
|
|
|
|
Somebody remind me to write unit tests...
|
|
This was already half-done, but the new behavior in this commit feels
quite a bit nicer. (Specifically if you use shift-up/down (or n/p) while
the queue is selected, the cursor will move to the new selection if it
was already on the old selection, whereas before it would never follow
when the queue was selected.)
|
|
|
|
This also makes it so that the selected options in whereControl and
orderControl stay the same when you open the context menu on a different
item, browse a different group, etc.
|
|
E.g. to interweave two groups together.
|
|
|
|
This should be more intuitive and useful...most of the time. :)
|
|
Cool! This was one of my favorite tiny features of http-music.
|
|
Not a lot of new potential utility here for now, but it's at the least
easier to use and cleaner than the old look! Also.. shuffle-groups
soon(TM). Maybe!
|
|
|
|
|
|
Used to access a menu for the playlist that's currently being browsed.
Particularly handy for working with the top-level group, since you can't
access its menu any other way. Also useful for quickly acting on a group
you opened from (for example) a PathElement.
|
|
I didn't have any luck optimizing buildItems though. It might be
something to come back to some other time. (It's already quick enough to
be usable, even on modland.json, that's for sure!)
|
|
This doesn't impact performance noticeably, it's just a code nitpick.
|
|
Now you can browse modland.json at your leisure, without the fear of
waiting 10 seconds every time you so much as move your cursor!
|
|
|
|
Mouse is no longer tracked once the process exits, so scrolling the
terminal after closing mtui should work.
|
|
TL;DR mouse should work more reliably within tmux.
|
|
Scroll up/down to seek, click to toggle pause.
|
|
'Cuz hey, why not?
|
|
|
|
Just to see if I can optimize tui-lib's ansi diffing.
|
|
|
|
This way you can activate the menu without taking your right hand off
the arrow keys (in typical keyboards).
|
|
It's not really practical for use right now. Well, more like I haven't
figured out *what* the "ordinary use" is.
|
|
|
|
Oops! I got rid of (well, tweaked) the concepts of "real" and "fake"
rows, but forgot to get rid of the now-unnecessary (and disfunctional)
isReal checks.
|
|
|
|
I.e, the "Up (to group)" button and the "(This group is empty)"
pseudo-playlist-item.
|
|
Specifically, don't bubble escape when it's pressed in ContextMenus or
in ListingJumpElements.
TL;DR you won't accidentally cancel your currently playing song as much.
|
|
|
|
|
|
Moved .on('resize') to be after the flushable is actually created, so we
don't get an error (flushable is not defined) when resizing before the
flushable has been created. Also checked for size only immediately
before we actually display, so that the size is accurate right away.
|