From 91978706279a19a3ac96393630876f3e50cbc518 Mon Sep 17 00:00:00 2001 From: Nippy Date: Fri, 9 Oct 2026 10:49:26 +0200 Subject: fix --- raveos-sddm-theme/PKGBUILD | 18 +------ raveos-sddm-theme/raveos-sddm-theme.install | 4 -- .../Components/BatteryIndicator.qml | 18 ------- .../sddm-rave-theme/Components/Input.qml | 28 ---------- .../Components/KeyboardLayoutIndicator.qml | 15 ------ .../sddm-rave-theme/Components/LoginForm.qml | 2 - .../Components/NetworkIndicator.qml | 19 ------- .../sddm-rave-theme/Components/ParticleOverlay.qml | 3 -- .../sddm-rave-theme/Components/SessionButton.qml | 3 -- .../Components/ToastNotification.qml | 1 - .../sddm-rave-theme/Components/UserSwitcher.qml | 17 ------ raveos-sddm-theme/sddm-rave-theme/Main.qml | 1 - raveos-sddm-theme/sddm-rave-theme/Themes/rave.conf | 62 ---------------------- 13 files changed, 1 insertion(+), 190 deletions(-) (limited to 'raveos-sddm-theme') diff --git a/raveos-sddm-theme/PKGBUILD b/raveos-sddm-theme/PKGBUILD index cf0e32b..56004c1 100644 --- a/raveos-sddm-theme/PKGBUILD +++ b/raveos-sddm-theme/PKGBUILD @@ -1,18 +1,8 @@ # Maintainer: nippy -# -# raveos-sddm-theme -# ------------------ -# Kozos RaveOS SDDM login-kepernyo tema (sddm-rave-theme). -# -# Korabban minden DE-tema csomag (cosmic/gnome/hyprland/plasma) sajat -# maga csomagolta ugyanezt a byte-azonos SDDM temat - ez a kulon csomag -# valtja ki mind a negyet, hogy csak egyszer kelljen karbantartani es -# ne legyen fajl-duplikacio/utkozes-veszely a csomagok kozott. A DE-tema -# csomagok erre a csomagra hivatkoznak depends-kent. pkgname=raveos-sddm-theme pkgver=1.0.0 -pkgrel=5 +pkgrel=6 pkgdesc="RaveOS kozos SDDM login tema (sddm-rave-theme)" arch=('any') url="https://raveos.local" @@ -23,7 +13,6 @@ install="${pkgname}.install" source=() sha256sums=() -# Build könyvtárak az src mellé, ne a makepkg alapértelmezettbe BUILDDIR="${startdir}/build" PKGDEST="${startdir}/build" SRCDEST="${startdir}/build" @@ -31,7 +20,6 @@ SRCPKGDEST="${startdir}/build" LOGDEST="${startdir}/build" package() { - # SDDM téma: rendszerszintű telepítés, SDDM innen olvassa install -dm755 "${pkgdir}/usr/share/sddm/themes/sddm-rave-theme" find "${startdir}/sddm-rave-theme" -type f | while read -r f; do rel="${f#${startdir}/sddm-rave-theme/}" @@ -40,10 +28,6 @@ package() { install -Dm644 "$f" "${pkgdir}/usr/share/sddm/themes/sddm-rave-theme/${rel}" done - # SDDM konfig forrás: NEM /etc-be telepítjük itt, hanem post_install/ - # post_upgrade hook-ból, mert ha az unowned fájl már létezik, a pacman - # ütközés-ellenőrzése ELŐBB fut mint a pre_upgrade() hook, és blokkolja - # a tranzakciót. install -Dm644 "${startdir}/sddm.conf" \ "${pkgdir}/usr/share/raveos-sddm-theme/sddm.conf" } diff --git a/raveos-sddm-theme/raveos-sddm-theme.install b/raveos-sddm-theme/raveos-sddm-theme.install index 36ebc3e..abc770f 100644 --- a/raveos-sddm-theme/raveos-sddm-theme.install +++ b/raveos-sddm-theme/raveos-sddm-theme.install @@ -2,10 +2,6 @@ _sddm_src="/usr/share/raveos-sddm-theme/sddm.conf" _sddm_dst="/etc/sddm.conf.d/raveos-theme.conf" pre_install() { - # Ha a fájl már létezik de pacman nem ownolta, töröljük - de ez csak - # pre_install esetén segít, pre_upgrade már késő (a pacman ütközés- - # ellenőrzése ELŐBB fut mint ez a hook). Ezért a konfig fájlt a post_* - # hook-ok telepítik, nem a package(). rm -f "$_sddm_dst" } diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml index 0caedbe..0d2e36e 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/BatteryIndicator.qml @@ -7,7 +7,6 @@ Row { height: root.font.pointSize * 1.6 spacing: root.font.pointSize * 0.5 - // -1 = nincs akkumulátor / nem laptop property int batteryLevel: -1 property bool isCharging: false property bool isFull: false @@ -15,7 +14,6 @@ Row { visible: batteryLevel >= 0 - // Ismert akksi elérési utak property var tryPaths: [ "/sys/class/power_supply/BAT0/", "/sys/class/power_supply/BAT1/", @@ -24,7 +22,6 @@ Row { "/sys/class/power_supply/BATT/" ] - // Dinamikus akkumulátor kereső (pl. kontroller, UPS, egyéb külső akkuk észleléséhez) FolderListModel { id: powerSupplyScanner folder: "file:///sys/class/power_supply" @@ -45,7 +42,6 @@ Row { for (var i = 0; i < count; i++) { var name = get(i, "fileName") if (name && name !== "." && name !== "..") { - // Csak a tipikus laptop akkumulátor elnevezések (pl. BAT0, BAT1, BATT, battery) var isLaptopBat = /^bat/i.test(name) || /^battery/i.test(name) if (isLaptopBat) { var fullPath = "/sys/class/power_supply/" + name + "/" @@ -60,7 +56,6 @@ Row { } } - // ── Fájl olvasó ────────────────────────────────────────────────────────── function readFile(path, cb) { var xhr = new XMLHttpRequest() xhr.open("GET", "file://" + path, true) @@ -71,7 +66,6 @@ Row { xhr.send() } - // ── Akkumulátor keresés és frissítés ───────────────────────────────────── function detectBattery(idx) { if (idx >= tryPaths.length) { batteryLevel = -1; return } readFile(tryPaths[idx] + "capacity", function(cap) { @@ -90,7 +84,6 @@ Row { }) } - // ── Akkumulátor frissítés ──────────────────────────────────────────────── function refresh() { if (batteryPath !== "") { readFile(batteryPath + "capacity", function(cap) { @@ -118,7 +111,6 @@ Row { onTriggered: batteryIndicator.refresh() } - // ── Szín a töltési szint alapján ───────────────────────────────────────── function levelColor(lvl, charging) { if (charging) return "#4ade80" // zöld – tölt if (lvl > 60) return "#ffffff" // fehér – ok @@ -127,7 +119,6 @@ Row { return "#f87171" // piros – kritikus } - // ── UI ─────────────────────────────────────────────────────────────────── Canvas { id: batteryCanvas width: root.font.pointSize * 3.2 @@ -138,7 +129,6 @@ Row { var ctx = getContext("2d") ctx.clearRect(0, 0, width, height) - // Qt Canvas nem támogatja ctx.roundRect() – saját helper function rr(c, x, y, w, h, r) { r = Math.min(Math.max(r, 0), Math.min(w, h) / 2) c.beginPath() @@ -165,20 +155,17 @@ Row { var tx = bw // terminál x var ty = (height - th) / 2 - // Terminál (+ pólus) rr(ctx, tx, ty, tw, th, height * 0.15) ctx.fillStyle = col ctx.globalAlpha = 0.7 ctx.fill() ctx.globalAlpha = 1.0 - // Keret (akksi test) rr(ctx, bx, by, bw, bh, r) ctx.strokeStyle = col ctx.lineWidth = height * 0.09 ctx.stroke() - // Töltési szint kitöltés var padding = height * 0.18 var fillW = Math.max(0, (bw - padding * 2) * lvl / 100) if (fillW > 0) { @@ -191,7 +178,6 @@ Row { ctx.globalAlpha = 1.0 } - // Villám jel (töltés közben) if (charging && !full) { var cx = bw / 2 var cy = height / 2 @@ -210,7 +196,6 @@ Row { ctx.globalAlpha = 1.0 } - // Tele jel (checkbox-szerű pipával) if (full) { ctx.beginPath() ctx.moveTo(bw * 0.32, by + bh / 2) @@ -227,7 +212,6 @@ Row { } } - // Százalék szöveg Text { id: batteryText anchors.verticalCenter: parent.verticalCenter @@ -241,7 +225,6 @@ Row { font.family: root.font.family font.bold: batteryIndicator.batteryLevel <= 15 && !batteryIndicator.isCharging - // Pulzáló animáció kritikus töltésnél SequentialAnimation on opacity { running: batteryIndicator.batteryLevel <= 15 && !batteryIndicator.isCharging loops: Animation.Infinite @@ -250,7 +233,6 @@ Row { } } - // Szint változáskor újrafest onBatteryLevelChanged: batteryCanvas.requestPaint() onIsChargingChanged: batteryCanvas.requestPaint() onIsFullChanged: batteryCanvas.requestPaint() diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml b/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml index fd29314..61fed97 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/Input.qml @@ -21,7 +21,6 @@ Column { Item { id: errorMessageField - // change also in selectSession height: root.font.pointSize * 2 width: parent.width anchors.horizontalCenter: parent.horizontalCenter @@ -67,7 +66,6 @@ Column { } } - // Profilkép Item { id: avatarField @@ -114,7 +112,6 @@ Column { if (!p || p === "") return var s = p.toString().trim() if (s === "") return - // Ignore generic silhouette icon installed in SDDM faces directory if (s === "/usr/share/sddm/faces/.face.icon" || s === "file:///usr/share/sddm/faces/.face.icon") return var url = (s.startsWith("file://") || s.startsWith("image://") || s.startsWith("qrc://") || s.startsWith("http")) ? s : ("file://" + s) if (list.indexOf(url) === -1) { @@ -122,12 +119,10 @@ Column { } } - // 1. Direct icon reported by SDDM (AccountsService or explicit face config) if (directIcon !== "") { addCandidate(directIcon) } - // 2. AccountsService system icons (standard across Linux - world-readable 644) if (uName !== "") { addCandidate("/var/lib/AccountsService/icons/" + uName) addCandidate("/var/lib/AccountsService/icons/" + uName + ".png") @@ -136,7 +131,6 @@ Column { addCandidate("/var/lib/AccountsService/icons/" + uName + ".svg") } - // 3. User's home directory faces if (home !== "") { addCandidate(home + "/.face") addCandidate(home + "/.face.icon") @@ -156,7 +150,6 @@ Column { addCandidate("/home/" + uName + "/.avatar") } - // 4. System SDDM faces directory if (uName !== "") { addCandidate("/usr/share/sddm/faces/" + uName + ".face.icon") addCandidate("/usr/share/sddm/faces/" + uName + ".png") @@ -168,7 +161,6 @@ Column { addCandidate("/var/lib/sddm/faces/" + uName) } - // 5. Configured theme avatar if (config.UserAvatar && config.UserAvatar !== "") { addCandidate(config.UserAvatar) } @@ -217,13 +209,11 @@ Column { function onDataChanged() { avatarField.updateAvatarSource() } } - // Avatar kör Item { anchors.centerIn: parent width: root.font.pointSize * 5.2 height: root.font.pointSize * 5.2 - // Avatar drop shadow Rectangle { anchors.fill: parent anchors.topMargin: root.font.pointSize * 0.15 @@ -238,7 +228,6 @@ Column { clip: true color: Qt.rgba(1, 1, 1, 0.15) - // The mask source Item { id: avatarMask anchors.fill: parent @@ -282,7 +271,6 @@ Column { opacity: 0.85 } - // Draw the border on top of everything! Rectangle { anchors.fill: parent radius: parent.width / 2 @@ -340,7 +328,6 @@ Column { } } - // Container button / click area Item { id: userSelectorButton anchors.centerIn: parent @@ -358,7 +345,6 @@ Column { } KeyNavigation.down: password - // Background with drop shadow and frosted glass Item { anchors.fill: parent Rectangle { @@ -379,7 +365,6 @@ Column { } } - // Left Icon (User icon) Button { id: userFieldLeftIcon width: parent.height @@ -396,7 +381,6 @@ Column { background: Rectangle { color: "transparent" } } - // Username display in the middle (Non-editable, clean text) Text { id: username anchors.centerIn: parent @@ -414,7 +398,6 @@ Column { styleColor: Qt.rgba(0, 0, 0, 0.40) } - // Dropdown Arrow Button on Right Item { id: userDropdownBtn width: parent.height @@ -453,7 +436,6 @@ Column { } } - // Whole field click area MouseArea { id: userSelectorMouseArea anchors.fill: parent @@ -469,7 +451,6 @@ Column { } } - // Dropdown Popup Popup { id: userDropdownPopup @@ -482,7 +463,6 @@ Column { z: 100 background: Item { - // Drop shadow underlay Rectangle { anchors.fill: parent anchors.topMargin: root.font.pointSize * 0.15 @@ -490,7 +470,6 @@ Column { color: Qt.rgba(0, 0, 0, 0.40) } - // Frosted Glass body (minimally translucent) Rectangle { anchors.fill: parent radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) : root.font.pointSize * 0.8 @@ -561,7 +540,6 @@ Column { anchors.rightMargin: root.font.pointSize * 0.8 spacing: root.font.pointSize * 0.8 - // Mini avatar in dropdown row Item { width: root.font.pointSize * 2.4 height: root.font.pointSize * 2.4 @@ -620,7 +598,6 @@ Column { } } - // Username & realName Column { anchors.verticalCenter: parent.verticalCenter spacing: 2 @@ -841,7 +818,6 @@ Column { KeyNavigation.down: rebootBtn - // Drop shadow Rectangle { anchors.fill: parent anchors.topMargin: root.font.pointSize * 0.12 @@ -915,7 +891,6 @@ Column { anchors.bottomMargin: root.font.pointSize * 0.3 spacing: root.font.pointSize * 1.8 - // Reboot gomb Column { spacing: root.font.pointSize * 0.5 @@ -923,7 +898,6 @@ Column { width: root.font.pointSize * 4.2 height: root.font.pointSize * 4.2 - // Button shadow Rectangle { anchors.fill: parent anchors.topMargin: root.font.pointSize * 0.12 @@ -979,7 +953,6 @@ Column { } } - // Shutdown gomb Column { spacing: root.font.pointSize * 0.5 @@ -987,7 +960,6 @@ Column { width: root.font.pointSize * 4.2 height: root.font.pointSize * 4.2 - // Button shadow Rectangle { anchors.fill: parent anchors.topMargin: root.font.pointSize * 0.12 diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml index ffe10fa..0d95c06 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/KeyboardLayoutIndicator.qml @@ -1,5 +1,3 @@ -// Keyboard Layout Indicator component -// Displays the current locale/layout and switches between them when clicked (if multiple are available) import QtQuick 2.15 import QtQml 2.15 @@ -13,13 +11,10 @@ Item { width: implicitWidth height: implicitHeight - // Number of available layouts property int layoutsCount: (typeof keyboard !== "undefined" && keyboard && keyboard.layouts) ? keyboard.layouts.length : 0 - // Show if we have layout info or a valid locale fallback and not hidden visible: (config.HideKeyboardLayout !== "false") ? false : (currentShortName !== "") - // Get current layout shortname (e.g. "US", "HU") property string currentShortName: "" function updateCurrentShortName() { @@ -34,7 +29,6 @@ Item { } } - // Fallback to config locale or system locale var loc = config.Locale || Qt.locale().name if (loc) { var parts = loc.split("_") @@ -48,7 +42,6 @@ Item { Component.onCompleted: updateCurrentShortName() - // Colors matched to the theme config property color textColor: config.UserIconColor || "#ffffff" property color hoverColor: config.HoverUserIconColor || "#b7cef1" @@ -56,9 +49,7 @@ Item { id: layoutRow height: root.font.pointSize * 1.1 spacing: root.font.pointSize * 0.4 - // Removed anchors.centerIn to prevent circular binding loop with parent width/height - // Keyboard icon Canvas { id: kbdCanvas width: root.font.pointSize * 1.5 @@ -79,7 +70,6 @@ Item { ctx.lineJoin = "round" ctx.globalAlpha = 0.85 - // Draw keyboard outline var r = height * 0.15 var bx = ctx.lineWidth / 2 var by = ctx.lineWidth / 2 @@ -95,16 +85,13 @@ Item { ctx.closePath() ctx.stroke() - // Draw simple key grid ctx.lineWidth = height * 0.06 var kw = bw / 6 var kh = bh / 4 - // Row 1 & 2 keys for (var i = 0; i < 4; i++) { ctx.fillRect(bx + kw * (i + 1), by + kh, kw * 0.6, kh * 0.6) ctx.fillRect(bx + kw * (i + 0.5), by + kh * 2, kw * 0.6, kh * 0.6) } - // Spacebar ctx.fillRect(bx + kw * 1.5, by + kh * 3, kw * 3, kh * 0.6) ctx.globalAlpha = 1.0 @@ -116,7 +103,6 @@ Item { } } - // Layout Short Name (e.g. US, HU) Text { id: layoutText anchors.verticalCenter: parent.verticalCenter @@ -176,7 +162,6 @@ Item { color: delegateMouse.containsMouse ? Qt.rgba(1, 1, 1, 0.15) : "transparent" radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 4 : root.font.pointSize * 0.4 - // Get layout object safely property var layoutObj: (typeof keyboard !== "undefined" && keyboard && keyboard.layouts) ? keyboard.layouts[index] : null property string shortName: layoutObj && layoutObj.shortName ? layoutObj.shortName.toUpperCase() : "" property string longName: layoutObj && layoutObj.longName ? layoutObj.longName : "" diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml b/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml index 779a21a..65e6e41 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/LoginForm.qml @@ -29,7 +29,6 @@ ColumnLayout { Layout.rightMargin: innerPadding } - // Akkumulátor + Hálózat jelzők RowLayout { id: statusRow @@ -56,7 +55,6 @@ ColumnLayout { } } - // Billentyűzet kiosztás jelző (letiltva a felhasználói kérésnek megfelelően) KeyboardLayoutIndicator { id: keyboardLayoutIndicator diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml b/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml index 6300841..07bf902 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/NetworkIndicator.qml @@ -10,7 +10,6 @@ Row { height: root.font.pointSize * 1.6 spacing: root.font.pointSize * 0.5 - // "none" | "wifi" | "ethernet" property string netType: "none" property int wifiQuality: 0 // 0-100 property string activeIface: "" @@ -28,7 +27,6 @@ Row { "enp0s3","enp0s31f6","ens33","ens3","ens18" ] - // ── Fájl olvasó ────────────────────────────────────────────────────────── function readFile(path, cb) { var xhr = new XMLHttpRequest() xhr.open("GET", "file://" + path, true) @@ -42,16 +40,13 @@ Row { xhr.send() } - // ── WiFi jelerősség /proc/net/wireless-ből ─────────────────────────────── function readWifiSignal(iface) { readFile("/proc/net/wireless", function(content) { if (!content) { wifiQuality = 60; netCanvas.requestPaint(); return } var lines = content.split("\n") for (var i = 0; i < lines.length; i++) { if (lines[i].indexOf(iface + ":") !== -1) { - // formátum: "wlan0: 0000 61. -49. -256 ..." var parts = lines[i].trim().replace(/\./g,"").split(/\s+/) - // parts[2] = link quality (0–70 tartomány általában) var q = parseFloat(parts[2]) || 0 wifiQuality = Math.min(100, Math.round(q / 70 * 100)) break @@ -61,7 +56,6 @@ Row { }) } - // ── Interfész keresők ──────────────────────────────────────────────────── function checkWifi(idx) { if (idx >= wifiIfaces.length) { checkEth(0); return } readFile("/sys/class/net/" + wifiIfaces[idx] + "/operstate", function(st) { @@ -75,7 +69,6 @@ Row { }) } - // ── Ethernet keresés ───────────────────────────────────────────────────── function checkEth(idx) { if (idx >= ethIfaces.length) { netType = "none"; return } readFile("/sys/class/net/" + ethIfaces[idx] + "/operstate", function(st) { @@ -100,21 +93,18 @@ Row { onTriggered: networkIndicator.refresh() } - // ── Szín ───────────────────────────────────────────────────────────────── function signalColor(q) { if (q >= 65) return "#4ade80" // zöld – erős if (q >= 40) return "#facc15" // sárga – közepes return "#fb923c" // narancs – gyenge } - // ── UI ─────────────────────────────────────────────────────────────────── Canvas { id: netCanvas width: root.font.pointSize * 2.0 height: root.font.pointSize * 1.6 anchors.verticalCenter: parent.verticalCenter - // Qt Canvas nem támogatja ctx.roundRect() – saját helper function rr(c, x, y, w, h, r) { r = Math.min(Math.max(r, 0), Math.min(w, h) / 2) c.beginPath() @@ -136,14 +126,12 @@ Row { drawEthernet(ctx) } - // ── WiFi antenna ikon (4 ívelt sáv) ───────────────────────────── function drawWifi(ctx) { var q = networkIndicator.wifiQuality var cx = width / 2 var base = height * 0.96 var dot = height * 0.08 - // Sávok száma a minőség alapján var bars = q >= 70 ? 4 : q >= 45 ? 3 : q >= 20 ? 2 : 1 var col = networkIndicator.signalColor(q) @@ -161,7 +149,6 @@ Row { ctx.stroke() } - // Középső pont (antenna) ctx.beginPath() ctx.arc(cx, base, dot, 0, Math.PI * 2) ctx.fillStyle = col @@ -170,7 +157,6 @@ Row { ctx.globalAlpha = 1.0 } - // ── Ethernet dugó ikon ─────────────────────────────────────────── function drawEthernet(ctx) { var col = "#4ade80" var lw = height * 0.09 @@ -184,7 +170,6 @@ Row { var cx = width / 2 var cy = height / 2 - // Kábel test (felső téglalap) var bw = width * 0.70 var bh = height * 0.38 var bx = cx - bw / 2 @@ -192,7 +177,6 @@ Row { rr(ctx, bx, by, bw, bh, height * 0.06) ctx.stroke() - // 3 érintkező pin a téglalapban var pinW = width * 0.08 var pinH = height * 0.22 var pinY = by - pinH + lw @@ -202,13 +186,11 @@ Row { ctx.fill() } - // Kábel vonala lefelé ctx.beginPath() ctx.moveTo(cx, by + bh) ctx.lineTo(cx, cy + height * 0.38) ctx.stroke() - // Dugó alap vonal ctx.lineWidth = lw * 1.5 ctx.beginPath() ctx.moveTo(cx - width * 0.22, cy + height * 0.38) @@ -219,7 +201,6 @@ Row { } } - // Felirat Text { id: netLabel anchors.verticalCenter: parent.verticalCenter diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml b/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml index 27d5b71..5c25217 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/ParticleOverlay.qml @@ -40,7 +40,6 @@ Canvas { var p = particles[i] var r = p.baseR * (0.75 + 0.25 * Math.sin(p.phase + time * 2.2)) - // Glow halo var grd = ctx.createRadialGradient(p.x, p.y, 0, p.x, p.y, p.glowR) grd.addColorStop(0, "hsla(" + p.hue + ",100%,72%," + (p.opacity * 0.55) + ")") grd.addColorStop(1, "hsla(" + p.hue + ",100%,72%,0)") @@ -49,7 +48,6 @@ Canvas { ctx.fillStyle = grd ctx.fill() - // Core dot ctx.beginPath() ctx.arc(p.x, p.y, r, 0, Math.PI * 2) ctx.fillStyle = "hsla(" + p.hue + ",100%,88%," + p.opacity + ")" @@ -84,7 +82,6 @@ Canvas { } Component.onCompleted: { - // kis késleltetés hogy a méret biztosan kész legyen Qt.callLater(initParticles) } } diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml b/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml index 045e298..a04408f 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/SessionButton.qml @@ -20,8 +20,6 @@ Item { ComboBox { id: selectSession - // important - // change also in errorMessage height: root.font.pointSize * 1.8 anchors.horizontalCenter: parent.horizontalCenter @@ -37,7 +35,6 @@ Item { } delegate: ItemDelegate { - // minus padding width: popupHandler.width - root.font.pointSize * 1.5 anchors.horizontalCenter: popupHandler.horizontalCenter diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml index 672f346..b3c16be 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/ToastNotification.qml @@ -45,7 +45,6 @@ Item { border.color: Qt.rgba(1, 0.35, 0.35, 0.65) border.width: root.font.pointSize * 0.08 - // Pulse animation border SequentialAnimation on border.color { running: toastRoot.showing loops: Animation.Infinite diff --git a/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml b/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml index f87b4d0..30d4013 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Components/UserSwitcher.qml @@ -9,13 +9,11 @@ import QtQuick.Effects 6.5 Item { id: userSwitcher - // Csak akkor látható ha több mint 1 felhasználó van visible: userModel.count > 1 width: switchBtn.implicitWidth + root.font.pointSize * 2 height: switchBtn.implicitHeight + root.font.pointSize * 0.6 - // Kiválasztott felhasználó indexe (kívülről beállítható) property int selectedIndex: 0 property string selectedName: { if (userModel.count < 1) return "" @@ -25,7 +23,6 @@ Item { signal userSwitched(int idx, string name) - // ── Segédfüggvények ─────────────────────────────────────────────────────────────────── function resolveUserIcon(idx) { var list = [] var count = (typeof userModel !== "undefined" && userModel) ? userModel.count : 0 @@ -64,7 +61,6 @@ Item { return userModel.data(userModel.index(idx, 0), Qt.UserRole + 1) || "" } - // ── Gomb (chip stílus) ──────────────────────────────────────────────────── Rectangle { id: switchBtn anchors.centerIn: parent @@ -90,7 +86,6 @@ Item { anchors.centerIn: parent spacing: root.font.pointSize * 0.5 - // Mini avatar kör Rectangle { id: miniAvatarCircle width: root.font.pointSize * 1.6 @@ -159,7 +154,6 @@ Item { } } - // Felhasználónév Text { anchors.verticalCenter: parent.verticalCenter text: userSwitcher.selectedName @@ -170,14 +164,12 @@ Item { font.family: root.font.family } - // Nyíl ikon Text { anchors.verticalCenter: parent.verticalCenter text: "⌄" color: Qt.rgba(1, 1, 1, 0.70) font.pointSize: root.font.pointSize * 0.85 font.family: root.font.family - // Csak ha több user van, akkor látszik a nyíl visible: userModel.count > 1 rotation: popup.visible ? 180 : 0 @@ -190,12 +182,10 @@ Item { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor - // Csak akkor nyit popup-ot ha több felhasználó van onClicked: if (userModel.count > 1) { popup.visible ? popup.close() : popup.open() } } } - // ── Felhasználó-lista popup ─────────────────────────────────────────────── Popup { id: popup @@ -225,7 +215,6 @@ Item { border.width: root.font.pointSize * 0.08 } - // Fejléc Column { width: parent.width spacing: root.font.pointSize * 0.4 @@ -239,14 +228,12 @@ Item { bottomPadding: root.font.pointSize * 0.2 } - // Elválasztó vonal Rectangle { width: parent.width height: root.font.pointSize * 0.08 color: Qt.rgba(1, 1, 1, 0.12) } - // Felhasználók listája ListView { id: userList width: parent.width @@ -264,7 +251,6 @@ Item { height: root.font.pointSize * 4 radius: config.RoundCorners !== "" ? parseInt(config.RoundCorners) / 2 : root.font.pointSize * 0.6 - // Kiemelés: aktív felhasználó property bool isActive: index === userSwitcher.selectedIndex color: isActive ? Qt.rgba(1, 1, 1, 0.12) @@ -280,7 +266,6 @@ Item { anchors.leftMargin: root.font.pointSize * 0.7 spacing: root.font.pointSize * 0.8 - // Avatar kör Rectangle { id: delegateAvatarCircle width: root.font.pointSize * 3 @@ -336,7 +321,6 @@ Item { } } - // Felhasználónév Text { anchors.verticalCenter: parent.verticalCenter text: userSwitcher.getUserName(index) @@ -347,7 +331,6 @@ Item { } } - // Aktív jelző csík a bal oldalon Rectangle { visible: delegateRect.isActive width: root.font.pointSize * 0.23 diff --git a/raveos-sddm-theme/sddm-rave-theme/Main.qml b/raveos-sddm-theme/sddm-rave-theme/Main.qml index 10f8325..c938645 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Main.qml +++ b/raveos-sddm-theme/sddm-rave-theme/Main.qml @@ -177,7 +177,6 @@ Pane { id: virtualKeyboard source: "Components/VirtualKeyboard.qml" - // x * 0.4 = x / 2.5 width: config.KeyboardSize == "" ? parent.width * 0.4 : parent.width * config.KeyboardSize anchors.left: config.VirtualKeyboardPosition == "left" ? parent.left : undefined; anchors.horizontalCenter: config.VirtualKeyboardPosition == "center" ? parent.horizontalCenter : undefined; diff --git a/raveos-sddm-theme/sddm-rave-theme/Themes/rave.conf b/raveos-sddm-theme/sddm-rave-theme/Themes/rave.conf index cd2c870..d98e25e 100644 --- a/raveos-sddm-theme/sddm-rave-theme/Themes/rave.conf +++ b/raveos-sddm-theme/sddm-rave-theme/Themes/rave.conf @@ -1,75 +1,36 @@ [General] -#################### General #################### ScreenWidth="" ScreenHeight="" ScreenPadding="" Logo="Themes/logo.png" -# Default 0, Options: from 0 to min(screen width/2,screen height/2). UserAvatar="" -# Optional path to a specific user avatar image (e.g. "/usr/share/sddm/faces/user.face.icon" or relative to theme) DefaultAvatar="" -# Fallback avatar when no user-specific avatar is found. Font="Open Sans" FontSize="" -# Default is screen height divided by 80 (1080/80=13.5), Options: 0-inf. KeyboardSize="0.4" -# Default 0.4, Options 0.1-1.0 RoundCorners="" Locale="hu" -# Locale for data and time format. I suggest leaving it blank. HourFormat="HH:mm" -# Default Locale.ShortFormat. DateFormat="MMMM d dddd" -# Default Locale.LongFormat. HeaderText="" -# You can put somehting fun. -#################### Background #################### BackgroundPlaceholder="Backgrounds/rave_background.png" -# Must be a relative path. -# Background displayed before the actual background is loaded. -# Use only if the background is a video, otherwise leave blank. -# Connected with: Background. -# Background="Backgrounds/sddm_bg_animated.mp4" Background="Backgrounds/rave_background.png" -# Must be a relative path. -# Supports: png, jpg, jpeg, webp, gif, avi, mp4, mov, mkv, m4v, webm. BackgroundSpeed="" -# Default 1.0. Options: 0.0-10.0 (can go higher). -# Speed of animated wallpaper. -# Connected with: Background. PauseBackground="" -# Default false. -# If set to true, stops playback of gifs. Works only with gifs. -# Connected with: Background. LoopBackground="false" -# Default false. -# If set to true, loops video playback infinitely. When false, freezes on the last frame when video ends. -# Connected with: Background. DimBackground="0.0" -# Options: 0.0-1.0. -# Connected with: DimBackgroundColor CropBackground="true" -# Default false. -# Crop or fit background. -# Connected with: BackgroundHorizontalAlignment and BackgroundVerticalAlignment dosn't work when set to true. BackgroundHorizontalAlignment="center" -# Default: center, Options: left, center, right. -# Horizontal position of the background picture. -# Connected with: CropBackground must be set to false. BackgroundVerticalAlignment="center" -# Horizontal position of the background picture. -# Default: center, Options: bottom, center, top. -# Connected with: CropBackground must be set to false. -#################### Colors #################### HeaderTextColor="#ffffff" DateTextColor="#ffffff" @@ -109,32 +70,18 @@ HoverSystemButtonsIconsColor="#b7cef1" HoverSessionButtonTextColor="#b7cef1" HoverVirtualKeyboardButtonTextColor="#b7cef1" -#################### Form #################### PartialBlur="true" -# Default false. FullBlur="" -# Default false. -# If you use FullBlur I recommend setting BlurMax to 64 and Blur to 1.0. BlurMax="48" -# Default 48, Options: 2-64. -# Connected with: Blur. Blur="1.0" -# Default 1.0, Options: 0.0-1.0. -# Connected with: BlurMax. HaveFormBackground="false" -# Form background is transparent if set to false. -# Connected with: PartialBlur and BackgroundColor. FormPosition="right" -# Default: left, Options: left, center, right. -#################### Virtual Keyboard #################### VirtualKeyboardPosition="left" -# Default: left, Options: left, center, right. -#################### Interface Behavior #################### HideKeyboardLayout="true" HideVirtualKeyboard="false" @@ -142,23 +89,14 @@ HideSystemButtons="false" HideLoginButton="false" ForceLastUser="true" -# If set to true last successfully logged in user appeares automatically in the username field. PasswordFocus="true" -# Automaticaly focuses password field. HideCompletePassword="true" -# Hides the password while typing. AllowEmptyPassword="false" -# Enable login for users without a password. AllowUppercaseLettersInUsernames="false" -# Do not change this! Uppercase letters are generally not allowed in usernames. This option is only for systems that differ from this standard! BypassSystemButtonsChecks="false" -# Skips checking if sddm can perform shutdown, restart, suspend or hibernate, always displays all system buttons. RightToLeftLayout="false" -# Revert the layout either because you would like the login to be on the right hand side or SDDM won't respect your language locale for some reason. This will reverse the current position of FormPosition if it is either left or right and in addition position some smaller elements on the right hand side of the form itself (also when FormPosition is set to center). -#################### Translation #################### -# These don't necessarily need to translate anything. You can enter whatever you want here. TranslatePlaceholderUsername="" TranslatePlaceholderPassword="" TranslateLogin="" -- cgit v1.3