elementary / elementary/panel-keyboard

LayoutButtons' button bind to non-existent property

Open Beginner friendly
#159 0 comments 1 reaction 0 assignees View on GitHub
Status: Confirmed
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.