Name | screenman JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | A Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease. |
upload_time | 2024-11-09 15:18:38 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | MIT license |
keywords |
screenman
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# screenman
A Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease.
## Setup
```terminal
$ screenman --help
Usage: screenman [OPTIONS]
Console script for screenman.
Options:
--log-level TEXT Set the logging level (e.g., DEBUG, INFO, WARNING, ERROR,
CRITICAL)
--log-file TEXT Set the log file path.
--print-info Print the connected screens and the corresponding
layout.If no layout is defined, the default layout 'auto'
is used.
--help Show this message and exit.
```
When wanting to setup a new screen layout, you can use the `--print-info` flag to get the connected screens information. This information can be used to create a new screen layout.
```terminal
$ screenman --print-info
<HDMI-2, UID: DL51145435704, primary: True, modes: 13, conn: True, rot: normal, enabled: True, res: (1920, 1080)>
Layout: auto
```
From that we can create our toml configuration file with the following content:
```toml
# the hierarchy of the configuration file is as follows:
# layouts.<layout_name>.<screen_uid>
[layouts.single_baetylus.DL51145435704]
primary = true
mode = [1920, 1080]
position = [0, 0]
rotation = "normal"
```
A more advanced screenman.toml configuration file can be found in the [examples](examples) directory.
## Usage
I have `screenman --log-file ~/.local/logs/screenman.log --log-level DEBUG` mapped to a keybinding.
If you can't install `screenman` with your package manager, you can also run it with `uv`:
```bash
uv tool run screenman
```
## Installation
### pip release version
```bash
pip install screenman
```
### pip live version
```bash
pip install git+https://github.com/Jimmy2027/screenman.git
```
### portage
`screenman` is available via [Jimmy's overlay](https://github.com/Jimmy2027/overlay/blob/main/dev-python/screenman/screenman-9999.ebuild).
Either enable the repo or copy the ebuild to your local overlay.
Then run:
```bash
emerge -av screenman
```
Raw data
{
"_id": null,
"home_page": null,
"name": "screenman",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "screenman",
"author": null,
"author_email": "Hendrik Klug <hendrik.klug@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/24/8f/5d192e301730b5a210d69a7d3018eb94761ecbe151b86e09c2fff1ddc1d7/screenman-0.1.1.tar.gz",
"platform": null,
"description": "# screenman\n\nA Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease.\n\n## Setup\n\n```terminal\n$ screenman --help\nUsage: screenman [OPTIONS]\n\n Console script for screenman.\n\nOptions:\n --log-level TEXT Set the logging level (e.g., DEBUG, INFO, WARNING, ERROR,\n CRITICAL)\n --log-file TEXT Set the log file path.\n --print-info Print the connected screens and the corresponding\n layout.If no layout is defined, the default layout 'auto'\n is used.\n --help Show this message and exit.\n\n```\n\nWhen wanting to setup a new screen layout, you can use the `--print-info` flag to get the connected screens information. This information can be used to create a new screen layout.\n\n```terminal\n$ screenman --print-info\n<HDMI-2, UID: DL51145435704, primary: True, modes: 13, conn: True, rot: normal, enabled: True, res: (1920, 1080)>\nLayout: auto\n```\n\nFrom that we can create our toml configuration file with the following content:\n\n```toml\n# the hierarchy of the configuration file is as follows:\n# layouts.<layout_name>.<screen_uid>\n[layouts.single_baetylus.DL51145435704]\nprimary = true\nmode = [1920, 1080]\nposition = [0, 0]\nrotation = \"normal\"\n```\n\nA more advanced screenman.toml configuration file can be found in the [examples](examples) directory.\n\n## Usage\nI have `screenman --log-file ~/.local/logs/screenman.log --log-level DEBUG` mapped to a keybinding.\n\nIf you can't install `screenman` with your package manager, you can also run it with `uv`:\n \n```bash\nuv tool run screenman\n```\n\n## Installation\n\n### pip release version\n\n```bash\npip install screenman\n```\n\n### pip live version\n\n```bash\npip install git+https://github.com/Jimmy2027/screenman.git\n```\n\n### portage\n\n`screenman` is available via [Jimmy's overlay](https://github.com/Jimmy2027/overlay/blob/main/dev-python/screenman/screenman-9999.ebuild).\nEither enable the repo or copy the ebuild to your local overlay.\n\nThen run:\n\n```bash\nemerge -av screenman\n```\n",
"bugtrack_url": null,
"license": "MIT license",
"summary": "A Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/Jimmy2027/screenman"
},
"split_keywords": [
"screenman"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "dbb2a9eaf0e4be956eb6f23dccda3e33caee2bb273baa2d3d3cceb96293a762f",
"md5": "d80423bc02f4d4bbf5da75909887cd94",
"sha256": "97925f7039179aae6578174417992d07aa5dc3323b587956ce2b82c0117cde2b"
},
"downloads": -1,
"filename": "screenman-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d80423bc02f4d4bbf5da75909887cd94",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10864,
"upload_time": "2024-11-09T15:18:37",
"upload_time_iso_8601": "2024-11-09T15:18:37.001203Z",
"url": "https://files.pythonhosted.org/packages/db/b2/a9eaf0e4be956eb6f23dccda3e33caee2bb273baa2d3d3cceb96293a762f/screenman-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "248f5d192e301730b5a210d69a7d3018eb94761ecbe151b86e09c2fff1ddc1d7",
"md5": "34cfdce74a1f092ea75756a7387f3240",
"sha256": "3eafc3a0367e5ddb96c3c515834eb7e344d09a4e45f59ae83ac9c8a07bffa84f"
},
"downloads": -1,
"filename": "screenman-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "34cfdce74a1f092ea75756a7387f3240",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 15969,
"upload_time": "2024-11-09T15:18:38",
"upload_time_iso_8601": "2024-11-09T15:18:38.315724Z",
"url": "https://files.pythonhosted.org/packages/24/8f/5d192e301730b5a210d69a7d3018eb94761ecbe151b86e09c2fff1ddc1d7/screenman-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-09 15:18:38",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Jimmy2027",
"github_project": "screenman",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "screenman"
}