Přemysl Eric Janouch
b3fe85995f
Dissolve widget_redistribute()
...
liberty-xui has xui_hbox() and xui_vbox(),
the way we use widgets is odd.
2023-06-19 13:44:53 +02:00
Přemysl Eric Janouch
19a0a468a9
Bump liberty, move the UI to liberty-xui.c
...
Also bump termo.
This deduplicates code between nncmpp and hex,
and adds support for bold + italic attributes under X11.
There is still a lot of space for prettification.
Unfortunately, most of our specialized widgets are quite entangled.
2023-06-19 13:38:24 +02:00
Přemysl Eric Janouch
016469d5a8
Cleanup
2023-06-18 16:12:35 +02:00
Přemysl Eric Janouch
6bd40f3ec1
Fix potential issue with struct padding
...
The UI could very theoretically end up textless.
2023-06-18 13:01:14 +02:00
Přemysl Eric Janouch
0c35cc301d
Cleanup
2023-06-17 21:50:46 +02:00
Přemysl Eric Janouch
d0d248e44c
Fix crash when scrolling too far up
2023-06-15 14:45:26 +02:00
Přemysl Eric Janouch
ebda305e2d
Change default active tab bar attributes
...
It mostly just looked weird when the underline wasn't on the last row.
2023-06-15 14:38:47 +02:00
Přemysl Eric Janouch
5d5f73f22f
Don't layout during rendering
2023-06-15 12:35:43 +02:00
Přemysl Eric Janouch
4a9e621d92
Slightly clean up layouting
2023-06-15 11:07:47 +02:00
Přemysl Eric Janouch
9cd511a2e2
Implement font fallbacks
...
The editor doesn't support this so far, and it could be faster.
2023-06-10 21:28:49 +02:00
Přemysl Eric Janouch
b11f5d0e3c
Factor out app_widget_by_id()
2023-06-09 17:44:43 +02:00
Přemysl Eric Janouch
f05be01fba
Change volume adjustment key bindings
...
Use the much more obvious ones.
2023-05-30 15:17:04 +02:00
Přemysl Eric Janouch
14dba91dd1
Add a go-to-playing action and binding
2023-05-30 14:41:44 +02:00
Přemysl Eric Janouch
dcb2829e9b
Separate the actions of aborting and quitting
...
The user should not be afraid of pressing Escape too many times.
2023-03-25 11:39:34 +01:00
Přemysl Eric Janouch
349c907cbf
X11: act on DestroyNotify rather than UnmapNotify
...
This makes the program survive i3 restarts, which cause a sequence
of: UnmapNotify, ReparentNotify, MapNotify.
2023-03-25 11:10:26 +01:00
Přemysl Eric Janouch
d58856571d
Improve display of files lacking proper metadata
2023-03-07 01:53:50 +01:00
Přemysl Eric Janouch
61fac878ad
X11: fix rendering of overflowing last list items
2022-10-30 18:49:10 +01:00
Přemysl Eric Janouch
e72ed71f53
X11: support italic fonts as well
...
The bold + italic combination isn't supported thus far,
because it seems unnecessary.
2022-09-20 11:15:20 +02:00
Přemysl Eric Janouch
28ed7a85a8
Implement lyrics lookup
...
There is now a generic mechanism for loading lyrics,
or any other arbitrary content related to songs.
2022-09-20 11:04:39 +02:00
Přemysl Eric Janouch
b6dd940720
Implement M-u, M-l, M-c from Readline
2022-09-18 04:24:58 +02:00
Přemysl Eric Janouch
5cda848f94
Don't depend on a standalone C preprocessor
...
And get rid of the sed insanity.
2022-09-13 01:01:35 +02:00
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