Commit Graph
100 Commits
Author SHA1 Message Date
Kenny Levinsen ef84c519a2 app: Migrate to compare_exchange 2021-09-02 21:13:33 +02:00
Kenny Levinsen 1e647c7036 readme: Update discuss section 2021-05-19 17:51:27 +02:00
Kenny Levinsen 56f6b1668d cargo fmt 2021-03-04 00:23:09 +01:00
Kenny Levinsen 4c49407849 launcher: Ctrl-a, Ctrl-e, Home and End 2021-02-14 16:12:03 +01:00
Kenny Levinsen 07d8066d90 Bump wayland-rs to 0.28, key repeat 2021-02-14 16:12:03 +01:00
Kenny Levinsen ee2646f091 pulseaudio: Iterate until callback is received
Pipewire's pulseaudio server requires a different number of iterations
to get the callback through properly.

Set a flag from the callbacks, and iterate until the flag is set to
ensure that the right number of iterations are made.
2021-01-28 00:56:53 +01:00
Kenny Levinsen 89eafe5bc7 Update libpulse-binding to 2.22 2021-01-28 00:56:47 +01:00
Kenny Levinsen bd9106c5ee Set layer-shell size to 1,1 on first commit
The commit with no set_size was interpreted as having set_size of 0,0,
which is no longer valid if anchors are not set.

However, are just configuring our surface, not yet committing content.
As workaround, specify a bogus 1,1 size to begin with.

Closes: https://github.com/kennylevinsen/wldash/issues/36
2020-10-15 20:03:23 +02:00
Kenny Levinsen 2e49b98b82 date: Fix dimension calculations 2020-07-22 12:42:48 +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
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
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
Kenny Levinsen c676c0223b rustfmt 2019-10-02 16:25:43 +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
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 2019-09-06 23:23:12 +02:00
Kenny Levinsen 6679418696 rustfmt 2019-09-06 22:48:50 +02:00
Kenny Levinsen 61ad3e4d94 Remove deprecated libivy/bc features 2019-09-06 22:10:56 +02:00
Kenny Levinsen 89d96e28ac Update README 2019-09-06 22:01:55 +02:00
Kenny Levinsen b53a909e1c Dynamic widget configuration and layout
1. Implement new layout API, replacing previous hard-coded layout.
2. Make the widgets (previously modules) configurable.
3. Split some widgets into smaller modules.
4. Configuration file (reluctantly JSON at time of writing).
5. More correct damage handling, copying damage to next buffer.
2019-09-06 21:54:04 +02:00
Kenny Levinsen 4053bb8973 README: Make note of dbus dependency 2019-09-03 17:33:06 +02:00
Kenny Levinsen 5555c3c787 Use XDG vars to find desktop files 2019-09-03 17:18:07 +02:00
Kenny Levinsen 3b4c9267bb Simplify buffer positioning, introduce WLDASH_SCALE
Replace most uses of Buffer::subdimensions with Buffer::offset.

Introduce WLDASH_SCALE. Set to 2 to make wldash render at half size.
2019-09-03 13:24:21 +02:00
Kenny Levinsen 2bad68a8cf Update dependencies 2019-08-29 01:30:36 +02:00
Kenny Levinsen d41e338dfb Integrate dot-desktop 2019-08-29 01:03:48 +02:00
Kenny Levinsen 46a1c9e701 Name threads, cargo fmt 2019-08-28 18:06:07 +02:00
Kenny Levinsen bbfdb56d70 sound: Remove a thread 2019-08-28 18:04:31 +02:00
Kenny Levinsen 3dd09ca589 Update README.md 2019-08-28 15:23:56 +02:00
Kenny Levinsen 2d1d9d45d3 Clear buffer on forced draw 2019-08-28 15:20:17 +02:00
Kenny Levinsen 640165d8cc launcher: Color modes 2019-08-28 14:57:47 +02:00
Kenny Levinsen 70bc9238c5 Add rcalc default calculator 2019-08-28 14:50:16 +02:00
Kenny Levinsen fa759c304a Add missing file 2019-08-27 19:28:12 +02:00
Kenny Levinsen 6deffa91bb Experimental command socket support
Introduces "start-or-kill" and "toggle-visible" commands. How the
command socket is used will likely change soon.
2019-08-27 15:09:19 +02:00
Kenny Levinsen 560f92a64e Hide all output mode behind WLDASH_ALL_OUTPUTS=1 2019-08-26 17:53:11 +02:00
Kenny Levinsen 2f9534f75f battery: Orange on low battery 2019-08-12 01:48:00 +02:00
Kenny Levinsen 4bc58623b7 app: Split from main 2019-08-12 01:47:50 +02:00
Kenny Levinsen eec74ca750 modules: Move them all 2019-08-11 00:52:47 +02:00
Kenny Levinsen 2bb0a2f29f Visible on all outputs 2019-08-10 00:01:23 +02:00
Kenny Levinsen e9decaa594 Update libivy dependency 2019-08-09 19:20:32 +02:00
Kenny Levinsen c10e312b51 launcher: wl-copy-based calc copy on enter 2019-08-09 12:30:04 +02:00
Kenny Levinsen 6e3bd0c4a8 launcher: Add bc calculator implementation 2019-08-09 12:29:37 +02:00
Kenny Levinsen 9c3bfb627e calendar: Fix year location 2019-08-09 00:12:12 +02:00
Kenny Levinsen a7011558b0 Update libivy dependency 2019-08-09 00:03:34 +02:00
Kenny Levinsen 92acc7c356 readme: Add info about launcher modes 2019-08-08 16:47:32 +02:00
Kenny Levinsen e81a51416e Enable fat LTO 2019-08-08 16:34:05 +02:00
Kenny Levinsen 19df29d7e0 launcher: rustfmt 2019-08-08 16:34:05 +02:00
Kenny Levinsen 461b34e5cb sound/backlight: Invert scroll direction
Fixes #3.
2019-08-08 16:33:27 +02:00
Kenny Levinsen bb6c540441 readme: Add calculator build info 2019-08-07 14:04:00 +02:00
Kenny Levinsen ec2cfff9c4 launcher: Add calculator feature 2019-08-07 14:02:37 +02:00
Kenny Levinsen 18c93ec538 launcher: Modes 2019-08-07 01:14:13 +02:00
Kenny Levinsen ea2fd4b701 Sharpen up layout 2019-08-07 00:10:20 +02:00
Kenny Levinsen 37fcb7390b Use pre-seeded font caches to avoid mut 2019-08-06 16:39:17 +02:00
Kenny Levinsen c5d7faceba main: Use map_keyboard_auto 2019-08-06 14:22:04 +02:00
Kenny Levinsen ee4fe479d0 rustfmt 2019-08-06 14:21:10 +02:00
Kenny Levinsen 0896290411 draw: Ignore out of bounds writes 2019-08-06 14:09:18 +02:00
Kenny Levinsen 0d8facbb01 main: Remove unused import 2019-08-06 14:06:04 +02:00
Kenny Levinsen a8c5c59b22 Cache all used font glyphs 2019-08-06 14:04:34 +02:00
Kenny Levinsen b72c8e9cd9 launcher: Invert score sort 2019-08-06 09:51:14 +02:00
Kenny Levinsen e63a28abb7 draw: lazy_static initialize fonts 2019-08-06 00:09:41 +02:00
Kenny Levinsen 11fd9a79c3 Bring down time to first draw 2019-08-05 23:45:59 +02:00
Kenny Levinsen 4e48df376b Initialize modules in parallel with surface 2019-08-05 23:16:16 +02:00
Kenny Levinsen fbc1f058ad pulseaudio: Clean up locking a bit 2019-08-05 23:15:36 +02:00
Kenny Levinsen 840c8496ab module: Make ModuleImpl Send 2019-08-05 23:15:11 +02:00
Kenny Levinsen 0b5a6f6538 calendar: Nothing to see here 2019-08-04 21:53:58 +02:00
Kenny Levinsen 7845d64313 battery: Color battery bar based on state 2019-08-04 21:52:13 +02:00
Kenny Levinsen 9329a1ebd8 launcher: Fuzzy match 2019-08-04 15:41:56 +02:00
Kenny Levinsen b6bff9e9df readme: Elaborate use of launcher feature 2019-08-04 14:39:46 +02:00
Kenny Levinsen 095c2c9aef launcher: Show and return failed match strings 2019-08-04 14:39:23 +02:00
Kenny Levinsen 22893fd681 draw: Handle whitespaces better 2019-08-04 14:35:42 +02:00
Kenny Levinsen beb6cb2f08 rustfmt 2019-08-04 14:23:49 +02:00
Kenny Levinsen 5cc4a6e740 Calculate window dimensions 2019-08-04 14:23:16 +02:00
Kenny Levinsen a4f661ffa7 Avoid conversions to and from percent 2019-08-04 14:11:21 +02:00
Kenny Levinsen 339b069354 Add protocol notice to README.md 2019-08-04 14:11:05 +02:00