# Frozone
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/frozone)](https://pypi.org/project/frozone)
<a href='https://ko-fi.com/recoskyler' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />
A tool to save and restore the position of windows using `wmctrl`.
## Requirements
- `wmctrl`
- Python >= 3.2
- pip
*Tested on Zorin OS 17 Core.*
## Installation
```bash
$ pip3 install frozone
```
## Usage
### Saving open windows
`frozone freeze`
### Restoring open windows
`frozone restore`
### Command line arguments
|Argument|Description|
|---|---|
|`--help`|Show the help message|
|`-v`, `--verbose`|Increase output verbosity|
|`-r`, `--restore`|Restore the windows to their previous state using the default JSON file. Can be used with `-i`, `--input` to specify the JSON file location|
|`-o OUTPUT`, `--output OUTPUT`|Set an output path for the JSON file|
|`-i INPUT`, `--input INPUT`|Set the input path for the JSON file|
|`-c CMD_REGEX`, `--cmd-regex CMD_REGEX`|Set the command regex to filter the windows to be saved|
## Configuration
`wmctrl` has an issue with positioning due to window frames. To mitigate this issue, you can configure the top and left offsets in the `~/.config/frozone/frozone.conf`.
`cmd_regex` can also be configured in the same file.
## About
By [recoskyler](https://github.com/recoskyler) - Adil Atalay Hamamcioglu - 2024
Raw data
{
"_id": null,
"home_page": "",
"name": "frozone",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.2",
"maintainer_email": "",
"keywords": "window manager,window position,gnome,desktop,linux,wmctrl,x11,xorg",
"author": "",
"author_email": "Adil Atalay Hamamcioglu <38231748+recoskyler@users.noreply.github.com>",
"download_url": "https://files.pythonhosted.org/packages/6f/4b/715b079b8cf4b7a5ff930598da370d64ecb51614b4c36ab024303f2ef477/frozone-0.1.1.tar.gz",
"platform": null,
"description": "# Frozone\n\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/frozone)](https://pypi.org/project/frozone)\n\n<a href='https://ko-fi.com/recoskyler' target='_blank'><img height='35' style='border:0px;height:46px;' src='https://az743702.vo.msecnd.net/cdn/kofi3.png?v=0' border='0' alt='Buy Me a Coffee at ko-fi.com' />\n\nA tool to save and restore the position of windows using `wmctrl`.\n\n## Requirements\n\n- `wmctrl`\n- Python >= 3.2\n- pip\n\n*Tested on Zorin OS 17 Core.*\n\n## Installation\n\n```bash\n$ pip3 install frozone\n```\n\n## Usage\n\n### Saving open windows\n\n`frozone freeze`\n\n### Restoring open windows\n\n`frozone restore`\n\n### Command line arguments\n\n|Argument|Description|\n|---|---|\n|`--help`|Show the help message|\n|`-v`, `--verbose`|Increase output verbosity|\n|`-r`, `--restore`|Restore the windows to their previous state using the default JSON file. Can be used with `-i`, `--input` to specify the JSON file location|\n|`-o OUTPUT`, `--output OUTPUT`|Set an output path for the JSON file|\n|`-i INPUT`, `--input INPUT`|Set the input path for the JSON file|\n|`-c CMD_REGEX`, `--cmd-regex CMD_REGEX`|Set the command regex to filter the windows to be saved|\n\n## Configuration\n\n`wmctrl` has an issue with positioning due to window frames. To mitigate this issue, you can configure the top and left offsets in the `~/.config/frozone/frozone.conf`.\n\n`cmd_regex` can also be configured in the same file.\n\n## About\n\nBy [recoskyler](https://github.com/recoskyler) - Adil Atalay Hamamcioglu - 2024\n",
"bugtrack_url": null,
"license": "",
"summary": "A tool to save and restore the position of windows using wmctrl",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/recoskyler/frozone",
"Issues": "https://github.com/recoskyler/frozone/issues"
},
"split_keywords": [
"window manager",
"window position",
"gnome",
"desktop",
"linux",
"wmctrl",
"x11",
"xorg"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d6194967af1cfe4f88b74f492b04d648db946aa725e5e16e7550795e58f2d291",
"md5": "a29d8154a544b82fa15c6a222231c530",
"sha256": "fbf563d53ee78f045169393e06d5924f28d3d6f5c42134282032e8bb8adf6a7a"
},
"downloads": -1,
"filename": "frozone-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "a29d8154a544b82fa15c6a222231c530",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.2",
"size": 18006,
"upload_time": "2024-02-18T04:40:43",
"upload_time_iso_8601": "2024-02-18T04:40:43.686172Z",
"url": "https://files.pythonhosted.org/packages/d6/19/4967af1cfe4f88b74f492b04d648db946aa725e5e16e7550795e58f2d291/frozone-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "6f4b715b079b8cf4b7a5ff930598da370d64ecb51614b4c36ab024303f2ef477",
"md5": "6e1da229760a87785a84a869d31ad8f7",
"sha256": "022df9589402b9f915f6ce42c5a7df19340ed12c21d81e975cbc6a064d07c242"
},
"downloads": -1,
"filename": "frozone-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "6e1da229760a87785a84a869d31ad8f7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.2",
"size": 16865,
"upload_time": "2024-02-18T04:40:45",
"upload_time_iso_8601": "2024-02-18T04:40:45.337355Z",
"url": "https://files.pythonhosted.org/packages/6f/4b/715b079b8cf4b7a5ff930598da370d64ecb51614b4c36ab024303f2ef477/frozone-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-18 04:40:45",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "recoskyler",
"github_project": "frozone",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "frozone"
}