Build the Panama Hyprland desktop
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
// A small circular icon button — mute toggles, chevrons, per-row actions.
|
||||
|
||||
import QtQuick
|
||||
import Quickshell
|
||||
import qs.config
|
||||
import qs.widgets
|
||||
|
||||
Rectangle {
|
||||
id: root
|
||||
|
||||
property string icon: ""
|
||||
property string iconFallback: "dialog-information-symbolic"
|
||||
property int size: 28
|
||||
property int iconSize: 16
|
||||
property color tint: Theme.fg
|
||||
|
||||
signal clicked
|
||||
|
||||
implicitWidth: root.size
|
||||
implicitHeight: root.size
|
||||
radius: root.size / 2
|
||||
border.width: 0
|
||||
|
||||
color: {
|
||||
if (mouse.pressed)
|
||||
return Theme.alpha(Theme.fg, Theme.activeAlpha);
|
||||
if (mouse.containsMouse)
|
||||
return Theme.alpha(Theme.fg, Theme.hoverAlpha);
|
||||
return "transparent";
|
||||
}
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation {
|
||||
duration: Theme.durFast
|
||||
}
|
||||
}
|
||||
|
||||
ThemedIcon {
|
||||
anchors.centerIn: parent
|
||||
size: root.iconSize
|
||||
icon: root.icon
|
||||
iconFallback: root.iconFallback
|
||||
tint: root.tint
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouse
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
cursorShape: Qt.PointingHandCursor
|
||||
onClicked: root.clicked()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user