1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-07 14:05:38 -05:00

Focused window service

This commit is contained in:
bbedward
2025-07-13 11:37:33 -04:00
parent 7981bbdbc2
commit 755f13e06b
5 changed files with 221 additions and 1 deletions

View File

@@ -0,0 +1,81 @@
import QtQuick
import "../../Common"
import "../../Services"
Rectangle {
id: root
width: Math.max(contentRow.implicitWidth + Theme.spacingS * 2, 60)
height: 30
radius: Theme.cornerRadius
color: mouseArea.containsMouse ?
Qt.rgba(Theme.primary.r, Theme.primary.g, Theme.primary.b, 0.12) :
Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.08)
visible: FocusedWindowService.niriAvailable && (FocusedWindowService.focusedAppName || FocusedWindowService.focusedWindowTitle)
Behavior on color {
ColorAnimation {
duration: Theme.shortDuration
easing.type: Theme.standardEasing
}
}
Row {
id: contentRow
anchors.centerIn: parent
spacing: Theme.spacingS
Text {
id: appText
text: FocusedWindowService.focusedAppName || ""
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Medium
color: Theme.surfaceText
anchors.verticalCenter: parent.verticalCenter
// Limit app name width
elide: Text.ElideRight
maximumLineCount: 1
width: Math.min(implicitWidth, 120)
}
Text {
text: "•"
font.pixelSize: Theme.fontSizeMedium
color: Qt.rgba(Theme.surfaceText.r, Theme.surfaceText.g, Theme.surfaceText.b, 0.5)
anchors.verticalCenter: parent.verticalCenter
visible: appText.text && titleText.text
}
Text {
id: titleText
text: FocusedWindowService.focusedWindowTitle || ""
font.pixelSize: Theme.fontSizeMedium
font.weight: Font.Medium
color: Theme.surfaceText
anchors.verticalCenter: parent.verticalCenter
// Limit title width - increased for longer titles
elide: Text.ElideRight
maximumLineCount: 1
width: Math.min(implicitWidth, 350)
}
}
MouseArea {
id: mouseArea
anchors.fill: parent
hoverEnabled: true
// Non-interactive widget - just provides hover state for visual feedback
}
// Smooth width animation when the text changes
Behavior on width {
NumberAnimation {
duration: Theme.shortDuration
easing.type: Theme.standardEasing
}
}
}

View File

@@ -156,6 +156,10 @@ PanelWindow {
anchors.verticalCenter: parent.verticalCenter
screenName: topBar.screenName
}
FocusedAppWidget {
anchors.verticalCenter: parent.verticalCenter
}
}
ClockWidget {

View File

@@ -1,6 +1,7 @@
TopBar 1.0 TopBar.qml
LauncherButton 1.0 LauncherButton.qml
WorkspaceSwitcher 1.0 WorkspaceSwitcher.qml
FocusedAppWidget 1.0 FocusedAppWidget.qml
ClockWidget 1.0 ClockWidget.qml
MediaWidget 1.0 MediaWidget.qml
WeatherWidget 1.0 WeatherWidget.qml