Skip to content

Rayzeq/tryfol

Repository files navigation

Tryfol

A custom Wayland bar written in Rust + GTK4.

Note: This project is a work in progress (WIP).

Modules to refactor

  • Bluetooth
  • Dbusmenu (Potentially useful resource)
    • Use custom widgets to reduce usage of Rc<Mutex<...>>
    • Test with: Discord, blueman, heroic, nm-applet
  • Audio (PipeWire)
  • Network (Netlink)
  • "things.rs"

TODO List (excluding refactors)

  • Full Bluetooth control (to replace blueman-manager)
    • Investigate where connection notifications originate (likely KDE, but may be Blueman or something else), and implement them.
    • Don't forget to display battery levels somewhere (change icon color depending on battery level, and show precise level in tooltip)
    • If possible, enable bluetooth when trying to connect device (is it possible to list unconnected devices when bluetooth is disabled ?) and disable bluetooth when last device is disconnected
  • Full network control (to replace nm-applet)
  • Bluetooth: deterministically sort items
  • Workspaces: show icons of contained windows ? (i.e one small per window in the workspace)
  • Restructure tryfol as a workspace (use Varlink for IPC ?)
    • tryfol-...: crates for modules in backend/* that need to be shared between other crates
    • tryfol-bar: the bar itself
    • tryfol-daemon
      • SNI watcher
      • Bluetooth notifications
      • Auto-inhibit idle when media is playing (see wayland-pipewire-idle-inhibit, which is what I currently use)
      • Sound + notifications for plugging/unplugging the power cable
      • Battery notifications
      • Playerctl replacement (so the "current player" is consistent across keybinds and the bar)
    • tryfol-idle-inhibitor: small executable to manually inhibit idling, used to prevent swayidle from triggering after resuming from hibernation (run before sleep and terminate on resume, though it might not solve the issue)
  • Show USB devices battery if available (logitech mouse)
  • Use a consistent method of displaying errors (either all with Display or all with Debug)
  • Network: add ping with router and with internet
  • Network: if ping with the routeur exceed a thresold, disconnect and reconnect (in Daemon)

Other known issues

  • The Bluetooth module frequently triggers panics, though these are caught by GTK. This should be resolved after the module is refactored.
  • Errors from the mpris module due to players disappearing. Those are not severe in any way, but I might refactor the mpris module to fix them at some point.

About

My own bar for Hyprland

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages