Build the Panama Hyprland desktop
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
// The leading "show applications" button. GNOME's dash had
|
||||
// show-apps-at-top: true, which on a bottom dock means the leading edge.
|
||||
//
|
||||
// The glyph is drawn rather than pulled from the icon theme: GNOME's app-grid
|
||||
// icon is literally a 3x3 dot grid, and drawing it removes any dependency on
|
||||
// which icon theme happens to be installed.
|
||||
|
||||
import Quickshell
|
||||
import QtQuick
|
||||
import qs.config
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
signal entered
|
||||
signal exited
|
||||
|
||||
readonly property bool hovered: mouse.containsMouse
|
||||
readonly property string label: qsTr("Show Applications")
|
||||
|
||||
implicitWidth: Theme.dockIconSize
|
||||
implicitHeight: Theme.dockIconSize
|
||||
|
||||
Rectangle {
|
||||
id: bg
|
||||
anchors.centerIn: parent
|
||||
width: Theme.dockIconSize
|
||||
height: Theme.dockIconSize
|
||||
radius: width / 2
|
||||
border.width: 0 // QTBUG-137166
|
||||
color: root.hovered ? Theme.alpha(Theme.fg, Theme.hoverAlpha) : "transparent"
|
||||
|
||||
Behavior on color {
|
||||
ColorAnimation {
|
||||
duration: Theme.durFast
|
||||
}
|
||||
}
|
||||
|
||||
transformOrigin: Item.Center
|
||||
scale: root.hovered ? 1.15 : 1.0
|
||||
|
||||
Behavior on scale {
|
||||
NumberAnimation {
|
||||
duration: Theme.durFast
|
||||
easing.type: Easing.OutBack
|
||||
easing.overshoot: 1.6
|
||||
}
|
||||
}
|
||||
|
||||
Grid {
|
||||
anchors.centerIn: parent
|
||||
columns: 3
|
||||
spacing: Math.round(Theme.dockIconSize * 0.11)
|
||||
|
||||
Repeater {
|
||||
model: 9
|
||||
|
||||
Rectangle {
|
||||
readonly property int dot: Math.round(Theme.dockIconSize * 0.135)
|
||||
width: dot
|
||||
height: dot
|
||||
radius: dot / 2
|
||||
border.width: 0
|
||||
color: Theme.fg
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
id: mouse
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onEntered: root.entered()
|
||||
onExited: root.exited()
|
||||
// vicinae is the launcher this shell uses in place of GNOME's app grid.
|
||||
onClicked: Quickshell.execDetached(["vicinae", "toggle"])
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user