Files
dotfiles/dot_config/quickshell/bar/ActiveWindow.qml
s0wlz (Matthias Puchstein) c5f7162ebb quickshell: add initial bar config with per-monitor workspaces
- Vertical bar on DP-2 with rounded-square pills throughout
- Per-monitor workspace groups sorted by screen x position, with
  Nerd Font icons for named workspaces and apex-neon red active indicator
- Bar layout: datetime+weather top, workspaces centered, gamemode+media+notif+system bottom
- Popouts anchor to triggering icon (top-right for datetime/weather, bottom-right for media/notif/system)
- Lock command switched from hyprlock to swaylock
- Hyprland blur/ignore_alpha layerrules for quickshell namespace

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 20:00:54 +02:00

44 lines
1.2 KiB
QML

import Quickshell.Hyprland
import QtQuick
import "../shared" as Shared
// Compact active window title, rotated vertically to fit the narrow bar
Item {
id: root
readonly property string title: {
let w = Hyprland.focusedWindow;
if (!w) return "";
let t = w.title || "";
let c = w.wlClass || "";
// Show class if title is too long or empty
if (t.length === 0) return c;
if (t.length > 30) return c || t.substring(0, 20);
return t;
}
visible: title !== ""
implicitWidth: Shared.Theme.barInnerWidth
implicitHeight: Math.min(label.implicitWidth + 8, 120)
Text {
id: label
anchors.centerIn: parent
rotation: -90
width: root.implicitHeight
text: root.title
color: Shared.Theme.subtext0
font.pixelSize: Shared.Theme.fontSmall
font.family: Shared.Theme.fontFamily
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
Behavior on text {
enabled: false // no animation on text change
}
}
opacity: title !== "" ? 0.7 : 0
Behavior on opacity { NumberAnimation { duration: Shared.Theme.animFast } }
}