β οΈ Project ArchivedThis project was an experiment in utilizing Swift as a scripting language for MacOS native APIs. While the concept showed promise, I encountered significant challenges in creating a seamless distribution and installation process, which ultimately conflicted with my goal of providing easily accessible utilities. As a result, I've decided to archive this project for now.
This repository is a collection of Swift scripts designed to enhance functionality on MacOS machines. These scripts aim to replace many application-based utilities with simple, efficient, and customizable command-line tools.
The project currently includes the following utilities:
- Window Manager (
window-manager.swift
): Manages window positioning and sizing. - Scroll Reverser (
scroll-reverser.swift
): Customizes scroll behavior for mouse and trackpad. - Key Binds (
key-binds.swift
): Implements custom key bindings for enhanced productivity.
Additional utility scripts and snippets are available in the snippets
directory.
No installation is required. Simply clone the repository to your local machine:
git clone https://github.com/jonfriesen/swift-scripts.git
Before running any script, make it executable using the following command:
chmod +x script_name.swift
Then, you can run the script directly:
./script_name.swift
Alternatively, these scripts can be compiled to binary and run without the need for a Swift interpreter.
swiftc -O -o window-manager window-manager.swift
./window-manager
chmod +x window-manager.swift
./window-manager.swift
Each script includes a header with specific usage instructions and features. Please refer to the individual script files for detailed information.
This project is licensed under a Modified MIT License. Please see the LICENSE file for details. Key points:
- The software is free to use for personal, non-commercial purposes.
- Distribution and commercial use are not permitted.
- The license and copyright notice must be included with all copies of the software.
Contributions to enhance existing scripts or add new ones are welcome. Please follow these guidelines:
- Ensure your script is simple and easy to use.
- Include the standard header (found in
snippets/header
) at the top of new scripts. - Abide by the terms of the LICENSE.
- Open an issue to discuss major changes before submitting a pull request.
- Submit a pull request with a clear description of your changes or additions.
These scripts may require accessibility permissions to function correctly. Use them at your own risk and always review the code before running it on your system.