Skip to content

Add GUI - for setting RGB LEDs on Framework Desktop #191

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

JohnAZoidberg
Copy link
Member

image

Usage:

  1. Select how many LEDs your ARGB module has
  2. Pick a color, either by color picker or one of the predefined colors
  3. Either set individual LEDs or all of them to the selected color (or all off)
  4. Repeat

The colors stay on, until the system resets.

And rename

Signed-off-by: Daniel Schaefer <[email protected]>
Signed-off-by: Daniel Schaefer <[email protected]>
Signed-off-by: Daniel Schaefer <[email protected]>
Signed-off-by: Daniel Schaefer <[email protected]>
Signed-off-by: Daniel Schaefer <[email protected]>
@JohnAZoidberg
Copy link
Member Author

I can build and run it just fine on Windows, not sure why github actions fails.

@JohnAZoidberg JohnAZoidberg requested a review from amstan July 24, 2025 15:57
Comment on lines +11 to +37
// If the user double-clicks (opens from explorer/desktop),
// then we want to have the default behavior of showing a report of
// all firmware versions.
#[cfg(windows)]
let (args, double_clicked) = {
let double_clicked = unsafe {
// See https://devblogs.microsoft.com/oldnewthing/20160125-00/?p=92922
let mut plist: winapi::shared::minwindef::DWORD = 0;
let processes = winapi::um::wincon::GetConsoleProcessList(&mut plist, 1);

// If we're the only process that means we're in a fresh terminal
// without CMD or powershell. This happens in some cases, for example
// if the user double-clicks the app from Explorer.
processes == 1
};
// But it also happens if launched from the commandline and a UAC prompt is necessary,
// for example with sudo set to open "In a new windows", therefore we also have to
// check that no commandline arguments were provided.
if double_clicked && args.len() == 1 {
(
vec![args[0].clone(), "--versions".to_string()],
double_clicked,
)
} else {
(args, double_clicked)
}
};
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't need all of this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant