Skip to content

Commit ac86a02

Browse files
committed
initial commit
0 parents  commit ac86a02

File tree

14 files changed

+3878
-0
lines changed

14 files changed

+3878
-0
lines changed

.gitignore

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Dependencies
2+
node_modules/
3+
py_modules/
4+
5+
# Build output
6+
dist/
7+
out/
8+
*.zip
9+
10+
# IDE
11+
.vscode/settings.json
12+
.idea/
13+
14+
# OS
15+
.DS_Store
16+
Thumbs.db
17+
18+
# Logs
19+
*.log
20+
21+
# Environment
22+
.env
23+
.env.local
24+
25+
# Python
26+
__pycache__/
27+
*.py[cod]
28+
*$py.class
29+
.Python
30+
*.so
31+
32+
# pnpm
33+
.pnpm-store/

.vscode/tasks.json

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{
2+
"version": "2.0.0",
3+
"tasks": [
4+
{
5+
"label": "setup",
6+
"type": "shell",
7+
"command": "pnpm i",
8+
"problemMatcher": []
9+
},
10+
{
11+
"label": "build",
12+
"type": "shell",
13+
"command": "pnpm run build",
14+
"problemMatcher": [],
15+
"group": {
16+
"kind": "build",
17+
"isDefault": true
18+
}
19+
},
20+
{
21+
"label": "deploy",
22+
"type": "shell",
23+
"command": "rsync -azp --progress --delete --exclude='.git' --exclude='node_modules' --exclude='.pnpm-store' . ${config:deckuser}@${config:deckip}:${config:deckdir}/homebrew/plugins/${config:pluginname}",
24+
"problemMatcher": [],
25+
"dependsOn": ["build"]
26+
},
27+
{
28+
"label": "deploy-restart",
29+
"type": "shell",
30+
"command": "rsync -azp --progress --delete --exclude='.git' --exclude='node_modules' --exclude='.pnpm-store' -e ssh . ${config:deckuser}@${config:deckip}:/tmp/${config:pluginname} && ssh -t ${config:deckuser}@${config:deckip} 'sudo rm -rf ${config:deckdir}/homebrew/plugins/${config:pluginname} && sudo mv /tmp/${config:pluginname} ${config:deckdir}/homebrew/plugins/ && sudo systemctl restart plugin_loader'",
31+
"problemMatcher": [],
32+
"dependsOn": ["build"]
33+
},
34+
{
35+
"label": "watch",
36+
"type": "shell",
37+
"command": "pnpm run watch",
38+
"problemMatcher": [],
39+
"isBackground": true
40+
}
41+
]
42+
}

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Keith Baker (Pixel Addict Games)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Ally Center
2+
3+
A comprehensive Decky Loader plugin for the **ASUS ROG Ally** running SteamOS.
4+
5+
**Author:** Keith Baker (Pixel Addict Games)
6+
7+
## Features
8+
9+
- **🖥️ Screen Off Mode** - Turn off the display for background downloads to save battery
10+
- **⚡ Performance Profiles** - Quick switch between Silent (15W), Performance (25W), and Turbo (30W) modes
11+
- **🔋 Battery Health** - Monitor battery health, cycle count, temperature, and set charge limits
12+
- **💡 RGB Lighting** - Control RGB colors, brightness, and effects (static, breathing, rainbow)
13+
- **📱 Device Info** - View system information including CPU, GPU, BIOS, and kernel version
14+
15+
## Requirements
16+
17+
- ASUS ROG Ally or ROG Ally X
18+
- SteamOS (or compatible distro like Bazzite, ChimeraOS)
19+
- [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) installed
20+
21+
## Installation
22+
23+
### Quick Install (Recommended)
24+
25+
```bash
26+
curl -L https://github.com/PixelAddictGames/allycenter/raw/main/install.sh | sh
27+
```
28+
29+
### Manual Install
30+
31+
1. Download the latest release from the [Releases](https://github.com/PixelAddictGames/allycenter/releases) page
32+
2. Extract to `~/homebrew/plugins/Ally Center/`
33+
3. Restart Decky Loader or reboot
34+
35+
## Development
36+
37+
### Prerequisites
38+
39+
- Node.js v16.14+
40+
- pnpm v9
41+
42+
### Setup
43+
44+
```bash
45+
# Clone the repository
46+
git clone https://github.com/PixelAddictGames/allycenter.git
47+
cd allycenter
48+
49+
# Install dependencies
50+
pnpm install
51+
52+
# Build the plugin
53+
pnpm run build
54+
```
55+
56+
### Deploy to ROG Ally
57+
58+
1. Edit `.vscode/settings.json` with your ROG Ally's IP address and SSH credentials
59+
2. Run the deploy task in VSCode: `Ctrl+Shift+P``Tasks: Run Task``deploy-restart`
60+
61+
Or manually:
62+
63+
```bash
64+
# Build
65+
pnpm run build
66+
67+
# Copy to device (replace IP with your Ally's IP)
68+
rsync -azp --delete . deck@192.168.1.100:~/homebrew/plugins/Ally\ Center/
69+
70+
# Restart Decky Loader
71+
ssh deck@192.168.1.100 'sudo systemctl restart plugin_loader'
72+
```
73+
74+
### Debugging
75+
76+
1. On ROG Ally: Decky Settings → Developer → Enable "Allow Remote CEF Debugging"
77+
2. On your PC: Open Chrome and navigate to `chrome://inspect/#devices`
78+
3. Click Configure and add `<ally-ip>:8081`
79+
4. Click "inspect" on the QuickAccess target
80+
81+
## Configuration
82+
83+
Settings are stored in `~/homebrew/settings/Ally Center/settings.json`
84+
85+
## Hardware Support
86+
87+
| Feature | ROG Ally | ROG Ally X |
88+
| -------------------- | -------- | ---------- |
89+
| Screen Off |||
90+
| Performance Profiles |||
91+
| Battery Health |||
92+
| Charge Limit |||
93+
| RGB Lighting |||
94+
| Device Info |||
95+
96+
## License
97+
98+
MIT License - see [LICENSE](LICENSE) for details.
99+
100+
## Credits
101+
102+
- [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader) - Plugin framework
103+
- [decky-frontend-lib](https://github.com/SteamDeckHomebrew/decky-frontend-lib) - UI components
104+
105+
## Support
106+
107+
- [GitHub Issues](https://github.com/PixelAddictGames/allycenter/issues)
108+
- [Discord](https://discord.gg/pixeladdictgames)

defaults/defaults.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"current_profile": "performance",
3+
"rgb_enabled": true,
4+
"rgb_color": "#FF0000",
5+
"rgb_brightness": 100,
6+
"rgb_effect": "static",
7+
"charge_limit": 100
8+
}

icons/icon.png

795 Bytes
Loading

install.sh

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#!/bin/bash
2+
3+
# Ally Center - Installation Script
4+
# Author: Keith Baker (Pixel Addict Games)
5+
6+
set -e
7+
8+
PLUGIN_NAME="Ally Center"
9+
PLUGIN_DIR="$HOME/homebrew/plugins/$PLUGIN_NAME"
10+
REPO_URL="https://github.com/PixelAddictGames/allycenter"
11+
12+
echo "================================"
13+
echo " Ally Center Installer"
14+
echo " by Pixel Addict Games"
15+
echo "================================"
16+
echo ""
17+
18+
# Check if running on SteamOS/Linux
19+
if [[ "$OSTYPE" != "linux-gnu"* ]]; then
20+
echo "Error: This script is intended for Linux/SteamOS only."
21+
exit 1
22+
fi
23+
24+
# Check if Decky Loader is installed
25+
if [ ! -d "$HOME/homebrew/plugins" ]; then
26+
echo "Error: Decky Loader does not appear to be installed."
27+
echo "Please install Decky Loader first: https://decky.xyz"
28+
exit 1
29+
fi
30+
31+
echo "Installing $PLUGIN_NAME..."
32+
33+
# Create plugin directory
34+
mkdir -p "$PLUGIN_DIR"
35+
36+
# Download latest release
37+
echo "Downloading latest release..."
38+
LATEST_URL=$(curl -s https://api.github.com/repos/PixelAddictGames/allycenter/releases/latest | grep "browser_download_url.*zip" | cut -d '"' -f 4)
39+
40+
if [ -z "$LATEST_URL" ]; then
41+
echo "Could not find latest release. Cloning from repository..."
42+
43+
# Clone and build
44+
TEMP_DIR=$(mktemp -d)
45+
git clone "$REPO_URL" "$TEMP_DIR"
46+
47+
# Copy files
48+
cp -r "$TEMP_DIR"/* "$PLUGIN_DIR/"
49+
50+
# Cleanup
51+
rm -rf "$TEMP_DIR"
52+
else
53+
# Download and extract
54+
TEMP_ZIP=$(mktemp)
55+
curl -L "$LATEST_URL" -o "$TEMP_ZIP"
56+
unzip -o "$TEMP_ZIP" -d "$PLUGIN_DIR"
57+
rm "$TEMP_ZIP"
58+
fi
59+
60+
echo ""
61+
echo "================================"
62+
echo " Installation Complete!"
63+
echo "================================"
64+
echo ""
65+
echo "Please restart Decky Loader or reboot your device."
66+
echo "You can restart Decky Loader with:"
67+
echo " sudo systemctl restart plugin_loader"
68+
echo ""

0 commit comments

Comments
 (0)