// --- This file has been auto-generated. For permanent changes alter the appropriate block in the README.org. --- import Quickshell import Quickshell.Io import QtQuick import QtQuick.Layouts ShellRoot { QtObject { id: colors readonly property color baseAlpha: Qt.rgba(30/255, 30/255, 46/255, 0.9) readonly property color base: "#1e1e2e" readonly property color surface0: "#313244" readonly property color surface1: "#45475a" readonly property color surface2: "#585b70" readonly property color text: "#cdd6f4" readonly property color subtext0: "#a6adc8" readonly property color subtext1: "#bac2de" readonly property color blue: "#89b4fa" readonly property color green: "#a6e3a1" readonly property color teal: "#94e2d5" readonly property color red: "#f38ba8" readonly property color mauve: "#cba6f7" readonly property color peach: "#fab387" readonly property color lavender: "#b4befe" } FloatingWindow { id: root title: "quickshell-layoutswitcher" visible: true width: 220 height: contentLayout.implicitHeight + 32 color: colors.base Shortcut { sequence: "Escape" onActivated: Qt.quit() } Rectangle { anchors.fill: parent anchors.margins: -2 radius: 18 z: -1 opacity: Qt.application.active ? 0 : 1 Behavior on opacity { NumberAnimation { duration: 150 } } gradient: Gradient { orientation: Gradient.Horizontal GradientStop { position: 0.0; color: colors.blue } GradientStop { position: 1.0; color: colors.green } } } Rectangle { anchors.fill: parent radius: 16 color: colors.base ColumnLayout { id: contentLayout anchors { top: parent.top left: parent.left right: parent.right margins: 16 } spacing: 4 Text { text: "󰕰 Layout" color: colors.text font.pixelSize: 13 font.bold: true Layout.bottomMargin: 8 } Repeater { model: [ { label: " Dwindle", layout: "dwindle" }, { label: "󰡎 Master", layout: "master" }, { label: "󰾲 Scrolling", layout: "scrolling" }, { label: "󱒉 Monocle", layout: "monocle" }, ] delegate: Rectangle { id: item Layout.fillWidth: true height: 38 radius: 8 color: hovered ? colors.surface1 : colors.base property bool hovered: false Rectangle { anchors.fill: parent anchors.margins: -2 radius: parent.radius + 2 visible: item.hovered z: -1 gradient: Gradient { orientation: Gradient.Horizontal GradientStop { position: 0.0; color: colors.blue } GradientStop { position: 1.0; color: colors.green } } } Text { anchors.verticalCenter: parent.verticalCenter anchors.left: parent.left anchors.leftMargin: 12 text: modelData.label color: item.hovered ? colors.text : colors.subtext1 font.pixelSize: 13 } MouseArea { anchors.fill: parent hoverEnabled: true onEntered: item.hovered = true onExited: item.hovered = false onClicked: proc.running = true } Process { id: proc command: ["bash", "-c", "hyprctl keyword general:layout " + modelData.layout + " && hyprctl dispatch layoutmsg reload"] onExited: Qt.quit() } } } Item { height: 4 } } } } }