Empowering Control. Elevating Performance.
license last-commit repo-top-language repo-language-count- Table of Contents
- Overview
- Features
- Project Structure
- Getting Started
- Roadmap
- Contributing
- License
- Acknowledgments
Introducing VictusHub, a comprehensive tool for fan control, keyboard color and backlight management, and EC fan monitoring.
Why VictusHub?
This project empowers developers to streamline system management and optimize performance. The core features include:
- π Fan Control: Easily manage fan speeds .
- π¨ Keyboard Color/Backlight Management: Customize keyboard backlighting and color settings for optimal performance.
- π» EC Fan Monitoring: Monitor EC fans in real-time, ensuring optimal system performance.
| Component | Details | |
|---|---|---|
| βοΈ | Architecture |
|
| π© | Code Quality |
|
| π | Documentation |
|
| π | Integrations |
|
| π§© | Modularity |
|
βββ VictusHub/ βββ .github β βββ workflows βββ Installer β βββ icon.png β βββ setup.sh β βββ uninstaller.sh βββ VictusService β βββ .gitignore β βββ .idea β βββ build.gradle β βββ gradle β βββ gradlew β βββ gradlew.bat β βββ settings.gradle β βββ src βββ Victushub-gui β βββ .gitignore β βββ .idea β βββ Installer β βββ LICENSE β βββ build.gradle.kts β βββ gradle β βββ gradlew β βββ gradlew.bat β βββ images β βββ qodana.yaml β βββ settings.gradle.kts β βββ src βββ build β βββ reports βββ build.gradle.kts βββ gradle β βββ wrapper βββ gradlew βββ gradlew.bat βββ settings.gradle
VICTUSHUB/
__root__
β¦Ώ __root__
File Name Summary settings.gradle - VictusHub is a comprehensive tool that enables fan control, keyboard color and backlight management, and ec fan monitoring
- The provided settings.gradle file serves as the foundation of this project, integrating Victushub-gui and VictusService modules to create a seamless user experience
- By leveraging these components, users can efficiently manage their systems fans, lighting, and cooling systems.gradlew.bat Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control and this app for fan control and keyboard color and backlight control tool and have service for checking ec fans build.gradle.kts - Assembles the Victus project by copying native builds from Victushub-gui and VictusService into an Installer directory
- This task depends on the successful compilation of both projects, ensuring a complete and functional installation package is generated.
Victushub-gui
β¦Ώ Victushub-gui
File Name Summary settings.gradle.kts - Configures the VictusHub-gui project by defining its name and plugin management settings
- This file establishes the foundation for the projects structure and dependencies, enabling the development of a GUI-based application for fan control, keyboard color and backlight control, and ec fans monitoring.qodana.yaml Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control gradlew.bat Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control build.gradle.kts Https://github.com/Vilez0/hp-wmi-fan-and-backlight-controlThe Victushub-gui codebase provides a comprehensive fan control and keyboard color and backlight control tool, offering services for checking EC fans. LICENSE - Empowers users to control fan speed, keyboard color, and backlight settings with ease
- This GUI application provides a user-friendly interface to manage system fans, adjust keyboard illumination, and monitor system performance
- With its intuitive design, users can effortlessly customize their computing experience.Installer
β¦Ώ Victushub-gui.Installer
File Name Summary uninstaller.sh - Uninstalling VictusHub restores the applications original state by moving its binary back to a safe location, removing sudoers fragments, desktop entries, and icons, and refreshing the desktop cache if necessary
- This script provides a comprehensive solution for fully uninstalling and restoring VictusHub
- Special thanks to Vilez0 for the GUI inspiration.setup.sh - Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control Summary:Installs and sets up VictusHub, a fan control and keyboard color and backlight control tool with service for checking EC fans
- The installer moves the binary to /usr/local/bin, sets up passwordless sudo, creates a desktop entry with icon, and updates the desktop database.src
β¦Ώ Victushub-gui.srcmain
β¦Ώ Victushub-gui.src.mainjava
β¦Ώ Victushub-gui.src.main.java
File Name Summary module-info.java - Victushub-gui module-info.java defines the architecture of Victushub-gui, a comprehensive tool for fan control and keyboard color/backlight management
- It enables seamless integration with JavaFX, controlsfx, formsfx, ikonli-javafx, logging, and slf4j libraries
- This configuration allows for efficient communication between modules, ensuring a robust and scalable application.com
β¦Ώ Victushub-gui.src.main.java.comrange
β¦Ώ Victushub-gui.src.main.java.com.rangevictusHub
β¦Ώ Victushub-gui.src.main.java.com.range.victusHub
File Name Summary VictusHub.java - Launches the Victus Hub graphical user interface (GUI) application, providing a centralized hub for controlling and monitoring various system components
- The GUI enables users to manage fan speeds, keyboard backlighting, and other features, offering a convenient and intuitive way to customize their computing experience.Launcher.java Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control fan
β¦Ώ Victushub-gui.src.main.java.com.range.victusHub.fan
File Name Summary FanCounter.java - Detects the number of fans connected to an HP laptop.This file provides a simple way to count the number of fans installed on an HP laptop by scanning the systems hardware monitoring directory and counting the number of fan input files found
- The result is returned as an integer value, allowing for easy integration into larger applications or scripts.FanAndKeyboardController.java - Control fan speeds and keyboard backlight on HP laptops using this GUI application
- The app detects available fans, displays their current RPM values, and allows users to adjust fan speeds
- Additionally, it controls the keyboard backlights brightness and color
- The application stores its settings in a configuration file for persistence.Special thanks to Vilez0 for the GUI inspiration
- His original app can be found here: https://github.com/Vilez0/hp-wmi-fan-and-backlight-controlresources
β¦Ώ Victushub-gui.src.main.resourcescom.range.victusHub
β¦Ώ Victushub-gui.src.main.resources.com.range.victusHub
File Name Summary style.css Https://github.com/Vilez0/hp-wmi-fan-and-backlight-controlSummary:Configure and control fan speeds, keyboard color, and backlight settings with this intuitive graphical user interface (GUI) tool. hello-view.fxml - Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control Summary:Configure and control fan speed, keyboard backlight, and color using this intuitive graphical user interface (GUI)
- The Victus Hub application provides a centralized platform to manage system settings, offering real-time status updates and customizable controls for optimal performance.
VictusService
β¦Ώ VictusService
File Name Summary settings.gradle - Control fan speed and keyboard color/backlight settings with ease using this VictusService application
- This tool provides a convenient interface to manage fans and lighting on compatible devices, streamlining the process of monitoring and adjusting system components
- With its intuitive design, users can quickly access and customize their devices performance and visual settings.gradlew.bat Https://github.com/Vilez0/hp-wmi-fan-and-backlight-control build.gradle - Provides a comprehensive fan control and keyboard color/backlight management tool, offering real-time monitoring of EC fans
- The service enables users to adjust fan speeds and customize keyboard lighting settings, streamlining system performance optimization and enhancing overall user experience.src
β¦Ώ VictusService.srcmain
β¦Ώ VictusService.src.mainjava
β¦Ώ VictusService.src.main.javacom
β¦Ώ VictusService.src.main.java.comrange
β¦Ώ VictusService.src.main.java.com.range
File Name Summary Main.java - Https://github.com/Vilez0/hp-wmi-fan-and-backlight-controlSummary:Configures and controls HP laptop fans, keyboard backlight, and color using a configuration file
- The program reads settings from the file, adjusts fan speeds, sets keyboard light intensity, and changes color based on user-defined values.CommandRunner.java - Enables asynchronous command execution, allowing users to run shell commands without blocking the main thread
- This feature is particularly useful for controlling system fans and backlights, providing a convenient way to manage system settings.
Installer
β¦Ώ Installer
File Name Summary uninstaller.sh - Restores and uninstalls VictusHub by moving GUI and Service binaries back to their original location, cleaning up sudoers and desktop entries, and removing icons
- This script ensures a seamless uninstallation process, returning the applications files to their original directory while also refreshing the desktop cache for optimal performance.setup.sh - Installs and configures VictusHub, a GUI application and service, on various Linux init systems
- The installer moves binaries, sets up passwordless sudo, creates a desktop entry, and installs the service under systemd, openrc, sysvinit, runit, or dinit.Special thanks to Vilez0 for the GUI inspiration
- His original app can be found here: https://github.com/Vilez0/hp-wmi-fan-and-backlight-control
.github
β¦Ώ .githubworkflows
β¦Ώ .github.workflows
File Name Summary build.yml - Https://github.com/Vilez0/hp-wmi-fan-and-backlight-controlSummary:Automates the build and release process of VictusHub, a fan control and keyboard color and backlight control tool with ec fans service
- The workflow builds the jar file using Gradle, installs native dependencies, and creates a zip installer folder
- It also releases the asset to GitHub with a custom name and description.
build
β¦Ώ buildreports
β¦Ώ build.reportsproblems
β¦Ώ build.reports.problems
File Name Summary problems-report.html - Summary: This code provides a GUI-based tool for controlling fans and keyboard backlighting, as well as checking fan speeds
- It offers a user-friendly interface to manage these features, making it easy to adjust settings and monitor performance.Additional Context:* The project structure is not provided in this context. The file path isbuild/reports/problems/problems-report.html. The file content appears to be an HTML report, but its relevance to the code file is unclear.
This project requires the following dependencies:
- Programming Language: Java
- Package Manager: Gradle
Build VictusHub from the source and intsall dependencies:
-
Clone the repository:
β― git clone https://github.com/range79/VictusHub/
-
Navigate to the project directory:
β― cd VictusHub -
Install the dependencies:
β― gradle victusBuild
Run the project with:
Using gradle:
gradle run
Victushub uses the {test_framework} test framework. Run the test suite with:
Using gradle:
gradle test- π¬ Join the Discussions : Share your insights, provide feedback, or ask questions.
- π Report Issues : Submit bugs found or log feature requests for the
VictusHubproject. - π‘ Submit Pull Requests : Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/range79/VictusHub/
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.' - Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Victushub is protected under the MIT License. For more details, refer to the LICENSE file.
- Credit
contributors,inspiration,references, etc.