No description
Find a file
Temmie 1b819fb646
System Tray (#743)
* Allow tokio on gtk thread

* Basic notifier host implementation

* Implement systray widget

* Use dbusmenu-gtk3

* Update flake.nix

* US spelling of license

* Fix possible TOCTOU

* Change how hosts are started

* Add watcher

* Bunch of refactor

* Handle errors better

* Refactor service parsing

* Avoid duplicate dbus connections

* Fix watcher producing bad items

* Handle zbus::Error::NameTaken

* Refactor icon loading & don't panic on zoom

* Implement pixbuf icons

Co-authored-by: Bojan Nemčić <bnemcic@gmail.com>

* Don't panic on icon/menu error

* Improve icon error handling to make discord work

* Update comments

* Big refactor into actor model

* Reword error messages

* Remove redundant watcher_on function

* Big icon handling refactor

* Don't unnecessarily wrap StatusNotifierItem

* cargo fmt

* Documentation

* Avoid registering to StatusNotifierWatcher multiple times

* None theme means default theme

* Add dbus logging

* Add libdbusmenu-gtk3 dependency to docs

* Some code tidying

* Make Item more clearer

* Make clippy happy

* Systray widget improvements

* Remove unwraps from dbus state

* Temporarily add libdbusmenu-gtk3 to flake buildInputs

* Fix blurry tray icon for HiDPI display

* feat: dynamic icons

* fix: don't cache IconPixmap property

this fixes dynamic icons for some icons, e.g. syncthingtray

* fixup! feat: dynamic icons

* Fix unused borrow warning

* Add some documentation to notifier_host

* Rename notifier_host::dbus to more descriptive notifier_host::proxy

* fixup! Rename notifier_host::dbus to more descriptive notifier_host::proxy

* fixup! Merge remote-tracking branch 'upstream/master' into tray-3

* fixup! Merge remote-tracking branch 'upstream/master' into tray-3

* Remove commented out fields of DBusSession

* Refactor host

* Remove git conflict marker

* Various improvements

* Icon documentation

* cargo fmt

* Add dependency to CI

---------

Co-authored-by: Bojan Nemčić <bnemcic@gmail.com>
Co-authored-by: MoetaYuko <loli@yuko.moe>
Co-authored-by: hylo <hylo@posteo.de>
2024-03-30 10:55:01 +01:00
.github System Tray (#743) 2024-03-30 10:55:01 +01:00
crates System Tray (#743) 2024-03-30 10:55:01 +01:00
docs System Tray (#743) 2024-03-30 10:55:01 +01:00
examples/eww-bar make getvol use pamixer 2023-08-03 16:45:45 +02:00
.editorconfig CI/CD & Formatting (#6) 2020-10-18 23:25:00 +02:00
.gitignore heavily refactor nix flake (#532) 2022-08-21 23:09:54 +02:00
Cargo.lock System Tray (#743) 2024-03-30 10:55:01 +01:00
Cargo.toml System Tray (#743) 2024-03-30 10:55:01 +01:00
CHANGELOG.md System Tray (#743) 2024-03-30 10:55:01 +01:00
default.nix fix: update and improve flake (#1032) 2024-02-24 13:46:40 +01:00
flake.lock fix: update and improve flake (#1032) 2024-02-24 13:46:40 +01:00
flake.nix System Tray (#743) 2024-03-30 10:55:01 +01:00
gen-docs.ts Fix some types missing in widget docs 2022-05-26 15:00:34 +02:00
LICENSE Add MIT license 2020-10-18 23:25:48 +02:00
README.md Fix link to dharmx' powermenu guide (fixes #581) 2022-09-29 14:41:18 +02:00
rust-toolchain.toml Switch to stable rust 2024-02-17 13:21:05 +01:00
rustfmt.toml Remove nightly options from rustfmt.toml 2024-02-17 14:14:46 +01:00
shell.nix fix: update and improve flake (#1032) 2024-02-24 13:46:40 +01:00
YUCK_MIGRATION.md Clean up example bar 2021-08-18 16:21:04 +02:00

dependency status

Eww

Elkowars Wacky Widgets is a standalone widget system made in Rust that allows you to implement your own, custom widgets in any window manager.

Documentation and instructions on how to install can be found here.

Dharmx also wrote a nice, beginner friendly introductory guide for eww here.

Eww needs your opinion!

I've hit a bit of a design roadblock for one of the bigger features that are in the works right now.

Please read through https://github.com/elkowar/eww/discussions/453 and share your thoughts, ideas and opinions!

Examples

(Note that some of these still make use of the old configuration syntax.)

Rxyhn-rice

eww-top-bar

Contribewwting

If you want to contribute anything, like adding new widgets, features, or subcommands (including sample configs), you should definitely do so.

Steps

  1. Fork this repository
  2. Install dependencies
  3. Smash your head against the keyboard from frustration (coding is hard)
  4. Write down your changes in CHANGELOG.md
  5. Open a pull request once you're finished