Commit Graph
100 Commits
Author SHA1 Message Date
Kenny Levinsen 91c26b9d54 Merge new implementation
This implementation is a rewrite of wldash, implemented from scratch.
This also means that it is an unrelated history, hence the history now
having two initial commits.
2025-02-27 16:41:33 +01:00
Kenny Levinsen a8cd777ca9 Clean up command-line arguments, usage text 2025-02-27 16:38:52 +01:00
Kenny Levinsen 83179d2c7e state: Increase xdg_toplevel default dimensions
The previous values are too small for the default toplevel layout.
2025-02-27 16:38:52 +01:00
Kenny Levinsen 7e112ddd1f keyboard: Update to xkbcommon 0.8 2025-02-27 16:38:52 +01:00
Kenny Levinsen 9fd054fc2c Fix damage issue when multiple buffers are in use
wldash was originally written to expect server-side shm buffer
optimizations, which make it so only a single buffer has to be in use.
This simplifies damage tracking and repaint needs.

Support for using multiple buffers was added to support e.g., jay, but
the damage handling was not in place for this to work. Fix that by
tracking damage per buffer.
2025-02-27 16:38:52 +01:00
Kenny Levinsen 40aec97f79 Cargo format 2025-02-27 14:48:41 +01:00
Kenny Levinsen 9031361dd1 Cargo update 2025-02-27 14:48:41 +01:00
Kenny Levinsen f337ce6e95 layer-shell: Change to overlay 2025-01-12 23:08:24 +01:00
Kenny Levinsen bc9ba0045c launcher: Support launch_cmd config 2025-01-12 22:51:45 +01:00
Kenny Levinsen 2b3048faca Rework the initial wayland init a bit 2025-01-12 22:50:00 +01:00
Kenny Levinsen f09abf1d53 backlight: Auto-detect type 2025-01-12 22:47:16 +01:00
Kenny Levinsen 5776886884 keyboard: Fix repeat deadline handling
The calloop timer is only responsible for ensuring wakeup at the right
time, but we can also be woken up before time so we need to check the
deadline.

At the same time, We may end up being significantly delayed past the
deadline if something else was slow. If we are too far behind, reset the
base of the repeat timer by just offsetting from the current time.
2024-01-30 00:56:12 +01:00
Kenny Levinsen 7ee58d8d68 server: Make optional 2023-11-10 15:22:37 +01:00
Kenny Levinsen c169843bcb Add basic server operation 2023-11-10 15:10:10 +01:00
Kenny Levinsen 1d1f7d3a8e draw: Fix a bug I forgot the details of 2023-11-10 14:01:14 +01:00
Kenny Levinsen a882e26e2b widgets/backlight: Set support 2023-11-10 14:00:48 +01:00
Kenny Levinsen 84c241a90e keyboard: Use xkb_common::keysyms 2023-11-10 14:00:06 +01:00
Kenny Levinsen 921938cc0d Resolve keyboard after first draw 2023-11-10 13:59:09 +01:00
Kenny Levinsen 8835708b31 Make background configurable 2023-11-10 13:58:56 +01:00
Kenny Levinsen c01c810c10 Configurable config file 2023-09-28 23:40:20 +02:00
Kenny Levinsen b451a2de31 Fix keyboard resolve on sway 2023-08-22 14:39:20 +02:00
Kenny Levinsen ebeb21f3c2 Fix fontmap resolution on sway 2023-08-22 14:38:36 +02:00
Kenny Levinsen 558d528f70 Fix xdg_toplevel background 2023-05-20 17:34:52 +02:00
Kenny Levinsen 6351cc242d launcher: Use XDG_ACTIVATION_TOKEN for shell cmds 2023-04-04 01:53:29 +02:00
Kenny Levinsen 66e66e19ad launcher: Cache desktop files 2023-04-04 01:53:02 +02:00
Kenny Levinsen 3a77696569 calendar: Missed preload of 'N' 2023-03-01 11:48:25 +01:00
Kenny Levinsen a975da5074 config: Apply margins to default 2023-02-14 23:52:54 +01:00
Kenny Levinsen 9d1f310f12 cargo fmt 2023-02-14 10:23:20 +01:00
Kenny Levinsen 54e4ba16dd Add InvertedVerticalLayout 2023-02-14 10:23:12 +01:00
Kenny Levinsen 764a1e3444 config: Remove default configuration 2023-02-14 00:30:46 +01:00
Kenny Levinsen 6fac465c3a calendar: Highlight current week 2023-02-14 00:28:40 +01:00
Kenny Levinsen 5097faab66 launcher: Save prompt on exit 2023-02-14 00:28:40 +01:00
Kenny Levinsen 8202963a6f Add vertical line 2023-02-14 00:28:40 +01:00
Kenny Levinsen b09f642fd6 Avoid panic on very long prompt lines 2023-02-14 00:28:40 +01:00
Kenny Levinsen 59e2f658db keyboard: Rename realize to resolve 2023-02-13 19:43:15 +01:00
Kenny Levinsen 022f6a719a cargo fmt 2023-02-13 18:49:44 +01:00
Kenny Levinsen 8826cab89d keyboard: Add keyrepeat handling 2023-02-13 17:39:54 +01:00
Kenny Levinsen 9e48eb053d config: Generate configs 2023-02-12 17:02:44 +01:00
Kenny Levinsen db085168dc config: Add config support 2023-02-11 18:24:34 +01:00
Kenny Levinsen 353ed1f189 launcher: Shrink margin 2023-02-08 22:57:06 +01:00
Kenny Levinsen 45e5a750f9 calendar: Fix hiding when shrunk 2023-02-08 22:56:52 +01:00
Kenny Levinsen 6e90b1f0e8 More better 2023-02-08 22:53:41 +01:00
Kenny Levinsen 3c69a31030 calc: Store history 2023-02-07 00:36:06 +01:00
Kenny Levinsen b9f4e74062 calc: Improve history 2023-02-06 18:57:34 +01:00
Kenny Levinsen 6f0ca36826 Moar speed 2023-02-06 18:34:07 +01:00
Kenny Levinsen 69959e86dc Fix memset hack 2023-02-04 16:52:32 +01:00
Kenny Levinsen 74591902e9 Support toggle between V1 and V2 UIs 2023-02-04 16:52:18 +01:00
Kenny Levinsen 3a2badbfd9 wlr-layer-shell support 2023-02-04 14:42:29 +01:00
Kenny Levinsen b49b9e9764 More stuff 2023-02-02 23:52:59 +01:00
Kenny Levinsen 7593cd48a4 Add calendar, refactor more 2023-01-16 00:25:34 +01:00
Kenny Levinsen 3a40bb18c5 Refactor slightly 2023-01-13 21:53:07 +01:00
Kenny Levinsen b2a9475e4c cargo fmt 2023-01-12 00:13:27 +01:00
Kenny Levinsen be6ee9899c cargo update 2023-01-12 00:13:15 +01:00
Kenny Levinsen d3002d2180 Exit when no longer activated 2023-01-12 00:13:08 +01:00
Kenny Levinsen 25644c2b15 backlight: Add 2023-01-11 23:54:52 +01:00
Kenny Levinsen dd790468ad battery: Minor cleanup 2023-01-11 23:54:39 +01:00
Kenny Levinsen 0a4544a608 launcher: Add ctrl k/u handling 2023-01-11 23:54:14 +01:00
Kenny Levinsen 8e80c0a69c Initial commit 2023-01-11 00:28:54 +01:00
Kenny Levinsen 70e53c1246 cargo: Update dependencies 2022-12-04 13:58:14 +01:00
Kenny Levinsen b2ae30bab4 Update fontconfig 2022-05-02 11:21:47 +02:00
Kenny Levinsen 2538e41f00 Update Cargo.lock 2022-01-16 23:16:30 +01:00
Kenny Levinsen 3eb7cddb6c Bump version to 0.3.0 2022-01-15 18:40:38 +01:00
Kenny Levinsen 2813ae0eff clock: Adjust to new font advance 2022-01-14 00:39:23 +01:00
Kenny Levinsen 1b1ffc4435 Update example config 2022-01-14 00:38:02 +01:00
Kenny Levinsen d69e941ec1 Remove old FUNDING link 2021-10-15 22:47:10 +02:00
Kenny Levinsen 5e5e8876f6 cargo fmt 2021-09-02 21:15:35 +02:00
Kenny Levinsen 886d595f91 launcher: Migrate to SkimMatcherV2 2021-09-02 21:14:08 +02:00
Kenny Levinsen e04237b928 Use format string with panic 2021-09-02 21:13:57 +02:00
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