From 70bbc970c75221c902c515efd124c47fd702e3b7 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Sat, 17 Oct 2026 10:16:40 +0200 Subject: appearance moves into the settings window The appearance shell existed because a wallpaper picker needed more room than the 600px drawer, so it ran as its own process with a full-screen overlay. The settings window now gives it that room, and its five tabs become five settings pages in the desktop process: Wallpaper, Theme, Icons & cursor, Sunset and Idle. appearance/ is gone, and with it a process, a keepalive window and a layer blur rule. The files move to desktop/modules/appearance/ unchanged in what they do. Each tab gets a small *Module.qml; the window's refresh-on-open calls the singletons' refresh(), which the panel's show() used to. The two tabs that were inline Components in AppearancePanel become ThemeTab and WallpaperTab, owning the notices the panel printed. Sunset, Idle and Icons drop their own Flickable so the page scrolls them and search can reveal a row; the wallpaper list virtualises its rows and scrolls itself, so it takes the page's new viewHeight instead. Search finds a colour scheme and an icon or cursor theme by name. The appearance IPC target moves to desktop/shell.qml with the same verbs, so udt-steps and any keybind change only the path. Git now follows the appearance pages and autostart in the sidebar. Co-Authored-By: Claude Opus 5.5 --- appearance/MockScreen.qml | 94 ----------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 appearance/MockScreen.qml (limited to 'appearance/MockScreen.qml') diff --git a/appearance/MockScreen.qml b/appearance/MockScreen.qml deleted file mode 100644 index 7a09ee2..0000000 --- a/appearance/MockScreen.qml +++ /dev/null @@ -1,94 +0,0 @@ -// Copyright (C) 2026 Danilo M. -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2 as -// published by the Free Software Foundation. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. - -import QtQuick - -// One monitor in the mock desk layout: a bezel, a stand, and the panel at the -// screen's real aspect ratio. Drawn rather than loaded from an SVG so it takes -// its colours from the theme and stays sharp at any scale. -Item { - id: mock - - property string label: "" - property string source: "" - property bool targeted: false - - // The panel's size; the bezel and stand are added around it. - property real panelWidth: 100 - property real panelHeight: 100 - - readonly property real bezel: Math.max(4, Math.round(panelWidth * 0.02)) - // Proportional to width rather than height: the vertical monitor is tall - // and narrow, and a share of its height would give it an absurd stand. - readonly property real standHeight: Math.max(14, Math.round(panelWidth * 0.1)) - - implicitWidth: panelWidth + bezel * 2 - implicitHeight: panelHeight + bezel * 2 + standHeight - - Column { - anchors.horizontalCenter: parent.horizontalCenter - spacing: 0 - - // Case. - Rectangle { - width: mock.panelWidth + mock.bezel * 2 - height: mock.panelHeight + mock.bezel * 2 - radius: Math.max(3, mock.bezel) - color: "#1a1a1e" - border.width: 1 - border.color: mock.targeted ? Theme.accent : Qt.alpha("#ffffff", 0.14) - - // Screen. - Rectangle { - anchors.centerIn: parent - width: mock.panelWidth - height: mock.panelHeight - color: Theme.base - clip: true - - Image { - anchors.fill: parent - source: mock.source === "" ? "" : "file://" + mock.source - asynchronous: true - cache: false - // swaybg is called with -m fill, so the mock crops the same way. - fillMode: Image.PreserveAspectCrop - sourceSize.width: 640 - } - - Text { - anchors.centerIn: parent - visible: mock.source === "" - text: mock.label - font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } - color: Theme.overlay - } - } - } - - // Neck. - Rectangle { - anchors.horizontalCenter: parent.horizontalCenter - width: Math.max(8, Math.round(mock.panelWidth * 0.09)) - height: Math.round(mock.standHeight * 0.55) - color: "#26262e" - } - - // Foot. - Rectangle { - anchors.horizontalCenter: parent.horizontalCenter - width: Math.max(30, Math.round(mock.panelWidth * 0.32)) - height: Math.max(5, Math.round(mock.standHeight * 0.45)) - radius: height / 2 - color: "#2c2c35" - } - } -} -- cgit v1.2.3