Přemysl Eric Janouch
b5e48c29f9
Put connecting/disconnected messages in status bar
...
Those are general status messages, and seem to belong to the bottom.
Partially motivated by the status bar being empty when disconnected.
And add a missing window invalidation.
2022-09-03 15:04:30 +02:00
Přemysl Eric Janouch
eaa19be1c8
Fix Clang build
2022-09-03 14:39:47 +02:00
Přemysl Eric Janouch
dad95ef444
X11: render partially visible list items
2022-09-03 13:23:07 +02:00
Přemysl Eric Janouch
7e74d1a80a
X11: make the scrollbar span the full height
2022-09-03 13:02:47 +02:00
Přemysl Eric Janouch
8529f24a46
Bind Tab and S-Tab to tab switching
2022-08-27 17:35:17 +02:00
Přemysl Eric Janouch
190e813d49
X11: fix Ctrl+Space
2022-08-27 17:32:12 +02:00
Přemysl Eric Janouch
9af74259d2
Add debugging facilities for input events
2022-08-27 17:20:06 +02:00
Přemysl Eric Janouch
9a996c8440
Adjust the "action unavailable" message
2022-08-25 07:45:49 +02:00
Přemysl Eric Janouch
a9d4f86493
Add an action to describe items
...
And improve the display of messages, separating any prefix out.
2022-08-25 07:42:10 +02:00
Přemysl Eric Janouch
172ceffa9e
X11: support copying text to CLIPBOARD
...
Use the right mouse button.
2022-08-25 06:14:08 +02:00
Přemysl Eric Janouch
6dad74f3c9
Enable configuring spectrum analyzer FPS
2022-08-25 02:31:32 +02:00
Přemysl Eric Janouch
b196ef4f08
X11: mildly optimize drawing
...
There is no real performance impact on modern systems.
2022-08-25 02:16:36 +02:00
Přemysl Eric Janouch
d82be07807
X11: handle Shift+clicks in the list
2022-08-25 00:25:03 +02:00
Přemysl Eric Janouch
2d219f1a4b
Rework mouse event processing
...
X11's triple-click bug is gone, and we may pass modifier state.
2022-08-25 00:10:17 +02:00
Přemysl Eric Janouch
a77d872e7f
Try to stuff more things in the status bar
2022-08-24 23:21:16 +02:00
Přemysl Eric Janouch
179e0a123b
X11: ring the bell as well, when appropriate
2022-08-24 09:35:28 +02:00
Přemysl Eric Janouch
da14bdbd39
Improve help tab item choice error messages
2022-08-24 09:05:28 +02:00
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