Compare commits

..

2 commits

Author SHA1 Message Date
Benjamin Palko
9d6a88aa43 add wayland and hyprland focus 2025-09-16 08:43:18 -04:00
Benjamin Palko
185121d0d7 style tab bar 2025-09-16 08:36:07 -04:00
3 changed files with 35 additions and 20 deletions

View file

@ -1,18 +1,23 @@
import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Controls
TabBar {
id: control
property alias orientation: view.orientation
contentItem: ListView {
id: view
model: control.contentModel
currentIndex: control.currentIndex
spacing: control.spacing
orientation: ListView.Horizontal
boundsBehavior: Flickable.StopAtBounds
contentItem: Item {
ListView {
id: view
anchors.centerIn: parent
implicitWidth: parent.width - 20
implicitHeight: parent.height - 20
model: control.contentModel
currentIndex: control.currentIndex
spacing: control.spacing
orientation: ListView.Horizontal
boundsBehavior: Flickable.StopAtBounds
}
}
background: Item {}

View file

@ -1,6 +1,6 @@
import qs.config
import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Controls
TabButton {
id: control
@ -14,31 +14,28 @@ TabButton {
verticalAlignment: Text.AlignVCenter
horizontalAlignment: Text.AlignHCenter
padding: 6
color: control.hovered ? Styling.theme.primarycontent : control.checked ? Styling.theme.accent : Styling.theme.basecontent
color: control.hovered ? Styling.theme.primarycontent : Styling.theme.basecontent
Behavior on color {
ColorAnimation {
duration: Styling.animations.speed.normal
}
}
rotation: control.rotation
Behavior on rotation {
RotationAnimation {
duration: Styling.animations.speed.slow
easing.type: Easing.OutQuad
}
}
}
background: Rectangle {
id: rectangle
color: control.hovered ? Styling.theme.primary : Styling.theme.base200
color: control.hovered ? Styling.theme.primary : Styling.theme.base100
Behavior on color {
ColorAnimation {
duration: Styling.animations.speed.normal
}
}
border.width: 2
border.color: control.checked ? Styling.theme.accent : "transparent"
opacity: control.checked || control.hovered ? 1.0 : 0.0
Behavior on opacity {
NumberAnimation {
duration: Styling.animations.speed.normal
}
}
}
HoverHandler {

View file

@ -2,6 +2,8 @@ import qs.components
import qs.services
import QtQuick
import QtQuick.Controls
import Quickshell.Hyprland
import Quickshell.Wayland
StyledPanelWindow {
id: window
@ -12,6 +14,17 @@ StyledPanelWindow {
implicitWidth: 800
implicitHeight: 400
WlrLayershell.layer: WlrLayer.Top
WlrLayershell.keyboardFocus: window.visible ? WlrKeyboardFocus.OnDemand : WlrKeyboardFocus.None
HyprlandFocusGrab {
active: Visibility.configuration
windows: [window]
onCleared: {
Visibility.configuration = false;
}
}
StyledTabBar {
id: tabs
anchors.top: parent.top