lux-shell/modules/launcher/items/AppItem.qml
Benjamin Palko d219f493ce launcher v1
2025-08-20 00:00:21 -04:00

57 lines
1.4 KiB
QML

import qs.config
import qs.widgets
import Quickshell
import Quickshell.Widgets
import QtQuick
import QtQuick.Layouts
Item {
id: root
required property DesktopEntry modelData
required property int index
property bool active: false
anchors.margins: 8
anchors.left: parent?.left
anchors.right: parent?.right
implicitHeight: grid.height
GridLayout {
id: grid
flow: GridLayout.TopToBottom
columnSpacing: 8
rowSpacing: 2
columns: 2
rows: 2
anchors.left: root?.left
anchors.right: root?.right
IconImage {
Layout.columnSpan: 1
Layout.rowSpan: 2
source: Quickshell.iconPath(root.modelData.runInTerminal ? "terminal-app" : root.modelData.icon, "image-missing")
implicitSize: 32
}
StyledText {
text: root.modelData.name.trim()
Layout.fillWidth: true
color: root.active ? Theme.palette.primarycontent : Theme.palette.basecontent
font.pixelSize: 14
font.bold: true
}
StyledText {
text: root.modelData.comment != "" ? root.modelData.comment : root.modelData.genericName
Layout.fillWidth: true
color: root.active ? Theme.palette.primarycontent : Theme.palette.basecontent
font.pixelSize: 10
elide: Text.ElideRight
}
}
}