Skip to content

An auto-tiling tray application for GlazeWM, provides Master-Stack and Dwindle layouts by default and is extensible with python!

License

Notifications You must be signed in to change notification settings

orbi-tal/glaze-autotiler

Repository files navigation

Glaze Autotiler Logo Glaze Autotiler

Build Latest Release

An auto-tiling tray application for GlazeWM, provides Master-Stack and Dwindle layouts by default and is extensible with python!

Features

Autotiling

Autotiling.mp4

Custom Layouts

Custom-Layouts.mp4

Installation

From Source

  1. Clone the repository:
git clone https://github.com/orbi-tal/glaze-autotiler.git
cd glaze-autotiler
  1. Create a virtual environment and activate it:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Using Pre-built Executable

Download the latest release from the releases page.

Building the Executable

  1. Install PyInstaller:
pip install pyinstaller
  1. Build the executable:
pyinstaller build.spec

The executable will be created in the dist directory.

Usage

Run the executable or use Python:

glaze-autotiler
# or
python src/autotile/main.py

Use --log to enable verbose logging:

glaze-autotiler --log
# or
python src/autotile/main.py --log

You can select which layout to use from the tray icon menu.

Configuration

Configuration files and default tiling scripts are stored in %USERPROFILE%\.config\glaze-autotiler\.

To add a custom layout you can add to the config.json file:

{
  "custom_layout": {
      "display_name": "My Custom Layout",
      "enabled": true
  }
}

You can also add a custom script path in:

  "script_paths": [
      "C:\\Users\\YourUsername\\.config\\glaze-autotiler\\scripts",
      "C:\\Custom\\Script\\Path"
  ]

Development

Setup Linting

This project uses several linting and formatting tools:

  • black for code formatting
  • isort for import sorting
  • flake8 for style guide enforcement
  • pylint for code analysis

To set up the development environment:

# Create and activate virtual environment
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install development dependencies
pip install -r requirements-dev.txt

# Install pre-commit hooks
pip install pre-commit
pre-commit install

Running Linters

# Run all linters
python scripts/lint.py

# Format code
black .
isort .

# Check code without formatting
black --check .
isort --check-only .
flake8
pylint src

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

lars-berger for GlazeWM.
ParasiteDelta for the inspiration.
burgr033 for the original autotiler script.
Opposite34 for the Dwindle script.

About

An auto-tiling tray application for GlazeWM, provides Master-Stack and Dwindle layouts by default and is extensible with python!

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages