Přemysl Eric Janouch
24e57872d8
Hide messages when interacting with the editor
2022-08-24 09:03:40 +02:00
Přemysl Eric Janouch
a20e4c74d8
Implement mouse drags on the gauge and scrollbar
2022-08-24 08:23:54 +02:00
Přemysl Eric Janouch
d33c17b888
Click to close messages
...
While not ideal, it is at least some way to discard them.
2022-08-24 07:41:03 +02:00
Přemysl Eric Janouch
6033f6a869
Notify when actions can't be taken
2022-08-24 07:26:47 +02:00
Přemysl Eric Janouch
88e86724c3
Always show messages to the user
2022-08-24 07:25:21 +02:00
Přemysl Eric Janouch
435485d145
X11: remark that triple clicks are mishandled
2022-08-23 12:59:59 +02:00
Přemysl Eric Janouch
1c37b15253
X11: improve rendering of denormalized text
...
Xft is dumb.
2022-08-23 10:35:28 +02:00
Přemysl Eric Janouch
2803a8153b
X11: clean up after Xft on exit
2022-08-23 09:00:20 +02:00
Přemysl Eric Janouch
f1ab0e2d8a
X11: use input methods, abandon xkbcommon
...
And fix a redundant XCreatePixmap() call leaking resources.
2022-08-23 08:42:38 +02:00
Přemysl Eric Janouch
830a744a11
Add an X11 user interface
...
This is meant to exactly mimic the terminal UI, just without
the restriction to ugly monospace fonts.
The Curses implementation has been reworked, and may have become
more computationally expensive. In general, though, the codebase
has been significantly cleaned up.
2022-08-23 02:50:24 +02:00
Přemysl Eric Janouch
8260842aef
Fix event processing with PulseAudio integration
2022-08-19 23:48:33 +02:00
Přemysl Eric Janouch
fe017b4daa
Mark an invalid assumption
2022-08-18 19:56:47 +02:00
Přemysl Eric Janouch
f3c4cec24a
Add and bind an action to center the cursor
...
"z" stands for VIM's "zz".
2021-12-23 20:36:00 +01:00
Přemysl Eric Janouch
410136a647
Fix up coding style inconsistency
2021-12-21 06:26:53 +01:00
Přemysl Eric Janouch
48482ef2e5
Make incremental search more useful
...
Make it unanchored, as well as case-insensitive.
2021-12-21 05:46:22 +01:00
Přemysl Eric Janouch
a14a907b18
Indicate that a stream download is in progress
2021-12-08 18:58:03 +01:00
Přemysl Eric Janouch
333049de01
Do not run cURL fully synchronously
...
The improvement is very minor in character.
2021-12-08 18:23:30 +01:00
Přemysl Eric Janouch
4e3596db35
Add rudimentary incremental search facility
2021-12-08 17:23:25 +01:00
Přemysl Eric Janouch
5aa07fd8af
Clean up mpd_process_info() better
2021-12-07 20:38:02 +01:00
Přemysl Eric Janouch
2060da4a8e
Do not jump to beginning after unqueueing
...
Instead, assume that the whole previously selected range
has been removed, and try to go after or before it accordingly.
2021-12-07 20:34:32 +01:00
Přemysl Eric Janouch
f5b5cec340
Clean up unreadable code
2021-12-07 20:10:35 +01:00
Přemysl Eric Janouch
227b8e0fa2
Do not show both volumes if unnecessary
...
Also, make it apparent which value comes from where.
2021-11-16 04:48:52 +01:00
Přemysl Eric Janouch
32203f8117
Fix the comment for settings.pulseaudio
2021-11-08 07:23:08 +01:00
Přemysl Eric Janouch
4598c45d2f
Generate actions from a text file
...
Mostly because I wanted to nest preprocessing.
This makes the build more complex and slightly less portable,
but the code itself is much cleaner.
2021-11-08 06:07:04 +01:00
Přemysl Eric Janouch
7165a8eb02
Add ability to control PulseAudio volume
...
I know, son, it might be hard to accept,
but you're imported. Your true parents are wmstatus
and paswitch, from the desktop-tools family.
Also, fix unnecessary linking of optional dependencies.
2021-11-07 23:07:55 +01:00
Přemysl Eric Janouch
87b57bb24c
Add a comment about the music directory
2021-11-07 13:29:13 +01:00
Přemysl Eric Janouch
6de940fe96
Do not beep on focus changes
2021-11-04 13:24:15 +01:00
Přemysl Eric Janouch
6bd8c1db2f
CMakeLists.txt: fix macOS build
2021-11-02 17:17:32 +01:00
Přemysl Eric Janouch
bd0ee66c19
Add clang-format configuration
2021-10-30 03:02:00 +02:00
Přemysl Eric Janouch
53fbb3dec1
Fix the line editor/spectrum analyser interaction
...
The updater assumed the terminal cursor was invisible.
2021-10-21 09:13:07 +02:00
Přemysl Eric Janouch
267598643a
Add program arguments to MPD's current playlist
...
I was tired of using `mpv --no-video`, this is a bit better.
It's all rather quirky, but very little code is involved.
I've added a few related TODO entries.
2021-09-07 06:35:24 +02:00
Přemysl Eric Janouch
fba1210e9f
Clean up connection initialisation
...
Also, do not set up the spectrum visualiser before a password is sent.
It would look a bit weird to have it run but display "Disconnected",
even though technically, it would probably work.
2021-09-06 21:48:27 +02:00
Přemysl Eric Janouch
30777e8fd3
Improve terminal initialisation
...
Don't just abort() on failures, print a proper error message.
Also, set up ncurses as late as possible. This should be alright wrt.
signal handlers according to ncurses code, as well as XSI:
> Curses implementations may provide for special handling of
> the SIGINT, SIGQUIT and SIGTSTP signals if their disposition
> is SIG_DFL at the time initscr is called ...
termo blocks job control, so SIGTSTP is not a concern at all.
2021-09-06 21:30:03 +02:00
Přemysl Eric Janouch
353174ee3c
Spetrum analyser: expand my favourite comment
2021-07-09 20:08:53 +02:00
Přemysl Eric Janouch
2d641d087f
Spectrum analyser: add some useful comments
2021-07-09 06:25:48 +02:00
Přemysl Eric Janouch
20c8385f2e
Spectrum analyser: optimise the x:16:2 case
...
nncmpp CPU usage went from 2 to 1.7 percent, a 15% improvement.
Sort of worth it, given that it's a constant load.
The assembly certainly looks nicer.
2021-07-08 19:14:26 +02:00
Přemysl Eric Janouch
fa4443a3ce
Rectify an obsolete comment
2021-07-08 04:33:03 +02:00
Přemysl Eric Janouch
14ba637d4b
Expand the last comment once again
2021-07-08 04:32:53 +02:00
Přemysl Eric Janouch
66bc3f1c2c
Expand the comment on spectrum frequency filtering
2021-07-05 23:42:51 +02:00
Přemysl Eric Janouch
0646cea126
Silence a compiler warning
...
The statement can be eliminated, then it suggests braces.
2021-07-05 01:26:16 +02:00
Přemysl Eric Janouch
a439a56ee9
Add an optional spectrum visualiser
...
This is really more of a demo. It's doable, just rather ugly.
It would deserve some further tuning, if anyone cared enough.
2021-07-05 01:10:46 +02:00
Přemysl Eric Janouch
120a11ca1b
Update a comment about mouse modes
...
We might even depend on termo now more than is stated.
2021-07-04 10:23:37 +02:00
Přemysl Eric Janouch
7e531e95c5
Process focus events
...
Should help prevent accidents in other windows.
2021-06-29 05:28:54 +02:00
Přemysl Eric Janouch
ba122b7672
Minor clarifications
2020-11-05 01:47:05 +01:00
Přemysl Eric Janouch
e86f4b6908
Comment the "poll_elapsed_time" option
2020-10-24 15:44:12 +02:00
Přemysl Eric Janouch
26b6b1f902
Show song duration in the library
...
Ideally we'd make columns configurable, which isn't trivial.
This brings the "Current" and "Library" tabs closer together.
Closes #2
2020-10-24 14:58:53 +02:00
Přemysl Eric Janouch
8121046be6
Skip playlists in lsinfo responses
...
Instead of merging the fields into other items.
2020-10-24 14:58:48 +02:00
Přemysl Eric Janouch
0dc29a3e2d
Refactor the library tab, track duration
...
The `struct strv` was clunky, it's better to store items
directly in the format we use for all processing.
The additional memory cost is negligible.
2020-10-24 14:55:25 +02:00
Přemysl Eric Janouch
791c000791
Use '-' instead of '?' for unknown duration
...
It is less distracting.
Also use mpd_read_time() and load "duration" as well.
This value isn't rounded to whole seconds, so we load
it before "time" as a fail-safe measure.
2020-10-24 14:54:17 +02:00
Přemysl Eric Janouch
c0119027b1
Improve the MPD time parser
...
- reject negative values, which strtoul() happily accepts
- deal with an arbitrary number of decimal digits
- don't return milliseconds when we fail to parse seconds
2020-10-24 14:54:12 +02:00