Enhanced project documentation and release automation

- Improved README.md formatting and structure
- Added installation instructions for pre-built executables
- Included platform-specific examples for Windows, Linux, and macOS
- Set up Gitea workflow for automated builds on new releases
- Added platform-specific PyInstaller spec files for all supported platforms
- Updated repository links to point to repo.anhonesthost.net

These changes make the project more accessible to new users and streamline
the release process with automatic executable generation for all platforms.
This commit is contained in:
Josh Knapp 2025-06-05 13:54:36 -07:00
parent 2f8fa238fc
commit 0a66c1d663
6 changed files with 256 additions and 13 deletions

View File

@ -0,0 +1,100 @@
name: Build and Release
on:
release:
types: [created]
jobs:
build-windows:
runs-on: windows-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build executable
run: |
pyinstaller macropad.spec
- name: Upload Windows artifact
uses: actions/upload-artifact@v3
with:
name: macropad-windows
path: dist/macropad.exe
build-linux:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build executable
run: |
pyinstaller macropad_linux.spec
- name: Upload Linux artifact
uses: actions/upload-artifact@v3
with:
name: macropad-linux
path: dist/macropad
build-macos:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.11'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pyinstaller
pip install -r requirements.txt
- name: Build executable
run: |
pyinstaller macropad_macos.spec
- name: Upload macOS artifact
uses: actions/upload-artifact@v3
with:
name: macropad-macos
path: dist/macropad.app
attach-to-release:
needs: [build-windows, build-linux, build-macos]
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v3
- name: Attach executables to release
uses: softprops/action-gh-release@v1
with:
files: |
macropad-windows/macropad.exe
macropad-linux/macropad
macropad-macos/macropad.app/**/*

View File

@ -32,21 +32,25 @@ A versatile MacroPad server application that lets you create, manage, and execut
## Installation
### Method 1: From Source
1. Clone or download this repository
2. Install the required dependencies:
```bash
pip install -r requirements.txt
```
## Alternative Installation Method
#### Windows only
### Method 2: Pre-built Executables
1. Create a Folder you wish to run MacroPad from
2. Download ```macropad.exe``` from the ```dist``` folder
3. Accept the security notices, and run the application
1. Go to the [Releases](https://repo.anhonesthost.net/MacroPad/MP-Server/releases) page
2. Download the appropriate version for your operating system:
- Windows: `macropad.exe`
- Linux: `macropad`
- macOS: `macropad.app`
3. Run the downloaded file
> [!IMPORTANT]
> The executable is unsigned and may trigger security warnings. You may need to click "More info" and "Run anyway" in Windows SmartScreen or add an exception in your antivirus software.
> The executables are unsigned and may trigger security warnings. You may need to click "More info" and "Run anyway" in Windows SmartScreen, adjust permissions on Linux (`chmod +x macropad`), or override Gatekeeper on macOS.
## Usage
@ -94,11 +98,67 @@ When minimized to the system tray:
### Windows Examples
#### Steam Applications
```"C:\Program Files (x86)\Steam\steam.exe" steam://rungameid/2767030```
```
"C:\Program Files (x86)\Steam\steam.exe" steam://rungameid/2767030
```
#### Chrome to a website
```
"C:\Program Files\Google\Chrome\Application\chrome.exe" http://twitch.tv/shadowdao
```
```"C:\Program Files\Google\Chrome\Application\chrome.exe" http://twitch.tv/shadowdao```
#### Run Notepad
```
notepad.exe
```
#### Open File Explorer to a specific location
```
explorer.exe "C:\Users\YourUsername\Documents"
```
### Linux Examples
#### Opening Firefox
```
firefox https://example.com
```
#### Opening Steam
```
steam steam://rungameid/2767030
```
#### Launch Terminal
```
gnome-terminal
```
#### Open File Manager
```
nautilus ~/Documents
```
### macOS Examples
#### Opening Safari
```
open -a Safari https://example.com
```
#### Opening Terminal
```
open -a Terminal
```
#### Open Finder to a specific location
```
open ~/Documents
```
#### Launch Applications
```
open -a "Visual Studio Code"
```
#### Special Thanks to CatArgent_ on Twitch for proof reading my stuff and providing valuable feedback.

View File

@ -1,6 +1,6 @@
# Configuration and constants for MacroPad Server
VERSION = "0.8.0 Beta"
VERSION = "0.8.5 Beta"
DEFAULT_PORT = 40000
# UI Theme colors

38
macropad_linux.spec Normal file
View File

@ -0,0 +1,38 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='macropad',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)

45
macropad_macos.spec Normal file
View File

@ -0,0 +1,45 @@
# -*- mode: python ; coding: utf-8 -*-
a = Analysis(
['main.py'],
pathex=[],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
a.binaries,
a.datas,
[],
name='macropad',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
upx_exclude=[],
runtime_tmpdir=None,
console=False,
disable_windowed_traceback=False,
argv_emulation=True,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
)
app = BUNDLE(
exe,
name='macropad.app',
icon=None,
bundle_identifier=None,
)

View File

@ -1 +1 @@
0.8.0
0.8.5