From 369fadd74b59b1b6b2d9d8b6dbd7c995648632be Mon Sep 17 00:00:00 2001 From: Pico Date: Fri, 20 Mar 2026 09:00:33 +0300 Subject: [PATCH 1/6] add click-to-mute on app icons in the volume mixer --- .../volumeMixer/VolumeMixerEntry.qml | 53 +++++++++++++++---- 1 file changed, 43 insertions(+), 10 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml index a871c05c6..f616273ed 100644 --- a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml +++ b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml @@ -5,6 +5,7 @@ import QtQuick import QtQuick.Layouts import Quickshell import Quickshell.Services.Pipewire +import Qt5Compat.GraphicalEffects Item { id: root @@ -20,19 +21,51 @@ Item { anchors.fill: parent spacing: 6 - Image { + Item { property real size: 36 Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter - visible: source != "" - sourceSize.width: size - sourceSize.height: size - source: { - let icon; - icon = AppSearch.guessIcon(root.node?.properties["application.icon-name"] ?? ""); - if (AppSearch.iconExists(icon)) + Layout.preferredWidth: size + Layout.preferredHeight: size + + Image { + id: iconImg + anchors.fill: parent + visible: false + sourceSize.width: parent.size + sourceSize.height: parent.size + source: { + let icon; + icon = AppSearch.guessIcon(root.node?.properties["application.icon-name"] ?? ""); + if (AppSearch.iconExists(icon)) + return Quickshell.iconPath(icon, "image-missing"); + icon = AppSearch.guessIcon(root.node?.properties["node.name"] ?? ""); return Quickshell.iconPath(icon, "image-missing"); - icon = AppSearch.guessIcon(root.node?.properties["node.name"] ?? ""); - return Quickshell.iconPath(icon, "image-missing"); + } + } + + Desaturate { + anchors.fill: iconImg + source: iconImg + desaturation: root.node?.audio.muted ? 1.0 : 0.0 + visible: iconImg.source != "" + opacity: root.node?.audio.muted ? 0.4 : 1.0 + + Behavior on opacity { NumberAnimation { duration: 150 } } + Behavior on desaturation { NumberAnimation { duration: 150 } } + } + + MaterialSymbol { + anchors.centerIn: parent + visible: root.node?.audio.muted ?? false + text: root.node?.isSink ? "volume_off" : "mic_off" + font.pixelSize: 22 + color: Appearance.colors.colError + } + + MouseArea { + anchors.fill: parent + cursorShape: Qt.PointingHandCursor + onClicked: root.node.audio.muted = !root.node.audio.muted } } From b306d308b7ff0b3fedfbb2d6ffd224352699f09e Mon Sep 17 00:00:00 2001 From: xleb-normal Date: Fri, 20 Mar 2026 14:18:36 +0500 Subject: [PATCH 2/6] Update Russian localization and add missing strings #2 --- .../quickshell/ii/translations/ru_RU.json | 72 ++++++++++--------- 1 file changed, 37 insertions(+), 35 deletions(-) diff --git a/dots/.config/quickshell/ii/translations/ru_RU.json b/dots/.config/quickshell/ii/translations/ru_RU.json index 3b9e61be3..703e29351 100644 --- a/dots/.config/quickshell/ii/translations/ru_RU.json +++ b/dots/.config/quickshell/ii/translations/ru_RU.json @@ -41,13 +41,13 @@ "Region height": "Высота области", "Load chat": "Загрузить чат", "Gives the model search capabilities (immediately)": "Вкл. поиск для модели (сразу)", - "Depends on workspace": "Зависит от стола", + "Depends on workspace": "Зависит от пространства", "Enter password": "Введите пароль", "Local only": "Только локальные", "at": "в", "Math": "Математика", "Consider plugging in your device": "Подключите зарядку", - "Workspaces shown": "Видимые столы", + "Workspaces shown": "Видимые пространство", "Place the corners to trigger at the bottom": "Триггер-углы снизу", "No API key\nSet it with /key YOUR_API_KEY": "Нет API-ключа\nУстановите: /key ВАШ_КЛЮЧ", "Auto (System)": "Авто (система)", @@ -57,7 +57,7 @@ "%1 notifications": "%1 уведомлений", "Region width": "Ширина области", "Max allowed increase": "Макс. Разница", - "Enable translator": "Вкл. переводчик", + "Enable translator": "Переводчик в левой панели", "Constantly rotate": "Постоянное вращение", "Automatically suspends the system when battery is low": "Авто-сон при низком зар.", "Cannot find a GPS service. Using the fallback method instead.": "GPS не найден. Резервный метод.", @@ -85,7 +85,7 @@ "Reset": "Ресет", "Back": "Назад", "Dark/Light toggle": "Тоггл темы", - "12h am/pm": "12ч AM/PM", + "12h am/pm": "12ч am/pm", "Download complete": "Загрузка завершена", "Enable blur": "Вкл. размытие", "Second hand": "Стиль секундной стрелки", @@ -122,7 +122,7 @@ "Configuration": "Конфиг", "Keep system awake": "Оставлять систему включённой", "Unknown command:": "Неизв. команда:", - "Anime boorus": "Аниме-бору", + "Anime boorus": "Аниме-боору", "To Do:": "Задачи:", "Uses Gemini to categorize the wallpaper then picks a preset based on it.\nYou'll need to set Gemini API key on the left sidebar first.\nImages are downscaled for performance, but just to be safe,\ndo not select wallpapers with sensitive information.": "Gemini определяет тип обоев и подбирает пресет.\nСначала укажите API-ключ Gemini в левой панели.\nИзображения уменьшаются для производительности -\nне выбирайте обои с конфиденциальными данными.", "Bottom": "Снизу", @@ -132,7 +132,7 @@ "Format": "Формат", "Make sure your player has MPRIS support\nor try turning off duplicate player filtering": "Убедитесь, что плеер поддерживает MPRIS\nили отключите в конфиге «filterDuplicatePlayers»", "Pause": "Пауза", - "Desktop": "Стол", + "Desktop": "Рабочий стол", "Conflicts with the shell's system tray implementation": "Конфликт с треем оболочки", "Your package manager is running": "Запущен пакетный менеджер", "Conflicts with the shell's notification implementation": "Конфликт с уведомлениями оболочки", @@ -186,10 +186,10 @@ "Nothing here!": "Тут пусто!", "Overview": "Обзор", "Random: osu! seasonal": "Случайные: сезонные osu!", - "If you want to somehow use fingerprint unlock...": "Если хотите разблокировку по отпечатку...", + "If you want to somehow use fingerprint unlock...": "Если хотите разблокировку по отпечатку пальца...", "Minute hand": "Стиль минутной стрелки", "Notifications": "Уведомления", - "Enable if you want clocks to show seconds accurately": "Вкл. для точных секунд", + "Enable if you want clocks to show seconds accurately": "Включите для отображения секунд на часах", "Timer": "Таймер", "System prompt": "Системный промпт", "Classic": "Классический", @@ -202,7 +202,7 @@ "Date style": "Стиль даты", "System": "Система", "Usage: %1tool TOOL_NAME": "Исп: %1tool ИМЯ_ИНСТРУМЕНТА", - "Workspaces": "Столы на панели", + "Workspaces": "Пространства на панели", "Calendar": "Дата", "**Instructions**: Log into Mistral account, go to Keys on the sidebar, click Create new key": "**Инструкция**: войдите в Mistral, откройте «Ключи» на боковой панели, нажмите «Создать ключ»", "Volume limit": "Порог звука", @@ -296,7 +296,7 @@ "Loaded the following system prompt\n\n---\n\n%1": "Загружен системный промпт\n\n---\n\n%1", "Show next time": "Показать в след. раз", "Current tool: %1\nSet it with %2tool TOOL": "Текущий инструмент: %1\nУстановить: %2tool ИНСТРУМЕНТ", - "Unread indicator: show count": "Счётчик непрочит.", + "Unread indicator: show count": "Счётчик непрочитанных", "That didn't work. Tips:\n- Check your tags and NSFW settings\n- If you don't have a tag in mind, type a page number": "Не удалось. Советы:\n- Проверьте теги и настройки NSFW\n- Если тег неизвестен, введите номер страницы", "Dots": "С точками", "Cloudflare WARP (1.1.1.1)": "Cloudflare WARP (1.1.1.1)", @@ -354,7 +354,7 @@ "Page %1": "Страница %1", "Feels like %1": "Ощущается как %1", "Distro": "Дистрибутив", - "Transparency": "Вкл. прозрачность", + "Transparency": "Включить прозрачность", "%1 • %2 tasks": "%1 • %2 задач", "Markdown test": "Тест Markdown", "Invalid tool. Supported tools:\n- %1": "Неверный инструмент. Поддерживаемые:\n- %1", @@ -374,18 +374,18 @@ "Reject": "Отклонить", "Set API key": "Установить API-ключ", ". Notes for Zerochan:\n- You must enter a color\n- Set your zerochan username in `sidebar.booru.zerochan.username` config option. You [might be banned for not doing so](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous.)!": ". Заметки для Zerochan:\n- Необходимо указать цвет\n- Укажите имя пользователя в `sidebar.booru.zerochan.username`. [Без этого вас могут заблокировать](https://www.zerochan.net/api#:~:text=The%20request%20may%20still%20be%20completed%20successfully%20without%20this%20custom%20header%2C%20but%20your%20project%20may%20be%20banned%20for%20being%20anonymous)!", - "Content": "Контента", - "Pomodoro": "Таймер", + "Content": "В контенте", + "Pomodoro": "Помодоро", "Vertical": "Вертикальный", "Pick a wallpaper": "Выбрать обои", "Load chat from %1": "Загрузить чат из %1", - "Launch on startup": "Запускать при старте", + "Launch on startup": "Запускать при старте системы", "Add": "Добавить", "Style: general": "Основное", "Use Levenshtein distance-based algorithm instead of fuzzy": "Алг. Левенштейна вместо нечёткого", "Shell & utilities theming must also be enabled": "Также нужна тема оболочки", - "Workspace": "Стол", - "Translator": "Переводчик", + "Workspace": "Пространство", + "Translator": "Перевод", "Free:": "Есть:", "🌿 Long break: %1 minutes": "🌿 Длинный перерыв: %1 мин", "Value scroll": "Скролл значений", @@ -468,7 +468,7 @@ "Generate translation with Gemini": "Сгенерировать перевод с Gemini", "Generating...\nDon't close this window!": "Генерация...\nНе закрывайте окно!", "Generate\nTypically takes 2 minutes": "Сгенерировать\nОбычно ~2 мин", - "Use system file picker": "Сист. выборщик", + "Use system file picker": "Системный выборщик", "Wallpaper selector": "Выбор обоев", "When the previous option is off and this is on,\nyou can still hover the corner's end to open sidebar,\nand the remaining area can be used for volume/brightness scroll": "Если предыдущий параметр выключен, а этот включён,\nможно навести на край угла для открытия панели,\nоставшаяся область работает для прокрутки громкости/яркости", "Copy path": "Копировать путь", @@ -482,23 +482,23 @@ "Show aim lines": "Показать линии прицела", "Why this is cool:\nFor non-0 values, it won't trigger when you reach the\nscreen corner along the horizontal edge, but it will when\nyou do along the vertical edge": "Зачем это нужно:\nПри ненулевых значениях не срабатывает при достижении угла\nпо горизонтальному краю, но срабатывает по вертикальному", "Please charge!\nAutomatic suspend triggers at %1%": "Зарядите устройство!\nАвто-сон при %1%", - "Example use case: eroge on one workspace, dark Discord window on another": "Пример: эроге на одном рабочем столе, тёмный Discord на другом", + "Example use case: eroge on one workspace, dark Discord window on another": "Пример: eroge на одном пространстве, тёмный Discord на другом", "Couldn't recognize music": "Музыка не распознана", "Automatic": "Автоматически", - "Hint target regions": "Обводка областей у...", + "Hint target regions": "Обводка областей", "Eye protection": "Защита глаз", "Layers": "Слоёв", "Listening...": "Слушаю...", "LMB to enable/disable\nRMB to toggle size\nScroll to swap position": "ЛКМ - вкл/выкл\nПКМ - изменить размер\nПрокрутка - поменять позицию", "Identify Music": "Определить музыку", - "Quick toggles": "Быстрые тогглы", + "Quick toggles": "Быстрые тогглы (стиль)", "Hide sussy/anime wallpapers": "Скрывать подозр./аниме обои", "Android": "Android", "Show": "Показать", "Muted": "Мут", "Audio input | Right-click for volume mixer & device selector": "Аудиовход | ПКМ - микшер и выбор устройства", "Region selector (screen snipping/Google Lens)": "Выбор области (Скрин / Google Lens)", - "Total duration timeout (s)": "Макс. длит. (с)", + "Total duration timeout (s)": "Макс. длительность (сек)", "Music Recognition": "Поиск музыки", "Night Light | Right-click to configure": "Ночной свет | ПКМ для настройки", "Anti-flashbang (experimental)": "Анти-вспышка (эксперим)", @@ -512,7 +512,7 @@ "Content region": "Обл. контента", "Internet": "Интернет", "Record": "Запись", - "Circle selection": "Круговое выдел.", + "Circle selection": "Круговое обведение", "Edit quick toggles": "Изменить быстрые тогглы", "Virtual Keyboard": "Вирт. клавиатура", "Music Recognized": "Музыка распознана", @@ -545,7 +545,7 @@ "Click to cycle through power profiles": "Клик - смена профиля питания", "Recognize music | Right-click to toggle source": "Найти музыку | ПКМ - сменить источник", "Use old sine wave cookie implementation": "Старая реализация Cookie (синусоида)", - "Rectangular selection": "Обыч. выделение", + "Rectangular selection": "Обычное выделение", "Audio output": "Аудиовыход", "Circle to Search": "Обведите для поиска", "Audio output | Right-click for volume mixer & device selector": "Аудиовыход | ПКМ - микшер и выбор устройства", @@ -562,7 +562,7 @@ "Stroke width": "Толщина обводки", "Use varying shapes for password characters": "Разные фигуры для симв. пароля", "Battery full": "Батарея заряжена", - "Image source": "Источник изобр.", + "Image source": "Источник изображения (ссылка)", "Restart": "Перезапустить", "Close (Esc)": "Закрыть (Esc)", "Actions": "Действия", @@ -586,7 +586,7 @@ "Notes": "Заметки", "File Explorer": "Проводник", "Stopping...": "Остановка...", - "Used for code and terminal": "Для кода и терм.", + "Used for code and terminal": "Для кода и терминала", "Video Recording Path": "Путь для видеозаписей", "Enjoy your empty sidebar...": "Наслаждайтесь пустой панелью...", "Cookie": "Cookie MD3", @@ -606,14 +606,14 @@ "Parallax": "Параллакс", "Move left": "Переместить влево", "Anti-flashbang": "Анти-вспышка", - "Desktop %1": "Стол %1", + "Desktop %1": "Рабочий Стол %1", "%1\nInternet access": "%1\nДоступ в интернет", "(Plugged in)": "(Подключено)", "Off": "Выкл", - "Overlay: General": "Оверлей: общий", + "Overlay: General": "Игровой оверлей", "Enable opening zoom animation": "Анимация зума при открытии", "More Internet settings": "Доп. сетевые настройки", - "Nerd font icons": "Иконки Nerd Font", + "Nerd font icons": "Иконки Nerd Font (эмодзи)", "Display modifiers and keys in multiple keycap (e.g., \"Ctrl + A\" instead of \"Ctrl A\" or \"󰘴 + A\" instead of \"󰘴 A\")": "Показывать модификаторы с разделителем (напр, «Ctrl + A» вместо «Ctrl A»)", "Change password": "Изменить пароль", "Check interval (mins)": "Интервал пров. (мин)", @@ -633,7 +633,7 @@ "Numbers font": "Шрифт чисел", "Move right": "Переместить вправо", "Unknown Application": "Неизв. приложение", - "Used for decorative/expressive text": "Для декор./выразит. текста", + "Used for decorative/expressive text": "Для декоротивного / выразительного текста", "Used for reading large blocks of text": "Для чтения больших блоков", "Type /key to get started with online models\nCtrl+O to expand sidebar\nCtrl+P to pin sidebar\nCtrl+D to detach sidebar": "Введите /key для онлайн-моделей\nCtrl+O - расширить панель\nCtrl+P - закрепить панель\nCtrl+D - открепить панель", "Health:": "Здоровье:", @@ -649,13 +649,13 @@ "Unpin from Start": "Открепить из пуска", "Adjust the color temperature": "Цветовая температура", "Han chars": "Кандзи", - "Show only when locked": "Только при блокировке", + "Show only when locked": "Только на заблокированном блокировки", "Widget: Weather": "Виджет погоды", "Right to left": "Справа налево", - "New desktop": "Новый стол", + "New desktop": "Новый рабочий стол", "Local account": "Локальная уч. запись", "Super key symbol": "Символ клавиши Super", - "Used for displaying numbers": "Для отображ. чисел", + "Used for displaying numbers": "Для отображения чисел", "Fonts": "Шрифты", "Left to right": "Слева направо", "Set FPS limit": "Лимит FPS", @@ -669,7 +669,7 @@ "Sign out": "Выйти", "Overlay: Crosshair": "Оверлей: прицел", "Shut down": "Выключить", - "Show this window on all desktops": "На всех столах", + "Show this window on all desktops": "На всех рабочих столах", "Quick markup (Ctrl+E)": "Быстрая разметка (Ctrl+E)", "Sound input": "Звуковой вход", "Manage accounts": "Упр. учётными записями", @@ -678,7 +678,7 @@ "RAM": "ОЗУ", "Commands": "Команды", "Title font": "Шрифт заголовка", - "Most busy": "Самый загруж.", + "Most busy": "Более загруж.", "Press Super+G to open the overlay and pin the crosshair": "Super+G - открыть оверлей и закрепите прицел", "Search for apps": "Поиск приложений", "See fewer": "Показать меньше", @@ -750,5 +750,7 @@ "Tu": "Вт/*keep*/", "Sa": "Сб/*keep*/", "Fr": "Пт/*keep*/", - "Font family name": "Назв. семейства" + "Font family name": "Назв. семейства", + "Pin": "Закреп", + "Unpin": "Откреп" } From fc17e29ebf8ae1481900e773836d654c44047695 Mon Sep 17 00:00:00 2001 From: xleb-normal Date: Sat, 21 Mar 2026 01:44:11 +0500 Subject: [PATCH 3/6] Russian localization update, minor improvements --- dots/.config/quickshell/ii/translations/ru_RU.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dots/.config/quickshell/ii/translations/ru_RU.json b/dots/.config/quickshell/ii/translations/ru_RU.json index 703e29351..0c4b337c7 100644 --- a/dots/.config/quickshell/ii/translations/ru_RU.json +++ b/dots/.config/quickshell/ii/translations/ru_RU.json @@ -468,7 +468,7 @@ "Generate translation with Gemini": "Сгенерировать перевод с Gemini", "Generating...\nDon't close this window!": "Генерация...\nНе закрывайте окно!", "Generate\nTypically takes 2 minutes": "Сгенерировать\nОбычно ~2 мин", - "Use system file picker": "Системный выборщик", + "Use system file picker": "Системный файл. менеджер", "Wallpaper selector": "Выбор обоев", "When the previous option is off and this is on,\nyou can still hover the corner's end to open sidebar,\nand the remaining area can be used for volume/brightness scroll": "Если предыдущий параметр выключен, а этот включён,\nможно навести на край угла для открытия панели,\nоставшаяся область работает для прокрутки громкости/яркости", "Copy path": "Копировать путь", @@ -491,7 +491,7 @@ "Listening...": "Слушаю...", "LMB to enable/disable\nRMB to toggle size\nScroll to swap position": "ЛКМ - вкл/выкл\nПКМ - изменить размер\nПрокрутка - поменять позицию", "Identify Music": "Определить музыку", - "Quick toggles": "Быстрые тогглы (стиль)", + "Quick toggles": "Быстрые тогглы", "Hide sussy/anime wallpapers": "Скрывать подозр./аниме обои", "Android": "Android", "Show": "Показать", @@ -512,7 +512,7 @@ "Content region": "Обл. контента", "Internet": "Интернет", "Record": "Запись", - "Circle selection": "Круговое обведение", + "Circle selection": "Круговое выдел.", "Edit quick toggles": "Изменить быстрые тогглы", "Virtual Keyboard": "Вирт. клавиатура", "Music Recognized": "Музыка распознана", @@ -649,7 +649,7 @@ "Unpin from Start": "Открепить из пуска", "Adjust the color temperature": "Цветовая температура", "Han chars": "Кандзи", - "Show only when locked": "Только на заблокированном блокировки", + "Show only when locked": "Отображать только при блокировке", "Widget: Weather": "Виджет погоды", "Right to left": "Справа налево", "New desktop": "Новый рабочий стол", From 15a56bdce3070cc8b1a0d7e3bc51e4fe5436b899 Mon Sep 17 00:00:00 2001 From: Pico Date: Sun, 22 Mar 2026 10:40:07 +0300 Subject: [PATCH 4/6] use text color for mute icon and promote root to MouseArea --- .../volumeMixer/VolumeMixerEntry.qml | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml index f616273ed..5e4fec97b 100644 --- a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml +++ b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml @@ -7,8 +7,10 @@ import Quickshell import Quickshell.Services.Pipewire import Qt5Compat.GraphicalEffects -Item { +MouseArea { id: root + cursorShape: Qt.PointingHandCursor + onClicked: root.node.audio.muted = !root.node.audio.muted required property PwNode node PwObjectTracker { objects: [root.node] @@ -47,25 +49,27 @@ Item { anchors.fill: iconImg source: iconImg desaturation: root.node?.audio.muted ? 1.0 : 0.0 - visible: iconImg.source != "" + visible: iconImg.source !== "" opacity: root.node?.audio.muted ? 0.4 : 1.0 - - Behavior on opacity { NumberAnimation { duration: 150 } } - Behavior on desaturation { NumberAnimation { duration: 150 } } + + Behavior on opacity { + NumberAnimation { + duration: 150 + } + } + Behavior on desaturation { + NumberAnimation { + duration: 150 + } + } } MaterialSymbol { anchors.centerIn: parent visible: root.node?.audio.muted ?? false text: root.node?.isSink ? "volume_off" : "mic_off" - font.pixelSize: 22 - color: Appearance.colors.colError - } - - MouseArea { - anchors.fill: parent - cursorShape: Qt.PointingHandCursor - onClicked: root.node.audio.muted = !root.node.audio.muted + iconSize: 22 + color: Appearance.colors.colOnLayer1 } } From a7353e5033467d1b7634cfd872b5379128fab4af Mon Sep 17 00:00:00 2001 From: xleb-normal Date: Mon, 23 Mar 2026 03:37:43 +0500 Subject: [PATCH 5/6] Update Russian localization Final tweak: Change Night Light to Night Mode --- dots/.config/quickshell/ii/translations/ru_RU.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dots/.config/quickshell/ii/translations/ru_RU.json b/dots/.config/quickshell/ii/translations/ru_RU.json index 0c4b337c7..d8d6498a3 100644 --- a/dots/.config/quickshell/ii/translations/ru_RU.json +++ b/dots/.config/quickshell/ii/translations/ru_RU.json @@ -364,7 +364,7 @@ "Work safety": "Безопасность", "Temperature\nChange with /temp VALUE": "Температура\nИзменить: /temp ЗНАЧЕНИЕ", "Terminal: Foreground boost (%)": "Терминал: усил. перед. плана (%)", - "Night Light | Right-click to toggle Auto mode": "Ночной свет | ПКМ для авторежима", + "Night Light | Right-click to toggle Auto mode": "Ночной режим | ПКМ для авторежима", "Closet": "Скрыто", "Yes": "Да", "Columns": "Столбцы", From 854016e82a93df4aa7f0db373c3d5544ec297491 Mon Sep 17 00:00:00 2001 From: end-4 <97237370+end-4@users.noreply.github.com> Date: Mon, 23 Mar 2026 08:21:18 +0100 Subject: [PATCH 6/6] change mousearea to correct item and add tooltip --- .../sidebarRight/volumeMixer/VolumeMixerEntry.qml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml index 5e4fec97b..8598cd5cb 100644 --- a/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml +++ b/dots/.config/quickshell/ii/modules/ii/sidebarRight/volumeMixer/VolumeMixerEntry.qml @@ -7,10 +7,8 @@ import Quickshell import Quickshell.Services.Pipewire import Qt5Compat.GraphicalEffects -MouseArea { +Item { id: root - cursorShape: Qt.PointingHandCursor - onClicked: root.node.audio.muted = !root.node.audio.muted required property PwNode node PwObjectTracker { objects: [root.node] @@ -23,12 +21,21 @@ MouseArea { anchors.fill: parent spacing: 6 - Item { + MouseArea { property real size: 36 Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter Layout.preferredWidth: size Layout.preferredHeight: size + cursorShape: Qt.PointingHandCursor + onClicked: root.node.audio.muted = !root.node.audio.muted + + hoverEnabled: true + property bool hovered: containsMouse + StyledToolTip { + text: root.node?.audio.muted ? Translation.tr("Click to unmute") : Translation.tr("Click to mute") + } + Image { id: iconImg anchors.fill: parent