terra: migrate quickshell config into repo, add quickshell + opencode packages

Config was symlinked from ~/.dots/quickshell (separate dotfiles repo); now
tracked here and applied via home-manager xdg.configFile.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-23 23:22:03 +02:00
co-authored by Claude Sonnet 5
parent 67b12cb96b
commit 6e9d588f00
28 changed files with 4441 additions and 0 deletions
@@ -0,0 +1,65 @@
import Quickshell
import Quickshell.Services.SystemTray
import QtQuick
import QtQuick.Shapes
// A single tray icon, chamfered to match the Slant (launcher V6 / SideBar)
// visual language instead of a plain rectangular hit target.
MouseArea {
id: root
required property SystemTrayItem modelData
implicitWidth: 36
implicitHeight: 36
acceptedButtons: Qt.LeftButton | Qt.RightButton
hoverEnabled: true
cursorShape: Qt.PointingHandCursor
onClicked: event => {
if (event.button === Qt.LeftButton) {
modelData.activate();
} else if (modelData.hasMenu) {
const window = root.QsWindow?.window;
modelData.display(window, window.width, root.mapToItem(null, 0, 0).y);
}
event.accepted = true;
}
readonly property int chamfer: 6
Shape {
anchors.fill: parent
preferredRendererType: Shape.CurveRenderer
ShapePath {
strokeWidth: 1
strokeColor: root.containsMouse ? "#FFD063" : "#7A7B7D"
fillColor: "#292C30"
startX: root.chamfer
startY: 0
PathLine { x: root.width; y: 0 }
PathLine { x: root.width; y: root.height - root.chamfer }
PathLine { x: root.width - root.chamfer; y: root.height }
PathLine { x: 0; y: root.height }
PathLine { x: 0; y: root.chamfer }
PathLine { x: root.chamfer; y: 0 }
Behavior on strokeColor {
ColorAnimation {
duration: 150
}
}
}
}
Image {
anchors.centerIn: parent
source: modelData.icon
fillMode: Image.PreserveAspectFit
width: 20
height: 20
}
}