diff options
| author | Nippy <nippy@Beller-Mac-mini.lan> | 2026-09-08 20:36:52 +0200 |
|---|---|---|
| committer | Nippy <nippy@Beller-Mac-mini.lan> | 2026-09-08 20:38:25 +0200 |
| commit | adcb52806eb4c778bd97dc7eb01ee43ae5733fd1 (patch) | |
| tree | d8e54c6a9300c1b4aae91747acbb0869440003c7 | |
| parent | a9d2aca55e607205bed058d268d37c1fe89095f8 (diff) | |
| download | RaveOS-PKGBUILD-adcb52806eb4c778bd97dc7eb01ee43ae5733fd1.tar.gz RaveOS-PKGBUILD-adcb52806eb4c778bd97dc7eb01ee43ae5733fd1.zip | |
| -rw-r--r-- | raveos-app-installer/PKGBUILD | 2 | ||||
| -rw-r--r-- | raveos-app-installer/app-list.json | 40 | ||||
| -rwxr-xr-x | raveos-app-installer/data/configs/librewolf/installs.ini | 4 | ||||
| -rwxr-xr-x | raveos-app-installer/data/configs/librewolf/profiles.ini | 12 | ||||
| -rw-r--r-- | raveos-app-installer/data/configs/mc/ini | 17 | ||||
| -rw-r--r-- | raveos-app-installer/data/configs/update-proton-ge | 50 | ||||
| -rw-r--r-- | raveos-app-installer/data/configs/vivaldi/First Run | 0 | ||||
| -rw-r--r-- | raveos-app-installer/data/configs/vlc/vlcrc | 16 | ||||
| -rw-r--r-- | raveos-cosmic-theme/PKGBUILD | 9 | ||||
| -rw-r--r-- | raveos-cosmic-theme/raveos-cosmic-theme.install | 7 | ||||
| -rw-r--r-- | raveos-hyprland-theme/PKGBUILD | 2 | ||||
| -rw-r--r-- | raveos-hyprland-theme/raveos-hyprland-apply.sh | 6 | ||||
| -rw-r--r-- | raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua | 9 | ||||
| -rw-r--r-- | raveos-hyprland-theme/theme-data/raveswitch/config.ron | 2 | ||||
| -rw-r--r-- | raveos-tools/PKGBUILD | 2 | ||||
| -rw-r--r-- | raveos-tools/rave | 8 | ||||
| -rw-r--r-- | raveos-welcome/PKGBUILD | 2 | ||||
| -rw-r--r-- | raveos-welcome/raveos_welcome.py | 143 | ||||
| -rw-r--r-- | raveswitch/PKGBUILD | 2 |
19 files changed, 256 insertions, 77 deletions
diff --git a/raveos-app-installer/PKGBUILD b/raveos-app-installer/PKGBUILD index 7926926..e2e1b5b 100644 --- a/raveos-app-installer/PKGBUILD +++ b/raveos-app-installer/PKGBUILD @@ -8,7 +8,7 @@ pkgname=raveos-app-installer pkgver=3.1 -pkgrel=8 +pkgrel=9 pkgdesc="RaveOS graphical application installer" arch=('any') url="https://git.rp1.hu/RaveOS/raveos-app-installer" diff --git a/raveos-app-installer/app-list.json b/raveos-app-installer/app-list.json index 46dd5f8..201a3f0 100644 --- a/raveos-app-installer/app-list.json +++ b/raveos-app-installer/app-list.json @@ -388,8 +388,16 @@ }, "type": "flatpak-user", "flatpak_id": "io.gitlab.librewolf-community", - "config_dir": "librewolf", - "config_dest": "{HOME}/.var/app/io.gitlab.librewolf-community/.librewolf" + "config_mappings": [ + { + "source": "librewolf", + "dest": "{HOME}/.var/app/io.gitlab.librewolf-community/.librewolf" + }, + { + "source": "librewolf", + "dest": "{HOME}/.librewolf" + } + ] }, { "id": "lutris", @@ -433,7 +441,9 @@ "type": "pacman", "packages": [ "mc" - ] + ], + "config_dir": "mc", + "config_dest": "{HOME}/.config/mc" }, { "id": "mumble", @@ -686,11 +696,19 @@ "en": "Vivaldi web browser" }, "type": "pacman", - "config_dir": "vivaldi", - "config_dest": "{HOME}/.config/vivaldi", "packages": [ "vivaldi", "vivaldi-ffmpeg-codecs" + ], + "config_mappings": [ + { + "source": "vivaldi", + "dest": "{HOME}/.config/vivaldi" + }, + { + "source": "vivaldi", + "dest": "{HOME}/.var/app/com.vivaldi.Vivaldi/config/vivaldi" + } ] }, { @@ -702,7 +720,17 @@ "en": "VLC Media Player (Flatpak)" }, "type": "flatpak-user", - "flatpak_id": "org.videolan.VLC" + "flatpak_id": "org.videolan.VLC", + "config_mappings": [ + { + "source": "vlc", + "dest": "{HOME}/.var/app/org.videolan.VLC/config/vlc" + }, + { + "source": "vlc", + "dest": "{HOME}/.config/vlc" + } + ] }, { "id": "vulkan-radeon", diff --git a/raveos-app-installer/data/configs/librewolf/installs.ini b/raveos-app-installer/data/configs/librewolf/installs.ini deleted file mode 100755 index 5c27df7..0000000 --- a/raveos-app-installer/data/configs/librewolf/installs.ini +++ /dev/null @@ -1,4 +0,0 @@ -[AA67A15BF0F93AE3] -Default=07bi09lg.default-default -Locked=1 - diff --git a/raveos-app-installer/data/configs/librewolf/profiles.ini b/raveos-app-installer/data/configs/librewolf/profiles.ini index b24579a..5e6d773 100755 --- a/raveos-app-installer/data/configs/librewolf/profiles.ini +++ b/raveos-app-installer/data/configs/librewolf/profiles.ini @@ -1,19 +1,11 @@ -[InstallAA67A15BF0F93AE3] -Default=07bi09lg.default-default -Locked=1 - -[Profile1] -Name=default -IsRelative=1 -Path=0qzvjlj8.default -Default=1 - [Profile0] Name=default-default IsRelative=1 Path=07bi09lg.default-default +Default=1 [General] StartWithLastProfile=1 Version=2 + diff --git a/raveos-app-installer/data/configs/mc/ini b/raveos-app-installer/data/configs/mc/ini new file mode 100644 index 0000000..db5e60f --- /dev/null +++ b/raveos-app-installer/data/configs/mc/ini @@ -0,0 +1,17 @@ +[Midnight-Commander] +skin=modarin256 +use_internal_view=true +use_internal_edit=true +auto_menu=false +confirm_delete=true +confirm_overwrite=true +navigate_with_arrows=true + +[Layout] +message_visible=true +keybar_visible=true +xterm_title=true +command_prompt=true + +[Panels] +show_mini_info=true diff --git a/raveos-app-installer/data/configs/update-proton-ge b/raveos-app-installer/data/configs/update-proton-ge index c117af2..7362593 100644 --- a/raveos-app-installer/data/configs/update-proton-ge +++ b/raveos-app-installer/data/configs/update-proton-ge @@ -1,37 +1,41 @@ -#!/bin/sh +#!/usr/bin/env bash # Stop on error -set -e +set -euo pipefail # Constants -REPO=https://github.com/GloriousEggroll/proton-ge-custom -LATEST_RELEASE_URL=$REPO/releases/latest -PROTON_DIR=~/.local/share/Steam/compatibilitytools.d +REPO="https://github.com/GloriousEggroll/proton-ge-custom" +LATEST_RELEASE_URL="${REPO}/releases/latest" +PROTON_DIR="${HOME}/.local/share/Steam/compatibilitytools.d" +mkdir -p "$PROTON_DIR" # Find latest version tag -release_url=$(curl -Ls -o /dev/null -w %{url_effective} $LATEST_RELEASE_URL) -version=${release_url##*/} -echo Found latest version: $version +release_url=$(curl -Ls -o /dev/null -w "%{url_effective}" "$LATEST_RELEASE_URL") +version="${release_url##*/}" +echo "Found latest version: ${version}" -# Determine download URL and install path -download_url=https://github.com/GloriousEggroll/proton-ge-custom/releases/download/$version/$version.tar.gz -install_dir=$PROTON_DIR/$version -download_file=/tmp/$version.tar.gz +# Determine download URL (try -x86_64.tar.gz first, fallback to .tar.gz) +download_url="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${version}/${version}-x86_64.tar.gz" +if ! curl -sfI "$download_url" >/dev/null 2>&1; then + download_url="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/${version}/${version}.tar.gz" +fi + +install_dir="${PROTON_DIR}/${version}" +download_file="/tmp/${version}.tar.gz" # Exit if already installed -if [ -d $install_dir ]; then - echo Already installed at: $install_dir - exit +if [ -d "$install_dir" ]; then + echo "Already installed at: ${install_dir}" + exit 0 fi -echo Downloading... -wget -q --show-progress $download_url -O $download_file +echo "Downloading from: ${download_url}" +wget -q --show-progress "$download_url" -O "$download_file" -echo Extracting... -mkdir -p $PROTON_DIR -tar -xzf $download_file --directory $PROTON_DIR +echo "Extracting to ${PROTON_DIR}..." +tar -xzf "$download_file" --directory "$PROTON_DIR" -echo Cleanup... -rm $download_file +echo "Cleanup..." +rm -f "$download_file" -echo Installation complete, at: $install_dir +echo "Installation complete at: ${install_dir}" diff --git a/raveos-app-installer/data/configs/vivaldi/First Run b/raveos-app-installer/data/configs/vivaldi/First Run new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/raveos-app-installer/data/configs/vivaldi/First Run diff --git a/raveos-app-installer/data/configs/vlc/vlcrc b/raveos-app-installer/data/configs/vlc/vlcrc new file mode 100644 index 0000000..bcc724d --- /dev/null +++ b/raveos-app-installer/data/configs/vlc/vlcrc @@ -0,0 +1,16 @@ +### +### RaveOS VLC Configuration (Dark mode default) +### + +[qt] +# Use Fusion style with dark palette +qt-style=Fusion +qt-dark=1 +qt-privacy-ask=0 +qt-notification=0 +qt-fs-controller=1 + +[core] +# Privacy: don't ask for metadata or network updates +metadata-network-access=0 +qt-privacy-ask=0 diff --git a/raveos-cosmic-theme/PKGBUILD b/raveos-cosmic-theme/PKGBUILD index c1a76e2..877e9a5 100644 --- a/raveos-cosmic-theme/PKGBUILD +++ b/raveos-cosmic-theme/PKGBUILD @@ -2,7 +2,7 @@ pkgname=raveos-cosmic-theme pkgver=1.0.0 -pkgrel=1 +pkgrel=2 pkgdesc="RaveOS Cosmic theme payload and installer" arch=('any') url="https://raveos.local" @@ -23,18 +23,11 @@ SRCPKGDEST="${startdir}/build" LOGDEST="${startdir}/build" package() { - install -dm755 "${pkgdir}/usr/share/backgrounds/raveos" - install -Dm644 "${startdir}/theme-data/background" \ - "${pkgdir}/usr/share/backgrounds/raveos/raveos-main-bg.jpeg" - install -Dm644 "${startdir}/theme-data/system/raveos-logo.svg" \ "${pkgdir}/usr/share/pixmaps/raveos-logo.svg" install -Dm644 "${startdir}/theme-data/system/raveos-logo.svg" \ "${pkgdir}/usr/share/icons/hicolor/scalable/apps/raveos-logo.svg" - install -Dm755 "${startdir}/theme-data/profile.d/raveos-fastfetch.sh" \ - "${pkgdir}/etc/profile.d/raveos-fastfetch.sh" - install -dm755 "${pkgdir}/usr/share/raveos/cosmic-theme" cp -r --no-preserve=ownership "${startdir}/theme-data" \ "${pkgdir}/usr/share/raveos/cosmic-theme/" diff --git a/raveos-cosmic-theme/raveos-cosmic-theme.install b/raveos-cosmic-theme/raveos-cosmic-theme.install index c022d33..963e9b8 100644 --- a/raveos-cosmic-theme/raveos-cosmic-theme.install +++ b/raveos-cosmic-theme/raveos-cosmic-theme.install @@ -1,4 +1,11 @@ _enable_apply_service() { + local payload="/usr/share/raveos/cosmic-theme/theme-data" + if [ -f "${payload}/background" ]; then + install -Dm644 "${payload}/background" /usr/share/backgrounds/raveos/raveos-main-bg.jpeg 2>/dev/null || true + fi + if [ -f "${payload}/profile.d/raveos-fastfetch.sh" ]; then + install -Dm755 "${payload}/profile.d/raveos-fastfetch.sh" /etc/profile.d/raveos-fastfetch.sh 2>/dev/null || true + fi if command -v systemctl >/dev/null 2>&1; then systemctl enable raveos-cosmic-theme-apply.service >/dev/null 2>&1 || true fi diff --git a/raveos-hyprland-theme/PKGBUILD b/raveos-hyprland-theme/PKGBUILD index a9310cc..0166557 100644 --- a/raveos-hyprland-theme/PKGBUILD +++ b/raveos-hyprland-theme/PKGBUILD @@ -2,7 +2,7 @@ pkgname=raveos-hyprland-theme pkgver=1.0.0 -pkgrel=1 +pkgrel=2 pkgdesc="RaveOS Hyprland theme payload and installer" arch=('any') url="https://raveos.local" diff --git a/raveos-hyprland-theme/raveos-hyprland-apply.sh b/raveos-hyprland-theme/raveos-hyprland-apply.sh index 6d7ab85..abd61f7 100644 --- a/raveos-hyprland-theme/raveos-hyprland-apply.sh +++ b/raveos-hyprland-theme/raveos-hyprland-apply.sh @@ -242,6 +242,10 @@ while IFS=: read -r user _ uid gid _ home shell; do cp -rf "${PAYLOAD}/hypr/." "${home}/.config/hypr/" rm -f "${home}/.config/hypr/hyprland.conf" set_hypr_keyboard "${home}/.config/hypr/hyprland.lua" + elif [[ -f "${home}/.config/hypr/config/keybinds.lua" && -f "${PAYLOAD}/hypr/config/keybinds.lua" ]]; then + if grep -q 'SUPER + TAB' "${home}/.config/hypr/config/keybinds.lua" 2>/dev/null; then + install -Dm644 "${PAYLOAD}/hypr/config/keybinds.lua" "${home}/.config/hypr/config/keybinds.lua" + fi fi # hyprpaper konfig @@ -307,6 +311,8 @@ SEOF # RaveSwitch if [[ ! -f "${home}/.config/raveswitch/config.ron" && -f "${PAYLOAD}/raveswitch/config.ron" ]]; then install -Dm644 "${PAYLOAD}/raveswitch/config.ron" "${home}/.config/raveswitch/config.ron" + elif [[ -f "${home}/.config/raveswitch/config.ron" ]]; then + sed -i 's/modifier: "Super"/modifier: "Alt"/' "${home}/.config/raveswitch/config.ron" 2>/dev/null || true fi # Flatpak global override diff --git a/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua index 62c734e..a072f88 100644 --- a/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua +++ b/raveos-hyprland-theme/theme-data/hypr/config/keybinds.lua @@ -12,7 +12,8 @@ for i = 1, 10 do end -- Shell Binds -hl.bind("SUPER + SUPER_L", hl.dsp.exec_cmd("dms ipc call spotlight toggle"), { release = true }) +hl.bind(mainMod .. "_L", function() end, { ignore_mods = true, transparent = true }) +hl.bind(mainMod .. "_L", hl.dsp.exec_cmd("dms ipc call spotlight toggle"), { ignore_mods = true, release = true }) hl.bind(mainMod .. " + P", hl.dsp.exec_cmd("dms ipc call clipboard toggle")) hl.bind(mainMod .. " + M", hl.dsp.exec_cmd("dms ipc call processlist toggle")) hl.bind(mainMod .. " + SHIFT + N", hl.dsp.exec_cmd("dms ipc call notifications toggle")) @@ -20,8 +21,9 @@ hl.bind(mainMod .. " + N", hl.dsp.exec_cmd("dms ipc call notepad toggle" hl.bind(mainMod .. " + S", hl.dsp.exec_cmd("dms ipc call settings toggle")) hl.bind(mainMod .. " + Y", hl.dsp.exec_cmd("dms ipc call dankdash wallpaper")) --- RaveSwitch -hl.bind("SUPER + TAB", hl.dsp.exec_cmd([[raveswitch socat '{"OpenSwitch":{"reverse":false}}']])) +-- RaveSwitch (Alt + Tab) +hl.bind("ALT + TAB", hl.dsp.exec_cmd([[raveswitch socat '{"OpenSwitch":{"reverse":false}}']])) +hl.bind("ALT + SHIFT + Tab", hl.dsp.exec_cmd([[raveswitch socat '{"OpenSwitch":{"reverse":true}}']])) -- Apps hl.bind(secondMod .. " + T", hl.dsp.exec_cmd("kitty")) @@ -37,7 +39,6 @@ hl.bind("CTRL + SUPER + End", hl.dsp.exec_cmd("poweroff")) -- Window management hl.bind(mainMod .. " + Q", hl.dsp.window.kill()) hl.bind(mainMod .. " + V", hl.dsp.window.float()) -hl.bind(mainMod .. " + SHIFT + Tab", hl.dsp.exec_cmd([[raveswitch socat '{"OpenSwitch":{"reverse":true}}']])) -- Move focus with mainMod + arrow keys hl.bind(mainMod .. " + left", hl.dsp.focus({ direction = "left" })) diff --git a/raveos-hyprland-theme/theme-data/raveswitch/config.ron b/raveos-hyprland-theme/theme-data/raveswitch/config.ron index 272265e..72bdd16 100644 --- a/raveos-hyprland-theme/theme-data/raveswitch/config.ron +++ b/raveos-hyprland-theme/theme-data/raveswitch/config.ron @@ -2,7 +2,7 @@ ( version: 4, windows: ( - switch: Some(modifier: "Super", key: "Tab", filter_by: [current_monitor], switch_workspaces: false, exclude_workspaces: "", kill_key: 'q'), + switch: Some(modifier: "Alt", key: "Tab", filter_by: [current_monitor], switch_workspaces: false, exclude_workspaces: "", kill_key: 'q'), ), behavior: ( close_on_mod_release: true, diff --git a/raveos-tools/PKGBUILD b/raveos-tools/PKGBUILD index 0885edf..ac01bb6 100644 --- a/raveos-tools/PKGBUILD +++ b/raveos-tools/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: nippy <nippy@tuta.io> pkgname=raveos-tools pkgver=1.0.0 -pkgrel=7 +pkgrel=8 arch=('any') url="https://git.rp1.hu/RaveOS/RaveOS-PKGBUILD" license=('custom') diff --git a/raveos-tools/rave b/raveos-tools/rave index 4d8c1ca..df25685 100644 --- a/raveos-tools/rave +++ b/raveos-tools/rave @@ -41,7 +41,13 @@ case ${1,,} in sudo pacman -Sy ;; upgrade) - sudo pacman -Syu --noconfirm + if [ -f /etc/pacman.d/chaotic-mirrorlist.pacnew ]; then + sudo mv /etc/pacman.d/chaotic-mirrorlist.pacnew /etc/pacman.d/chaotic-mirrorlist + fi + if [ -f /etc/pacman.d/mirrorlist.pacnew ]; then + sudo mv /etc/pacman.d/mirrorlist.pacnew /etc/pacman.d/mirrorlist + fi + sudo pacman -Syu --noconfirm --overwrite "/etc/profile.d/*,/usr/share/backgrounds/raveos/*" sudo pacman -Rns $(pacman -Qtdq 2>/dev/null) --noconfirm 2>/dev/null || true sudo pacman -Sc --noconfirm flatpak update -y diff --git a/raveos-welcome/PKGBUILD b/raveos-welcome/PKGBUILD index 1449d1b..bd3c6ed 100644 --- a/raveos-welcome/PKGBUILD +++ b/raveos-welcome/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: nippy <nippy@tuta.io> pkgname=raveos-welcome pkgver=2.2.2 -pkgrel=3 +pkgrel=4 pkgdesc="RaveOS Welcome Application and Safe GPU Performance Optimizer" arch=('x86_64') url="https://git.rp1.hu/RaveOS/RaveOS-PKGBUILD" diff --git a/raveos-welcome/raveos_welcome.py b/raveos-welcome/raveos_welcome.py index ec1e2a8..7d1d9e6 100644 --- a/raveos-welcome/raveos_welcome.py +++ b/raveos-welcome/raveos_welcome.py @@ -1436,18 +1436,133 @@ class HyprlandPage(QWidget): # ─── GPU Detection ──────────────────────────────────────────────────────────── -def _detect_gpu() -> str: +def _detect_gpu() -> tuple[str, str]: + gpu_type = "other" + labels = [] + has_nvidia = False + has_amd = False + has_intel = False + try: out = subprocess.check_output( - ["lspci"], stderr=subprocess.DEVNULL - ).decode().lower() - if "amd" in out or "radeon" in out: - return "amd" - if "nvidia" in out: - return "nvidia" + ["lspci", "-v"], stderr=subprocess.DEVNULL + ).decode() + + current_block = [] + gpu_blocks = [] + for line in out.splitlines(): + if line and not line.startswith(("\t", " ")): + if current_block: + first = current_block[0] + if any(k in first for k in ("VGA compatible controller", "3D controller", "Display controller")): + gpu_blocks.append(current_block) + current_block = [line] + else: + current_block.append(line) + if current_block: + first = current_block[0] + if any(k in first for k in ("VGA compatible controller", "3D controller", "Display controller")): + gpu_blocks.append(current_block) + + import re + for block in gpu_blocks: + header = block[0] + subsystem = "" + for sub in block[1:]: + if "Subsystem:" in sub: + subsystem = sub.split("Subsystem:", 1)[1].strip() + break + + lower_header = header.lower() + lower_sub = subsystem.lower() + + model_info = header.split(":", 2)[-1].strip() + if " (rev " in model_info: + model_info = model_info.split(" (rev ")[0].strip() + + vendor_brand = "" + if "evga" in lower_sub or "evga" in lower_header: + vendor_brand = "EVGA" + elif "asus" in lower_sub or "asustek" in lower_sub: + vendor_brand = "ASUS" + elif "msi" in lower_sub or "micro-star" in lower_sub: + vendor_brand = "MSI" + elif "gigabyte" in lower_sub: + vendor_brand = "Gigabyte" + elif "sapphire" in lower_sub: + vendor_brand = "Sapphire" + elif "powercolor" in lower_sub: + vendor_brand = "PowerColor" + elif "xfx" in lower_sub: + vendor_brand = "XFX" + elif "zotac" in lower_sub: + vendor_brand = "Zotac" + + clean_name = model_info + for rep in ("Advanced Micro Devices, Inc. [AMD/ATI]", "Advanced Micro Devices, Inc.", "AMD/ATI"): + clean_name = clean_name.replace(rep, "AMD").strip() + for rep in ("NVIDIA Corporation", "Nvidia Corporation"): + clean_name = clean_name.replace(rep, "Nvidia").strip() + for rep in ("Intel Corporation",): + clean_name = clean_name.replace(rep, "Intel").strip() + + bracket_match = re.search(r'\[(.*?)\]', clean_name) + if bracket_match: + extracted = bracket_match.group(1) + prefix = "" + if "nvidia" in lower_header and "geforce" not in extracted.lower(): + prefix = "Nvidia " + elif "amd" in lower_header and "radeon" not in extracted.lower(): + prefix = "AMD " + elif "intel" in lower_header and "intel" not in extracted.lower(): + prefix = "Intel " + clean_name = f"{prefix}{extracted}" + + if "intel" in lower_header: + has_intel = True + if "igpu" not in clean_name.lower() and "arc" not in clean_name.lower(): + clean_name += " (iGPU)" + elif "nvidia" in lower_header: + has_nvidia = True + elif "amd" in lower_header or "radeon" in lower_header: + has_amd = True + + if vendor_brand and vendor_brand.lower() not in clean_name.lower(): + clean_name += f" ({vendor_brand})" + + labels.append(clean_name) + except Exception: pass - return "other" + + if not labels: + try: + out = subprocess.check_output( + ["lspci"], stderr=subprocess.DEVNULL + ).decode().lower() + if "nvidia" in out: + has_nvidia = True + labels.append("Nvidia") + if "amd" in out or "radeon" in out: + has_amd = True + labels.append("AMD") + if "intel" in out: + has_intel = True + labels.append("Intel (iGPU)") + except Exception: + pass + + if has_nvidia: + gpu_type = "nvidia" + elif has_amd: + gpu_type = "amd" + elif has_intel: + gpu_type = "intel" + else: + gpu_type = "other" + + gpu_label = " + ".join(labels) if labels else "Ismeretlen" + return gpu_type, gpu_label # ─── Page 3: Optimize ────────────────────────────────────────────────────────── @@ -1481,7 +1596,7 @@ QCheckBox:disabled {{ class OptimizePage(QWidget): def __init__(self): super().__init__() - self._gpu = _detect_gpu() + self._gpu_type, self._gpu_label = _detect_gpu() self._checks = {} self._hints = {} self._proc = None @@ -1504,8 +1619,7 @@ class OptimizePage(QWidget): vlay.setSpacing(4) # --- Gaming optimization --- - gpu_name = {"amd": "AMD", "nvidia": "Nvidia"}.get(self._gpu, "Ismeretlen") - self.sec1 = QLabel(_t("opt_gaming", gpu=gpu_name)) + self.sec1 = QLabel(_t("opt_gaming", gpu=self._gpu_label)) self.sec1.setObjectName("section_title") vlay.addWidget(self.sec1) vlay.addSpacing(4) @@ -1524,14 +1638,14 @@ class OptimizePage(QWidget): self._amd_checks = {} self._nvidia_checks = {} - if self._gpu == "nvidia": + if self._gpu_type == "nvidia": cb = self._add_check(vlay, "nvidia_perf", _t("opt_nvidia_perf"), _t("opt_nvidia_perf_desc"), default=True) self._nvidia_checks["nvidia_perf"] = ("opt_nvidia_perf", "opt_nvidia_perf_desc", cb) - if self._gpu == "amd": + if self._gpu_type == "amd": amd_opts = [ ("gpu_profile", "opt_gpu_profile", "opt_gpu_profile_desc"), ("amd_overdrive", "opt_amd_overdrive", "opt_amd_overdrive_desc"), @@ -1563,8 +1677,7 @@ class OptimizePage(QWidget): lay.addWidget(self.apply_btn, alignment=Qt.AlignmentFlag.AlignRight) def retranslate(self): - gpu_name = {"amd": "AMD", "nvidia": "Nvidia"}.get(self._gpu, "Ismeretlen") - self.sec1.setText(_t("opt_gaming", gpu=gpu_name)) + self.sec1.setText(_t("opt_gaming", gpu=self._gpu_label)) self.apply_btn.setText(_t("opt_apply")) for key, (lk, dk, cb) in self._common_checks.items(): cb.setText(_t(lk)) diff --git a/raveswitch/PKGBUILD b/raveswitch/PKGBUILD index 60bb631..93a5d54 100644 --- a/raveswitch/PKGBUILD +++ b/raveswitch/PKGBUILD @@ -1,7 +1,7 @@ # Maintainer: nippy <nippy@tuta.io> pkgname=raveswitch pkgver=0.4.1 -pkgrel=5 +pkgrel=6 pkgdesc="A modern GTK4-based window switcher and application launcher for Hyprland" arch=('x86_64' 'aarch64') conflicts=('hyprshell') |