A Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease.
Project description
screenman
A Python tool to manage and configure multi-monitor setups using EDID information, allowing users to apply predefined screen layouts with ease.
Setup
$ 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.
$ 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:
# 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 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
:
uv tool run screenman
Installation
pip release version
pip install screenman
pip live version
pip install git+https://github.com/Jimmy2027/screenman.git
portage
screenman
is available via Jimmy's overlay.
Either enable the repo or copy the ebuild to your local overlay.
Then run:
emerge -av screenman
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for screenman-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97925f7039179aae6578174417992d07aa5dc3323b587956ce2b82c0117cde2b |
|
MD5 | d80423bc02f4d4bbf5da75909887cd94 |
|
BLAKE2b-256 | dbb2a9eaf0e4be956eb6f23dccda3e33caee2bb273baa2d3d3cceb96293a762f |