-
Notifications
You must be signed in to change notification settings - Fork 18
/
TODO
86 lines (52 loc) · 2.87 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
Some open tasks, good for getting started with the code base ;)
* Add scrolloff
* Currently auto-follow is active after 10 seconds of inactivity. It would be
nice to make it configurable, and allow to disable it.
* get rid of old-time dependency
* use -XNamedFieldPuns for ListWidget http://www.haskell.org/ghc/docs/7.4.2/html/users_guide/syntax-extns.html
* use `tagged` packages instead of undefined
http://hackage.haskell.org/package/tagged
* allow to move songs on the playlist around, maybe use J/K to move down/up
* Add option to skip (move!) over an album
* Add command insert-album (similar to add-album)
* Try to stay at currently selected song on ListWidget.update
* Sort library on (Artist, Album, Disc, Track)
* Update filter-view after update
* Detect errors on :source (see TODO in Command.hs)
* filterPreview is very slow if you append to the beginning of the search
term. Can we fix this by using a `Map` as cache?
* Use a zipper for ListWidget
* Add command :set autofollow=<timeout>, that automatically sets the
cursor position in the playlist widget to the current song, when the current
song changes (but only if the cursor has not been moved for <timeout>
seconds)
* The git version of MPD reveals the base path to the music library, so we can
use it as a default for set-library-path
* Allow to customize formatting for playlist/library/browser
* Make sure that :insert works on directories/playlists/playlist items
* Find out whether search is faster if we use Text or even the UTF-8 encoded
ByteString for matching.
* use strict-concurrency?
* update :help and :map output when mappings are added/removed,
currently they are only updated after after typing :help/:map again
* Write startup message with current date into log
* Detect when date has changed since last log message, and write a day
changed message in those cases
:help ideas:
* Show all macros in the default output as well? Currently only macros that
correspond to a single command with no arguments are shown.
* Parameterize :help, :help <macro/command> would pull up a TextWidget with
the documentation for that particular command.
* Remember the position of the cursor on the :help screen in between opening
and closing it multiple times.
* update help widget, when a new macro is defined
ISSUES:
* The actual value of a ctrl-key-combinations depends on the terminal, so
we may need to make some effort to get that right in a portable way
* We still have some startup flicker. My current guess is, that we only get
rid of it if we fetch all data to draw the initial screen before calling
initscr/start_color.
* Breaks in ugly ways when losing connection to MPD
* Browser needs to reload the current directory on EvLibraryChanged, this
should be done by recursively moving in from the TLD downwards as far as
possible.