fix: add wayland dev headers and scanner for pywayland build on NixOS

This commit is contained in:
Celes Renata
2026-05-08 15:55:01 -07:00
commit f143bce273
740 changed files with 86018 additions and 0 deletions
@@ -0,0 +1,215 @@
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import Quickshell
// Main Settings Window
// Integrates transparency settings and other configuration options
ApplicationWindow {
id: settingsWindow
title: "dots-hyprland Settings"
width: 500
height: 700
visible: false
color: "#1e1e2e"
// Make window float and center it
flags: Qt.Window | Qt.WindowStaysOnTopHint
Component.onCompleted: {
// Center the window
x = (Screen.width - width) / 2
y = (Screen.height - height) / 2
}
TabBar {
id: tabBar
anchors.top: parent.top
anchors.left: parent.left
anchors.right: parent.right
height: 50
background: Rectangle {
color: "#313244"
}
TabButton {
text: "Effects"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
TabButton {
text: "Appearance"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
TabButton {
text: "Keybinds"
width: implicitWidth
background: Rectangle {
color: parent.checked ? "#45475a" : "transparent"
radius: 4
}
contentItem: Text {
text: parent.text
color: "#cdd6f4"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
}
}
}
StackLayout {
anchors.top: tabBar.bottom
anchors.left: parent.left
anchors.right: parent.right
anchors.bottom: parent.bottom
anchors.margins: 10
currentIndex: tabBar.currentIndex
// Effects Tab (Transparency & Blur)
Item {
TransparencyUI {
anchors.fill: parent
color: "transparent"
border.width: 0
}
}
// Appearance Tab (Future: themes, colors, etc.)
Item {
Rectangle {
anchors.fill: parent
color: "#313244"
radius: 8
Text {
anchors.centerIn: parent
text: "Appearance settings\n(Coming soon)"
color: "#a6adc8"
horizontalAlignment: Text.AlignHCenter
}
}
}
// Keybinds Tab (Future: keybind customization)
Item {
Rectangle {
anchors.fill: parent
color: "#313244"
radius: 8
Text {
anchors.centerIn: parent
text: "Keybind settings\n(Coming soon)"
color: "#a6adc8"
horizontalAlignment: Text.AlignHCenter
}
}
}
}
// Close button
Button {
anchors.top: parent.top
anchors.right: parent.right
anchors.margins: 10
width: 30
height: 30
text: "×"
background: Rectangle {
color: parent.hovered ? "#f38ba8" : "#45475a"
radius: 15
}
contentItem: Text {
text: parent.text
color: "white"
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: 16
font.bold: true
}
onClicked: settingsWindow.close()
}
// IPC Handler for external control
IpcHandler {
target: "settings"
function show() {
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function hide() {
settingsWindow.hide()
}
function toggle() {
if (settingsWindow.visible) {
settingsWindow.hide()
} else {
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
}
function showEffects() {
tabBar.currentIndex = 0
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function showAppearance() {
tabBar.currentIndex = 1
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
function showKeybinds() {
tabBar.currentIndex = 2
settingsWindow.show()
settingsWindow.raise()
settingsWindow.requestActivate()
}
}
}