elementary / elementary/panel-keyboard
LayoutButtons' button bind to non-existent property
- Dominant language
- Vala
- Stars
- 13
- Forks
- 6
- Avg merge
- 4h 50m
- Merged PRs (30d)
- 1
Description
### What Happened?
During gtk4 port `LayoutButton`'s internal button was changed from `Gtk.ModelButton` to `Wingpanel.PopoverMenuItem`. But [old binding to `ModelButton`'s `active` property](https://github.com/elementary/panel-keyboard/blob/a1c6bed89e9e7f5a94b4a0d877e42eb512871b1f/src/LayoutButton.vala#L36) was left behind. As a result there is always a critical during panel startup. Also now there is no radio button to indicate chosen layout.
### Steps to Reproduce
1. Add multiple keyboard layouts
2. Launch wingpanel from the terminal
### Expected Behavior
No critical errors
### OS Version
Other Linux (fedora 44, gtk 4.22.4)
### OS Architecture
amd64 (on most hardwares)
### Session Type
Secure Session (Wayland, This is the default)
### Software Version
Early Access or Compiled from git
wingpanel https://github.com/elementary/wingpanel/commit/046d7945d066e37c1ec24687a32cae3c11114b75
panel-keyboard https://github.com/elementary/panel-keyboard/commit/a1c6bed89e9e7f5a94b4a0d877e42eb512871b1f
### Log Output
```shell
(io.elementary.wingpanel:13517): GLib-GObject-CRITICAL **: 20:54:52.298: ../gobject/gbinding.c:1301: The target object of type WingpanelPopoverMenuItem has no property called 'active'
```
### Hardware Info
_No response_
Contributor guide
Research direction
Start with src/LayoutButton.vala, especially the binding around line 36, and compare it with the current Wingpanel.PopoverMenuItem properties. Reproduce the issue by configuring multiple keyboard layouts and launching wingpanel from a terminal. Done means startup produces no critical binding error and the chosen layout has a visible radio-button indication.
Written by the indexing model from the issue text.
Assessment
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100