Build the Panama Hyprland desktop

This commit is contained in:
Gabriel Brown
2026-08-17 10:32:55 -04:00
parent 67033f2a31
commit 5248883e4b
190 changed files with 18554 additions and 34 deletions
@@ -0,0 +1,50 @@
// A freedesktop symbolic icon, recoloured to a Theme token.
//
// Adwaita's symbolic SVGs carry a hardcoded near-black fill (#2e3436) and Qt
// does not do GTK's runtime recolouring, so drawn as-is they are invisible on
// a Tokyo Night background — verified on this machine. The fix is to paint a
// themed rectangle through the icon's alpha channel.
import QtQuick
import QtQuick.Effects
import Quickshell
import Quickshell.Widgets
import qs.config
Item {
id: root
property string icon: ""
property string iconFallback: "dialog-information-symbolic"
property color tint: Theme.fg
property int size: 18
implicitWidth: root.size
implicitHeight: root.size
// Both inputs are invisible but layered, so they render into textures
// without ever being composited onto the panel themselves.
IconImage {
id: glyph
anchors.fill: parent
asynchronous: true
source: Quickshell.iconPath(root.icon, root.iconFallback)
visible: false
layer.enabled: true
}
Rectangle {
id: fill
anchors.fill: parent
color: root.tint
visible: false
layer.enabled: true
}
MultiEffect {
anchors.fill: parent
source: fill
maskEnabled: true
maskSource: glyph
}
}