Metadata-Version: 2.1
Name: truhanen-windowlayouts
Version: 1.0.4
Summary: Utility for storing & restoring window layouts on the X Window System
Home-page: https://github.com/truhanen/windowlayouts
License: MIT
Author: Tuukka Ruhanen
Author-email: tuukka.t.ruhanen@gmail.com
Requires-Python: >=3.7.1,<4.0.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Utilities
Provides-Extra: pandas
Requires-Dist: appdirs (>=1.4.4,<2.0.0)
Requires-Dist: dataclasses-json (>=0.5.2,<0.6.0)
Requires-Dist: pandas (>=1.2.3,<2.0.0) ; extra == "pandas"
Project-URL: Repository, https://github.com/truhanen/windowlayouts
Description-Content-Type: text/markdown

[comment]: # (This README.md is autogenerated from templates/README.md with the
              script templates/generate.py)

# windowlayouts

Utility for automatically storing & restoring application window layouts for
specific screen configurations on the X Window System.

For example, if a user frequently changes their setup between a single laptop
screen and two external monitors, this tool remembers & automatically restores
all windows to their original positions for each monitor setup without the need
for manual rearrangement.

## Installation

Run `pip install truhanen.windowlayouts` to install the script `windowlayouts`
to be used from the command line.

To install from source, run `pip install .` in the project root directory.

### Requirements

- Python 3.7+
- wmctrl command line tool

## Usage

```
usage: windowlayouts [-h] [--verbose] {store,restore,switch} ...

positional arguments:
  {store,restore,switch}
    store               Store the current window layout for the current screen
                        layout. Replace a previously stored window layout if
                        such a window layout exists for the current screen
                        layout.
    restore             Restore a window layout if one with the current screen
                        layout has previously been stored.
    switch              Run store, then switch to a screen layout configured
                        in ~/.config/windowlayouts/config.ini, and
                        then run restore. Screen layout values in the
                        configuration file must be valid input for xrandr that
                        apply a specific screen layout. Each "output" of a
                        screen layout should be defined on a separate line in
                        the configuration value. See examples/config.ini for
                        example.

optional arguments:
  -h, --help            show this help message and exit
  --verbose, -v         Increase verbosity.
```

