all repos — quickshell @ 983463df9b2cfef4abf1585090b6cf3326b10e50

A desert-witch desktop shell

bar/modules/Workspaces.qml (view raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
import QtQuick
import QtQuick.Controls.Basic
import QtQuick.Layouts
import Quickshell
import Quickshell.I3
import Quickshell.Widgets
import "../classes" as Class
import "../../"

RowLayout {
  spacing: 0
  Layout.maximumHeight:24
  id: workspaces
  property var ws_focused: I3.focusedWorkspace?.number
  Repeater {
    model: I3.workspaces.values
    Button {
      padding: 2
      onClicked: I3.dispatch(`workspace number `+modelData.number);
      background: Rectangle {
        width:16
        height: 24
        anchors.centerIn: parent
        color: (modelData.name == ws_focused)
          ? Resources.palette.orange
          : Resources.palette.bg
      }
      contentItem: Text {
        id: wsLabel
        property var ws_special: (modelData.number > 10)
        horizontalAlignment: Text.AlignHCenter
        verticalAlignment: Text.AlignVCenter
        text: ({
          "11": Icons.workspaces.download,
          "12": Icons.workspaces.volume_mixer
        }) [modelData.name] ?? modelData.name
        padding: 0
        color: (modelData.name == ws_focused)
          ? Resources.palette.bg
          : Resources.palette.fg
        font.family: ws_special
          ? font_icon.name
          : font_proggy.name
        font.pixelSize: ws_special
          ? Resources.fontsize.workspace_icon
          : Resources.fontsize.topbar_text
        renderType: Text.NativeRendering
      }
    }
  }
}