Skip to content

Latest commit

 

History

History
107 lines (95 loc) · 14.2 KB

File metadata and controls

107 lines (95 loc) · 14.2 KB

Changelog

All notable changes to this project will be documented in this file.

1.0.0 - 2026-05-23

♻️ Refactoring

  • trim Pulse wrapper to required functionality by @buzz (86bec25)
  • replace custom Shared type with Rc<RefCell> by @buzz (d12c110)
  • replace std::sync::mpsc with async_channel by @buzz (7565d4f)
  • modularize app and mixer window into submodules by @buzz (1c0ef07)
  • clean up tray callback logic by @buzz (97de59e)
  • modernize pulseaudio wrapper and improve safety by @buzz (694715d)
  • close/recreate mixer window on toggle by @buzz (6b8da56)
  • remove x11rb by reusing GDK's X11 connection by @buzz (4aa2e79)
  • replace x11rb with raw xlib via shared X11Context by @buzz (44e351d)
  • consolidate shared X11 utilities and fix mixer window placement by @buzz (7001702)
  • add consistent padding to mixer window by @buzz (ce6d9c7)
  • remove prefer-gtksi XEmbed preference option by @buzz (c37dec4)
  • implement structured error handling with tracing by @buzz (e5bce3d)
  • wire peak updates and auto-toggle VU monitoring by @buzz (7942661)
  • move #[link(name = "Xfixes")] to crate root by @buzz (0c45596)
  • make X11Context a zero-sized type by @buzz (ed8be01)
  • convert show_about and show_prefs to associated functions by @buzz (429efae)
  • address low-priority code review findings by @buzz (ccbadbf)
  • split module into types, monitor, and controller by @buzz (2692768)

⚡ Performance

  • pass AtomCollection to set_window_type instead of recreating it by @buzz (26ec509)
  • add minimum decay floor to peak values for smoother VU transitions by @buzz (6f1e4dd)

✨ Features

  • scaffold initial project structure by @buzz (6b97ae6)
  • add UI modules (tray, mixer window, X11, Wayland) by @buzz (cfdad27)
  • implement GtkApplication subclass by @buzz (10dc6e6)
  • implement GtkWindow subclass by @buzz (784e0ad)
  • add application lifecycle and state management by @buzz (806b718)
  • add PulseAudio integration by @buzz (028b51e)
  • implement dynamic status icon updates by @buzz (2086c81)
  • add scroll wheel and tooltip support by @buzz (632807d)
  • add menu items and active sink mute toggle by @buzz (5d20e87)
  • dynamically add/remove/update volume scales by @buzz (d7cfd07)
  • add error handling by @buzz (0838047)
  • add preferences window by @buzz (27fe434)
  • add OSD (X11) by @buzz (5b0faac)
  • add OSD (Wayland) by @buzz (f9bbabe)
  • add about dialog by @buzz (ace652d)
  • position mixer window relative to tray anchor using screen quadrant by @buzz (90ff0f7)
  • add auto-close timeout with mouse hover pause by @buzz (9e725e9)
  • enable optional extra volume (up to 150%) by @buzz (492f307)
  • implement external mixer launch and wire secondary tray action by @buzz (368192d)
  • add setting to toggle percentage display on volume scale by @buzz (1590c75)
  • add separator between audio interfaces and applications in mixer by @buzz (d0be1eb)
  • add peak level monitoring with smooth decay and VU meter by @buzz (afdd10e)
  • improve tooltips with rich formatting and media info by @buzz (d04a0f8)
  • color VU meter fill red on clipping (peak >= 1.0) by @buzz (03d3b3f)
  • add Wayland mixer window placement settings by @buzz (64f26cd)
  • add configurable margin settings for OSD and mixer window by @buzz (69a067f)
  • add toggle to enable/disable fade animations by @buzz (5f83f56)

🐛 Bug Fixes

  • set proper window hints and properties by @buzz (f4dc473)
  • break tray message loop on application quit by @buzz (1caa34e)
  • persist/restore settings correctly, update OSD settings controls disable state by @buzz (2ca8bd1)
  • wire VolumeScale signals to correct PulseAudio stream by @buzz (b52b607)
  • fix icon resolution for sink and sink input streams by @buzz (7cae177)
  • prevent (0,0) flicker and duplicate window race on X11 by @buzz (fbc3f33)
  • disable text selection on labels in about dialog by @buzz (149a7a3)
  • prevent premature operation drop and remove unnecessary mainloop locking by @buzz (cca5b2b)
  • remove std::mem::forget on Operation to fix memory leak by @buzz (d28c7f2)
  • install monitor stream callbacks before connect_record by @buzz (6977ded)
  • align allow_extra_volume default with GSettings schema by @buzz (e7374e6)
  • store and cancel the periodic update timer on shutdown by @buzz (4118e60)
  • associate window with Application parent by @buzz (8fc950e)
  • associate OSD window with Application parent by @buzz (4b701e6)
  • set opposite anchors for center positioning on Wayland by @buzz (823e547)
  • move tooltip text to title field and remove markup by @buzz (383fd3f)
  • fix layer-shell center positioning on Wayland by @buzz (1aa2c84)
  • set explicit layer-shell namespaces for OSD and mixer window by @buzz (e5e18f4)

💅 Styling

📚 Documentation

📦 Dependencies

🔀 Other Changes

  • improve scale controls with tick marks and label alignment by @buzz (438b842)

🔧 Miscellaneous Chores


Note: Previous changes can be found in the legacy-python branch.