From c34080eab27c939e1f229322e29286a73ed8c963 Mon Sep 17 00:00:00 2001 From: G34RZ Date: Wed, 9 Apr 2025 18:29:05 -0700 Subject: [PATCH] Upload files to "/" --- 90-system76-power.rules | 8 ++ README.md | 29 +++++ power-gui.go | 270 ++++++++++++++++++++++++++++++++++++++++ screen-shot.png | Bin 0 -> 61831 bytes 4 files changed, 307 insertions(+) create mode 100644 90-system76-power.rules create mode 100644 README.md create mode 100644 power-gui.go create mode 100644 screen-shot.png diff --git a/90-system76-power.rules b/90-system76-power.rules new file mode 100644 index 0000000..f805344 --- /dev/null +++ b/90-system76-power.rules @@ -0,0 +1,8 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.policykit.exec" && + action.lookup("program") == "/usr/bin/system76-power" && + subject.local && + subject.active) { + return polkit.Result.YES; + } +}); diff --git a/README.md b/README.md new file mode 100644 index 0000000..0a6da9c --- /dev/null +++ b/README.md @@ -0,0 +1,29 @@ +# system76-power-GUI + +![header](https://gitea.dockservices.co/Xlee/system76-power-GUI/raw/branch/main/screen-shot.png "(By BG)") + +This GUI is built on system76-power application that is used in their GUI implementations. Thus the name. I built this GUI to use with Arch on a window manager running wayland. + +## Features +- View current power profile +- Switch between Battery, Balanced, and Turbo modes +- Automatic profile persistence +- System tray integration + +## Dependencies +- system76-power +- polkit (for privilege escalation) + +## Installation + +### Make Source Linux +```bash +# Build and install the package +makepkg -si +``` + +## Usage +Launch the application from your desktop environment's application menu or run: +```bash +system76-power-gui +``` diff --git a/power-gui.go b/power-gui.go new file mode 100644 index 0000000..d23b50a --- /dev/null +++ b/power-gui.go @@ -0,0 +1,270 @@ +package main + +import ( + "fmt" + "os" + "os/exec" + "strings" + "time" + + "fyne.io/fyne/v2" + "fyne.io/fyne/v2/app" + "fyne.io/fyne/v2/container" + "fyne.io/fyne/v2/dialog" + "fyne.io/fyne/v2/widget" +) + +// checkDisplayServer checks if the current display server is supported +func checkDisplayServer() error { + // Check if running under Wayland + if os.Getenv("WAYLAND_DISPLAY") != "" || + os.Getenv("XDG_SESSION_TYPE") == "wayland" || + os.Getenv("WAYLAND_SOCKET") != "" { + return nil // Wayland is supported + } + + return fmt.Errorf("no Wayland display server detected") +} + +// getDisplayServerType returns the type of display server being used +func getDisplayServerType() string { + if os.Getenv("WAYLAND_DISPLAY") != "" || + os.Getenv("XDG_SESSION_TYPE") == "wayland" || + os.Getenv("WAYLAND_SOCKET") != "" { + return "Wayland" + } + + return "Unknown" +} + +// getDesktopEntry returns the appropriate desktop entry path based on display server +func getDesktopEntry() string { + displayType := getDisplayServerType() + switch displayType { + case "Wayland": + return "/usr/share/applications/system76-power-gui-wayland.desktop" + default: + // Default to Wayland if we can't determine + return "/usr/share/applications/system76-power-gui-wayland.desktop" + } +} + +// executeCommand runs a given command with sudo and returns its output or an error. +func executeCommand(command string, args ...string) (string, error) { + cmdArgs := append([]string{command}, args...) + cmd := exec.Command("pkexec", cmdArgs...) + + // Set up command environment + cmd.Env = append(os.Environ(), + "WAYLAND_DISPLAY="+os.Getenv("WAYLAND_DISPLAY"), + "XDG_SESSION_TYPE="+os.Getenv("XDG_SESSION_TYPE"), + "WAYLAND_SOCKET="+os.Getenv("WAYLAND_SOCKET"), + ) + + output, err := cmd.CombinedOutput() + if err != nil { + return "", fmt.Errorf("command execution failed: %v\nOutput: %s", err, string(output)) + } + + return string(output), nil +} + +// getStatus retrieves the current system76-power profile. +func getStatus() (string, error) { + // First check if system76-power is available + if _, err := exec.LookPath("system76-power"); err != nil { + return "", fmt.Errorf("system76-power is not installed or not in PATH: %v", err) + } + + // Try to get the profile + output, err := executeCommand("system76-power", "profile") + if err != nil { + return "", fmt.Errorf("failed to get current profile: %v", err) + } + + profile := strings.TrimSpace(output) + if profile == "" { + return "", fmt.Errorf("received empty profile from system76-power") + } + + return profile, nil +} + +// isNonCriticalError checks if the error is non-critical (like SCSI errors) +func isNonCriticalError(output string) bool { + // Check for SCSI-related errors in DBus error output + return strings.Contains(output, "failed to set scsi host profiles") && + strings.Contains(output, "org.freedesktop.DBus.Error.Failed") +} + +// trySetProfile attempts to set the profile once +func trySetProfile(profile string) error { + output, err := executeCommand("system76-power", "profile", profile) + if err != nil { + // Check if this is a non-critical error + if isNonCriticalError(output) { + // Wait a moment for the profile to be applied + time.Sleep(time.Millisecond * 500) + + // Verify if the profile was set despite the SCSI error + currentProfile, checkErr := getStatus() + if checkErr == nil && currentProfile == profile { + fmt.Printf("Profile set to %s (with non-critical SCSI warnings)\n", profile) + return nil + } + } + return fmt.Errorf("failed to set profile: %v", err) + } + return nil +} + +// setProfile sets the system76-power profile to the specified mode with one retry. +func setProfile(profile string) error { + // First attempt + err := trySetProfile(profile) + if err == nil { + fmt.Printf("Profile set to %s successfully.\n", profile) + return nil + } + + // If first attempt failed, wait a bit and retry once + fmt.Printf("First attempt failed, retrying after delay...\n") + time.Sleep(time.Second * 1) + + // Second attempt + err = trySetProfile(profile) + if err == nil { + fmt.Printf("Profile set to %s successfully on second attempt.\n", profile) + return nil + } + + return fmt.Errorf("failed to set profile to %s after retry: %v", profile, err) +} + +type powerApp struct { + app fyne.App + window fyne.Window +} + +// createTrayMenu creates the menu for the window +func (p *powerApp) createMenu() *fyne.MainMenu { + menu := fyne.NewMainMenu( + fyne.NewMenu("Power Profile", + fyne.NewMenuItem("Battery Mode", func() { + if err := setProfile("battery"); err != nil { + showError(err, p.window) + } + }), + fyne.NewMenuItem("Balanced Mode", func() { + if err := setProfile("balanced"); err != nil { + showError(err, p.window) + } + }), + fyne.NewMenuItem("Performance Mode", func() { + if err := setProfile("performance"); err != nil { + showError(err, p.window) + } + }), + fyne.NewMenuItemSeparator(), + fyne.NewMenuItem("Quit", func() { p.app.Quit() }), + ), + ) + return menu +} + +// showError displays an error in a dialog with selectable text +func showError(err error, window fyne.Window) { + errEntry := widget.NewMultiLineEntry() + errEntry.SetText(err.Error()) + errEntry.Disable() + d := dialog.NewCustom("Error", "OK", errEntry, window) + d.Resize(fyne.NewSize(400, 100)) + d.Show() +} + +// updateStatus periodically updates the status label +func (p *powerApp) updateStatus(statusLabel *widget.Label) { + for { + status, err := getStatus() + if err != nil { + fmt.Fprintf(os.Stderr, "Error updating status: %v\n", err) + time.Sleep(5 * time.Second) + continue + } + statusLabel.SetText(fmt.Sprintf("%s", status)) + time.Sleep(1 * time.Second) + } +} + +func main() { + // Check display server compatibility first + displayType := getDisplayServerType() + if err := checkDisplayServer(); err != nil { + fmt.Fprintf(os.Stderr, "Error: %v\n", err) + fmt.Fprintf(os.Stderr, "This application requires Wayland display server.\n") + fmt.Fprintf(os.Stderr, "Detected display server: %s\n", displayType) + fmt.Fprintf(os.Stderr, "Environment variables:\n") + fmt.Fprintf(os.Stderr, "WAYLAND_DISPLAY: %s\n", os.Getenv("WAYLAND_DISPLAY")) + fmt.Fprintf(os.Stderr, "XDG_SESSION_TYPE: %s\n", os.Getenv("XDG_SESSION_TYPE")) + fmt.Fprintf(os.Stderr, "WAYLAND_SOCKET: %s\n", os.Getenv("WAYLAND_SOCKET")) + os.Exit(1) + } + + // Create application + a := app.New() + w := a.NewWindow("System76 Power Profile") + + // Create our app structure + powerApp := &powerApp{ + app: a, + window: w, + } + + // Set up menu + w.SetMainMenu(powerApp.createMenu()) + + // Create main window content + statusLabel := widget.NewLabel("Current profile: Unknown") + + // Start background status updater + go powerApp.updateStatus(statusLabel) + + // Create profile buttons + batteryButton := widget.NewButton("Battery Mode", func() { + if err := setProfile("battery"); err != nil { + fmt.Fprintf(os.Stderr, "Error setting profile: %v\n", err) + return + } + }) + + balancedButton := widget.NewButton("Balanced Mode", func() { + if err := setProfile("balanced"); err != nil { + fmt.Fprintf(os.Stderr, "Error setting profile: %v\n", err) + return + } + }) + + performanceButton := widget.NewButton("Performance Mode", func() { + if err := setProfile("performance"); err != nil { + fmt.Fprintf(os.Stderr, "Error setting profile: %v\n", err) + return + } + }) + + // Set up window content + w.SetContent(container.NewVBox( + statusLabel, + widget.NewSeparator(), + batteryButton, + balancedButton, + performanceButton, + )) + + // Set window properties + w.Resize(fyne.NewSize(300, 200)) + w.SetCloseIntercept(func() { w.Hide() }) // Hide instead of close + + // Start application + w.Show() + a.Run() +} diff --git a/screen-shot.png b/screen-shot.png new file mode 100644 index 0000000000000000000000000000000000000000..ebae47c42a8a1227cb18ade5018e3c8e2c15005c GIT binary patch literal 61831 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

Cs7DP$I3(~qsJtlW#B+8oeS{n^}H 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 a`~L@nG