Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit54de85d

Browse files
committed
Add README
1 parent3f926f0 commit54de85d

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed

‎README.md‎

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
#umonitor
2+
Manage monitor configuration automatically
3+
4+
The goal of this project is to implement*desktop environment independent* dynamic monitor
5+
management. Dynamic monitor management means that the positions and resolutions
6+
of the monitors will automatically be updated whenever monitors are
7+
hotplugged. This program is written in Cython using XCB to directly communicate with the X11 server. This program is targeted at users who are using a window manager on a laptop who hotplug monitors frequently.
8+
9+
#Installation
10+
Run`python setup.py install`. Then running`umonitor` should work.
11+
12+
For Arch Linux users there is an AUR package[here](https://aur.archlinux.org/packages/python-umonitor-git/).
13+
14+
#Usage
15+
16+
* Setup your monitor resolutions and positions using`xrandr` or related tools (`arandr` is a good one).
17+
* Run`umonitor --save <profile_name>`.
18+
* Run`umonitor --listen --daemonize` to daemonize the program and begin automatically applying monitor setup.
19+
20+
The configuration file is stored in`~/.config/umon/umon.conf`. You can load a
21+
profile manually by executing`umonitor --load <profile_name>`. Profiles can be deleted`umonitor --delete <profile_name>`.
22+
23+
`umonitor` runs all scripts automatically in`~/.config/umon` after a profile has been loaded.
24+
25+
Example scenario: You are working on a laptop. You want to save just the monitor
26+
configuration of just the laptop screen into the profile name called 'home'. At
27+
home you plug in an external monitor, and you want to save that configuration as
28+
'docked'.
29+
30+
```
31+
# With only the laptop screen (no external monitors)
32+
$ umonitor --save home
33+
Profile home saved!
34+
35+
# Plug in external monitor
36+
37+
# Setup your desired configuration
38+
$ xrandr --output HDMI-1 --mode 1920x1080 --pos 1600x0
39+
$ xrandr --output eDP1 --mode 1600x900 --pos 0x0
40+
41+
# Save the current configuration into a profile
42+
$ umonitor --save docked
43+
Profile docked saved!
44+
45+
# Begin autodetecting changes in monitor
46+
$ umonitor --listen
47+
home
48+
docked*
49+
---------------------------------
50+
# Monitor is unplugged
51+
home*
52+
docked
53+
---------------------------------
54+
```
55+
56+
Program help can also be viewed through`umonitor --help`.
57+
58+
If you would like to auto start this program, you can add the program to your .xinitrc:
59+
```
60+
$ cat ~/.xinitrc
61+
#!/bin/sh
62+
...
63+
...
64+
...
65+
umonitor --listen --daemonize
66+
exec i3 # your window manager of choice
67+
```
68+
69+
#Features
70+
Give me some feedback!
71+
72+
* What is saved and applied dynamically:
73+
* Monitor vendor name + model number
74+
* Crtc x and y position
75+
* Resolution and refresh rate
76+
* Primary output
77+
* Rotation
78+
* Valgrind clean
79+
80+
Bugs:
81+
* Tell me! Run umonitor with the`--verbose` flag to get debugging output
82+
83+
I'm open for any feature requests!
84+
85+
#About
86+
This is a Python rewrite of my earlier program[umonitor](https://github.com/rliou92/umonitor), which was written in C. A higher level language such as Python allows quicker development times and easier maintenance.
87+
88+
#Credits
89+
I borrowed the edid parsing code from[eds](https://github.com/compnerd/eds).

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp