mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
ibusCandidatePopup: Set OSK candidates list visibility correctly
Right now, we don't pay much attention to visibility hints from IBus about the candidates list for the OSK suggestions bar. Since some IMs rely on this visibility being honored, do that. To fix this, the visibility hints for the lookup table are now propagated to the keyboard, so the Suggestions actor hides its internal candidate buttons. Since the Suggestions actor gets its minimum height from CSS, this does not result in OSK size jumps. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5601 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2347>
This commit is contained in:
parent
35ff4bfe3c
commit
237ba24dbe
2 changed files with 12 additions and 0 deletions
|
|
@ -270,6 +270,7 @@ class IbusCandidatePopup extends BoxPointer.BoxPointer {
|
|||
indexes.push(indexLabel.get_text());
|
||||
|
||||
Main.keyboard.resetSuggestions();
|
||||
Main.keyboard.setSuggestionsVisible(visible);
|
||||
|
||||
let candidates = [];
|
||||
for (let i = startIndex; i < endIndex; ++i) {
|
||||
|
|
@ -289,10 +290,12 @@ class IbusCandidatePopup extends BoxPointer.BoxPointer {
|
|||
this._candidateArea.updateButtons(lookupTable.is_round(), page, nPages);
|
||||
});
|
||||
panelService.connect('show-lookup-table', () => {
|
||||
Main.keyboard.setSuggestionsVisible(true);
|
||||
this._candidateArea.show();
|
||||
this._updateVisibility();
|
||||
});
|
||||
panelService.connect('hide-lookup-table', () => {
|
||||
Main.keyboard.setSuggestionsVisible(false);
|
||||
this._candidateArea.hide();
|
||||
this._updateVisibility();
|
||||
});
|
||||
|
|
|
|||
|
|
@ -227,6 +227,11 @@ class Suggestions extends St.BoxLayout {
|
|||
clear() {
|
||||
this.remove_all_children();
|
||||
}
|
||||
|
||||
setVisible(visible) {
|
||||
for (const child of this)
|
||||
child.visible = visible;
|
||||
}
|
||||
});
|
||||
|
||||
var LanguageSelectionPopup = class extends PopupMenu.PopupMenu {
|
||||
|
|
@ -1940,6 +1945,10 @@ var Keyboard = GObject.registerClass({
|
|||
this._suggestions.clear();
|
||||
}
|
||||
|
||||
setSuggestionsVisible(visible) {
|
||||
this._suggestions?.setVisible(visible);
|
||||
}
|
||||
|
||||
addSuggestion(text, callback) {
|
||||
if (!this._suggestions)
|
||||
return;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue