update-build-and-docs #2

Merged
jknapp merged 2 commits from update-build-and-docs into main 2025-06-05 21:34:40 +00:00
6 changed files with 296 additions and 13 deletions

View File

@ -0,0 +1,140 @@
name: Build and Release
on:
push:
branches:
- main
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Get version
id: get_version
run: |
VERSION=$(cat version.txt)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Create Release
id: create_release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.VERSION }}
name: Release v${{ env.VERSION }}
draft: false
prerelease: false
build-windows:
needs: [create-release]
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:
needs: [create-release]
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
# MacOS build is temporarily disabled
# Uncomment this section when macOS build environment becomes available
#
# build-macos:
# needs: [create-release]
# 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: [create-release, build-windows, build-linux]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Get version
id: get_version
run: |
VERSION=$(cat version.txt)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Download all artifacts
uses: actions/download-artifact@v3
- name: Attach executables to release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ env.VERSION }}
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 ## Installation
### Method 1: From Source
1. Clone or download this repository 1. Clone or download this repository
2. Install the required dependencies: 2. Install the required dependencies:
```bash ```bash
pip install -r requirements.txt pip install -r requirements.txt
``` ```
## Alternative Installation Method ### Method 2: Pre-built Executables
#### Windows only
1. Create a Folder you wish to run MacroPad from 1. Go to the [Releases](https://repo.anhonesthost.net/MacroPad/MP-Server/releases) page
2. Download ```macropad.exe``` from the ```dist``` folder 2. Download the appropriate version for your operating system:
3. Accept the security notices, and run the application - Windows: `macropad.exe`
- Linux: `macropad`
- macOS: `macropad.app`
3. Run the downloaded file
> [!IMPORTANT] > [!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 ## Usage
@ -94,11 +98,67 @@ When minimized to the system tray:
### Windows Examples ### Windows Examples
#### Steam Applications #### 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 #### 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. #### 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 # Configuration and constants for MacroPad Server
VERSION = "0.8.0 Beta" VERSION = "0.8.5 Beta"
DEFAULT_PORT = 40000 DEFAULT_PORT = 40000
# UI Theme colors # 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