Commit Graph
246 Commits
Author SHA1 Message Date
Hilmar Gústafsson f1811475cd draw: Add method for drawing text with cursor 2020-07-22 01:44:06 +02:00
Hilmar Gústafsson f25909b7f8 launcher: add cursor and basic operations 2020-07-22 01:44:06 +02:00
Hilmar Gústafsson 6690cda29f Use tab and left tab to navigate matches 2020-07-22 01:44:06 +02:00
Kenny Levinsen 76e9d267df ci: Add fontconfig as dependency 2020-06-14 17:10:15 +02:00
Kenny Levinsen 50ac4a89f5 app: Don't switch buffers if none was available 2020-06-14 17:01:42 +02:00
Kenny Levinsen 376a6f215b config: Add default for font map 2020-06-14 17:01:42 +02:00
Kenny Levinsen 24ec63a178 widgets: Allow widgets to fill remaining space
This is implemented by propagating the expected remaining space to all
widget draw calls. It is not currently as smart as it could be, but it
works well enough to let the last widget in a row/column fill things.

BarWidget-type widgets and the Launcher widget now fill remaining space
if their length is set to 0.
2020-06-14 17:01:42 +02:00
Kenny Levinsen 2f61da8690 clock: Use font metrics for size 2020-06-14 17:01:42 +02:00
Hilmar Gústafsson 48985c470a Configurable font support
Use fontconfig to load fonts. Fonts can be added to the `fonts` map in
the config, and referenced from individual widgets' configurations for
customizability.

Fonts default to values "mono" and "sans" if nothing is set.
2020-06-14 17:01:42 +02:00
Hilmar Gústafsson 1a62696662 Use DisplayDevice instead of BAT0 2020-06-03 13:20:59 +02:00
Kenny Levinsen becd676352 ci: alsa-lib dependency 2020-05-16 01:19:09 +02:00
Kenny Levinsen f546cfa194 Create FUNDING.yml 2020-05-10 14:50:14 +02:00
Kenny Levinsen 319bcdd355 Reduce cargo clippy warnings 2020-04-22 01:31:22 +02:00
Kenny Levinsen 300711affe Convert DateTime<Local> to NaiveDateTime
Use of DateTime<Local> can lead to excessive inspection of the system
timezone.

Instead, propagate only a timezone-compensated NaiveDateTime throughout
the widgets.
2020-04-22 00:52:08 +02:00
Kenny Levinsen c380d20794 readme: Fix list 2020-03-28 02:23:55 +01:00
Kenny Levinsen 833f289cd0 readme: Add screenshot 2020-03-28 02:22:50 +01:00
Kenny Levinsen 0577c023b8 clock/date: Feb 29 bug in nonsensical code 2020-02-29 00:11:49 +01:00
Kenny Levinsen 460b63555a Increase optimization level 2020-02-29 00:11:49 +01:00
Kenny Levinsen aec80d1afd backlight: Avoid unnecessary parens 2020-02-29 00:11:49 +01:00
Kenny Levinsen 0a5c4a386a ci: Explicit source path 2020-01-08 11:49:19 +01:00
Kenny Levinsen 8877674f43 cargo fmt 2020-01-08 11:31:56 +01:00
Kenny Levinsen d6b53be516 Update dependencies 2020-01-03 16:42:50 +01:00
Pedro Côrte-Real cf37611243 Make matches unique and smarter
Move the matching in the launcher to its own struct and make it so the
matches are unique and we don't end up with 2 or 3 matches for the same
program. Change the priorities so that they are bundled together with
the fuzzy matching score and thus very good keyword matches will beat
out very poor name matches.
2020-01-02 18:38:23 +00:00
Pedro Côrte-Real 5191952155 Simplify matching code in launcher 2020-01-02 17:53:37 +00:00
Pedro Côrte-Real 193f1d59fa Prioritize name matches above keywords in launcher
Keyword matches are always at a lower priority than name matches. It
would probably make sense to extend this into something smarter where
very good matches of keywords beat really poor matches of name.
2020-01-02 17:48:12 +00:00
Pedro Côrte-Real 809af580a9 Match on keywords in the launcher
In the launcher match not only on the program name but also on the
keywords specified in the desktop file.
2020-01-02 17:19:37 +00:00
Kenny Levinsen 2ba19f9e64 Allow backlight device to be specified 2020-01-01 17:18:42 +01:00
Kenny Levinsen 9233128b7c Use global poll for ipc_server 2019-10-05 22:43:09 +02:00
Kenny Levinsen b51fc8a1b0 Use global poll for UpowerBattery 2019-10-05 22:42:26 +02:00
Kenny Levinsen 0de3da162b widget: Add wait support
Widgets can now specify that they wish to wait on an fd or for a target
time to be reached.

This can be used to save a few worker threads.
2019-10-05 01:07:06 +02:00
Pedro Côrte-Real 510ad34183 Remove errant semicolon (#24) 2019-10-03 19:03:38 +02:00
Kenny Levinsen c676c0223b rustfmt 2019-10-02 16:25:43 +02:00
Sergey Smirnykh 29252cbbc6 Various cleanups 2019-10-02 16:25:33 +02:00
Sergey Smirnykh c695288d1e config: Make YAML/JSON modular and optional (#21) 2019-10-02 16:21:39 +02:00
Sergey Smirnykh c02937d8b6 More efficient command-line arguments parsing 2019-10-02 16:20:10 +02:00
Sergey Smirnykh b9ff6725cd alsa: Use ? operator instead of and_then 2019-10-02 16:20:10 +02:00
Kenny Levinsen 3572d22ba8 Add modifier support, enter/leave events 2019-10-02 16:20:10 +02:00
Kenny Levinsen 50e2ab25a5 launcher: Increase gap to font_size/2 2019-09-25 20:34:21 +02:00
Kenny Levinsen a1e36d9ac5 launcher: Space elements 3/8th of font-size 2019-09-25 20:27:50 +02:00
Sergey Smirnykh 1ae11bab29 Add ALSA widget (#18)
Add initial ALSA widget, and put both ALSA and PulseAudio behind feature flags.
2019-09-18 11:19:10 +02:00
Kenny Levinsen 4e9f0e566f launcher: Clear input buf when launching 2019-09-17 17:06:42 +02:00
Kenny Levinsen 4ca4fa307a Fix various toggle-visible issues
- Track "start" command internally as a special mode.
- Ensure that DoubleMemPool is in good state if draw bails.
- Ensure that Launcher does not terminate daemonized session.
- Ensure that size changes cause full force redraw.
2019-09-17 16:32:51 +02:00
Kenny Levinsen f2999fb53f Ensure set_size is called after toggle_visibility 2019-09-17 13:16:48 +02:00
Kenny Levinsen b94e80c346 pulseaudio: Ensure that both completion channels are read 2019-09-10 14:26:45 +02:00
Kenny Levinsen c5cc36b7cf README: Mention YAML/JSON 2019-09-07 15:48:24 +02:00
Kenny Levinsen 14388085cb Add support for YAML 2019-09-07 12:26:30 +02:00
Kenny Levinsen 9908392af1 clock: Sizing error 2019-09-07 00:37:01 +02:00
Kenny Levinsen d10883169f Configurable background 2019-09-07 00:24:58 +02:00
Kenny Levinsen d419946959 builds.sr.ht manifest v0.2 2019-09-06 23:23:12 +02:00
Kenny Levinsen 6679418696 rustfmt 2019-09-06 22:48:50 +02:00