plac

Roon remote in GTK4

Commits at 8b2cd99d0477caf3d830eca582e47f06fd45749c

  1. 8b2cd99d nix: Delete workaround no longer necessary Fixed in upstream. Shota FUJI authored at Shota FUJI comitted at
  2. a7834df2 nix: Specify Zig version To allow overriding "nixpkgs" from importer. Shota FUJI authored at Shota FUJI comitted at
  3. eeea1fbe Add disconnect menu option Manually clearing out gsetting entries is not great way to interact with GTK application, even though this operation is quite rare. Shota FUJI authored at Shota FUJI comitted at
  4. df49c927 Add direct connect feature It's impossible to perform server discovery on certain environments. For example, my development setup uses Incux (LXC) and that prevents UDP broadcast. This feature provides an escape hatch for those situations. It's not for everyone, so I didn't put much effort. Shota FUJI authored at Shota FUJI comitted at
  5. 5d9cd731 Upgrade Zig to v0.16 Shota FUJI authored at Shota FUJI comitted at
  6. a71ba239 v1.3.1 Shota FUJI authored at Shota FUJI comitted at
  7. f0d1f828 Fix category panel loses focus after opened When "AdwOverlaySplitView" opens the sidebar, it moves focus to the list widget and the list widget *emits "row_selected" signal* with the currently selected row. This quirks made the previously added close-sidebar-on-row-select code to immediately close the sidebar upon opening, but somehow the split view prevents closing the sidebar immediately. As a result, the sidebar is closed-but-open state and focus moves to the browse item row. The code added in this patch is a workaround to this GTK bug. Inside "row_selected" signal handler, it checks whether the signal is really a "selected" event or not by testing the values. Shota FUJI authored at Shota FUJI comitted at
  8. babb27de Fix playback buttons have empty screen reader label GtkButton or something messes with the `label` property? idk. https://codeberg.org/pocka/plac-for-gtk4/issues/29 Shota FUJI authored at Shota FUJI comitted at
  9. 376f82ab Close category panel after selection when "focus on load" is enabled The "focus browse items on load" option moves focus to the first loaded item. This is problematic when the category panel (sidebar) is collapsed and user selected a category using keyboard: the app moves focus to the browse item list, but category panel is still open. In other words, focus moves to the widget under an overlay. While the behavior after this patch is not the best one, it's the safest and correct one, I believe. Shota FUJI authored at Shota FUJI comitted at
  10. e6e1046d Delete unused file Shota FUJI authored at Shota FUJI comitted at
  11. c5c794be Ignore "nix build" output Shota FUJI authored at Shota FUJI comitted at
  12. 5488c71b v1.3.0 Shota FUJI authored at Shota FUJI comitted at
  13. 7117b5f9 Add user-customizable keyboard shortcuts https://codeberg.org/pocka/plac-for-gtk4/issues/26 All but "browse back" have no default set for backward-compatibility. "F10" for "Open application menu" might be a good candidate for default, but I'm afraid that stealing key press from DE or other stack's shortcut. --- Why writing own UI and mechansim? GTK4/GNOME does not have good support for keyboard shortcuts. It does not have a native way to let users customize shortcut, or API to do so. This is fundamental design problem of GNOME. From their HIG: https://developer.gnome.org/hig/guidelines/keyboard.html > Use the standard GNOME shortcut keys if your app supports those functions. > ... > Don’t assign awkward reaches. Some people may only be able to use one hand > on the keyboard, so shortcuts that can be easily used with one hand are > preferable for common operations. (This guideline also applies to access > keys below.) While the first line makes sense, the "standard GNOME shortcut keys" lacks many application types they couldn't imagine of, thus "non-standard" applications have difficult time finding unused safe key combinations. The last line is straightup garbage. It's clear they don't understand keyboard accessibility at all: people have different hand shapes, use different keyboard layouts, or may have difficulty using their hand partially or entirely. Application opts to non-configurable keyboard shortcut is *okay*, but UI toolkit and platform embracing hardcoded keyboard shortcuts is not. It's accessibility nightmare. A GUI toolkit can't have great accessibility without user configurable keyboard shortcuts as a first-class citizen. I suspect this situation won't improve for foreseeable future. GTK maintainer's stance is "it's application developer's responsibility." "AdwShortcut*" widgets have no editing capability, and probably will not given the HIG's writing. So each application has to write each own keyboard shortcuts configuration mechanism, I guess. The code is not that complex or massive. It's just I'm disappointed. Shota FUJI authored at Shota FUJI comitted at
  14. a50feb86 Add "Disable changing sensitivity before and after API calls" option https://codeberg.org/pocka/plac-for-gtk4/issues/27 To workaround GTK4 moves focus to a sensitive widget when a widget goes to insensitive state. Although the option suppress the safeguard, GTK4 still moves focus on pressing "play" and "pause", because it's two buttons changing visibility instead of a single button swapping appearance and label. Shota FUJI authored at Shota FUJI comitted at
  15. 96f826fe Define preferences dialog UI in XML file Application.vala got too messy. Shota FUJI authored at Shota FUJI comitted at
  16. 73949790 Add options to change seekbar's step/jump size It has been fixed to 1s/10s. Ideal seekbar step size depends on personal preferences, so I made it customizable. I changed my config to 5s/20s after little fiddling. https://codeberg.org/pocka/plac-for-gtk4/issues/25 Shota FUJI authored at Shota FUJI comitted at
  17. 767d22f8 Add stop button to playback toolbar It works like the one on a cassette player. I wanted it to behave like other apps, but Roon API lacks "clear queue" functionality. It does have "subscribe to queue changes" and "play from this queue item" but using those are hacky and fragile. <https://codeberg.org/pocka/plac-for-gtk4/issues/24> Shota FUJI authored at Shota FUJI comitted at
  18. bcb055cc v1.2.0 Shota FUJI authored at Shota FUJI comitted at
  19. 25338e79 Add "Default category" option I personally don't use "Explorer" category much. The most frequently used category differs by person, or even same person can change the preferred category over time. Shota FUJI authored at Shota FUJI comitted at
  20. 5459e704 Add "Hide window titlebar" preference option Close button and window title does not make sense for certain kind of window managers. Shota FUJI authored at Shota FUJI comitted at
  21. d625bacf Reorganize preference items To use more common terminology. Shota FUJI authored at Shota FUJI comitted at
  22. 0f73b5a7 Get rid of treefmt It's not good. Overall design, speed, touches git, etc. dprint is simple, and `buildFHSEnv` is enough for NixOS. Shota FUJI authored at Shota FUJI comitted at
  23. 2b1e1d3b Fix indentation in README Shota FUJI authored at Shota FUJI comitted at
  24. 2c161d22 Make app menu available at server discovery window Otherwise user has to manually edit dconf entry in order to set UDP port. Shota FUJI authored at Shota FUJI comitted at
  25. 53dd3706 Expose discovery-udp-port option to preference UI Shota FUJI authored at Shota FUJI comitted at
  26. 72378989 Add Installation section to README Shota FUJI authored at Shota FUJI comitted at
  27. 5c89c2aa Add build script for Flatpak single-file bundle Shota FUJI authored at Shota FUJI comitted at
  28. 85815545 Fix illegal icon locations According to Flatpak documentation, it's illegal. Shota FUJI authored at Shota FUJI comitted at
  29. 0aeafce0 Add CHANGELOG Shota FUJI authored at Shota FUJI comitted at
  30. 0b13d726 v1.1.0 Shota FUJI authored at Shota FUJI comitted at