Skip to content

Golden Gate Dock: «Системные настройки» и Telegram в Dock, клик может сворачивать активную программу / Dock: Settings and Telegram fixes, click to minimize - #145

Closed
Alastor1991 wants to merge 4 commits into
MixaDoDs:mainfrom
Alastor1991:dock-clicks

Conversation

@Alastor1991

@Alastor1991 Alastor1991 commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

Баг: «Системные настройки» в Dock не открываются

Клик по значку «Системные настройки» вызывал только Shell.openSettings(). Пока настройки уже открыты, эта функция ничего не делает, поэтому со свёрнутым окном настроек значок не делал вообще ничего. Окно возвращалось только кликом по его отдельной миниатюре справа.

Теперь окно настроек обрабатывается как окно программы: свёрнутое возвращается, открытое выходит вперёд.

Новое: клик по активной программе сворачивает её

Настройки → Dock → «Клик по активной программе сворачивает её» (mac.dockClickMinimizes). По умолчанию выключено, как на Mac.

  • Включено: клик по значку программы, которая уже впереди, отправляет её окно в фокусе в Dock, как это делает пиксельная панель задач (Tasks.qml). Работает и для «Системных настроек».
  • Выключено: как раньше, клик переходит к её следующему окну.

Ключ добавлен в сброс темы.

Баг: Telegram не остаётся в Dock

entryOf() всегда срезал с id хвост .desktop. Но у Telegram id сам кончается на .desktop: id org.telegram.desktop, файл org.telegram.desktop.desktop. Поиск шёл по org.telegram, ничего не находил, и Dock выкидывал значок как удалённую программу. Закреплённый из меню Dock или из Spotlight, Telegram в Dock так и не появлялся, а у его запущенных окон не было записи.

Теперь bareId() срезает суффикс, только если запись не находится по id целиком. Через неё работают entryOf(), defaultId() и закреплённое в «Пуске». Проверено вживую: Telegram закрепляется и показывается со своим значком.

Проверено

На живом шелле (niri 26.04, angel-niri ce52b4a8). scripts/qml-check.sh: 710 файлов, 0 ошибок.

Если вливать вместе с #141: оба PR дописывают ключ в одну строку themeKeys в GoldenGate.qml, там будет простой конфликт.

EN
  • System Settings opens from its Dock icon. A click only called Shell.openSettings(), which does nothing while Settings is open, so with its window minimized the icon did nothing at all. Its window is handled as an app's now: a minimized one comes back, an open one comes to the front.

  • Settings → Dock → "Click the app in front to minimize it" (mac.dockClickMinimizes, off by default, as on a Mac): on, a click on the icon of the app in front sends its focused window to the Dock, as the pixel taskbar does; off, the click goes on to its next window as before. Also for System Settings; in the skin's reset list.

  • Apps whose id ends in .desktop stay in the Dock (Telegram: org.telegram.desktop). entryOf() always stripped the suffix, looked for org.telegram, found nothing and dropped the app as uninstalled. bareId() strips it only when the whole id isn't an entry's; entryOf(), defaultId() and Start's pinned apps use it.

Tested on a live shell; qml-check 710 files / 0 errors. With #141: both add a key to the same themeKeys line in GoldenGate.qml, a trivial conflict.

🤖 Generated with Claude Code

Alastor1991 and others added 2 commits November 1, 2026 15:51
…nimize the app in front

- System Settings: a click on its Dock icon only called Shell.openSettings(),
  which does nothing while Settings is open, so with its window minimized the
  icon did nothing at all. Its window is handled as an app's now: a minimized
  one comes back, an open one comes to the front.
- Settings → Dock → "Click the app in front to minimize it"
  (mac.dockClickMinimizes, off by default, as on a Mac): on, a click on the
  icon of the app in front sends its focused window to the Dock, as the pixel
  taskbar does; off, the click goes on to its next window as before. Also for
  System Settings. In the skin's reset list.

Checked on a live shell; qml-check: 710 files, 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… the Dock

entryOf() always stripped ".desktop" from the id. Telegram's desktop id is
org.telegram.desktop (its file org.telegram.desktop.desktop), so it was looked
for as org.telegram, wasn't found, and the Dock dropped it as uninstalled:
kept from the Dock's or Spotlight's menu, it never showed. Its running windows
had no entry either.

bareId() strips the suffix only when the whole id isn't an entry's; entryOf(),
defaultId() and Start's pinned apps use it. Seen on a live shell: Telegram
kept, shown, its icon right; qml-check: 710 files, 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Alastor1991 Alastor1991 changed the title Golden Gate Dock: «Системные настройки» открываются со своего значка; клик может сворачивать активную программу / Dock: Settings opens from its icon, click to minimize Golden Gate Dock: «Системные настройки» и Telegram в Dock, клик может сворачивать активную программу / Dock: Settings and Telegram fixes, click to minimize Nov 1, 2026
From a review of this PR: the Settings item had a branch of its own repeating the apps'
(a minimized window back, the one in front down, else focus), and it picked the first
minimized window where the apps take the last. Now its windows go through the apps'
branch and only the launch differs: with no window, Shell.openSettings().

qml-check: 710 files, 0 errors.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…e back as apps do

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MixaDoDs pushed a commit that referenced this pull request Nov 3, 2026
… one a line

Every new Golden Gate setting touched two one-line lists in services/GoldenGate.qml:
_watched (what triggers sanitize) and themeKeys (what «Reset the theme» puts back). So
any two PRs adding a setting conflicted there (#141, #145, #149, #152, #153 do, pairwise).

- _watched is built from the keys of limits and choices: a key with a range or a list
  of choices is watched by being there (lightFrom and darkFrom, in limits but missing
  from the old list, are watched now too);
- themeKeys, limits and choices hold one key a line, in order, so new settings land on
  lines of their own.

No change in behaviour otherwise. qml-check: 719 files, 0 errors; the Golden Gate system
tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MixaDoDs

MixaDoDs commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Вошло в angelOS вместе с остальными PR этой пачки — main 0821398 (обновление 05.11). Спасибо! / Shipped in main 0821398 (the 05.11 update). Thanks!

@MixaDoDs MixaDoDs closed this Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants