rliou92 / umonitor Goto Github PK
View Code? Open in Web Editor NEWManage monitor configuration automatically
License: MIT License
Manage monitor configuration automatically
License: MIT License
Hi again ;) Umonitor suddenly stopped working from one day to another ?
$ ~ umonitor -l portable
[1] 3319 segmentation fault (core dumped) umonitor -l portable
$ ~ umonitor --version
umonitor 20170805
Written by Ricky Liou
Hi again. I was wondering if there is anny way to issue a custom cmd such as .config/polybar/launch.sh
when the daemon detects a change? It would be a pretty neat feature to have instead of running the cmd manually everytime the daemon recognizes a change.
mlim@linux:~/umonitor-master$ make
gcc -Wall -c src/screen.c -o obj/screen.o
In file included from src/screen.c:1:0:
src/common.h:5:10: fatal error: libconfig.h: No such file or directory
#include <libconfig.h>
^~~~~~~~~~~~~
compilation terminated.
Makefile:33: recipe for target 'obj/screen.o' failed
make: *** [obj/screen.o] Error 1
My setup:
Config:
main :
{
Screen :
{
width = 3000;
height = 1920;
widthMM = 794;
heightMM = 508;
};
Monitors :
{
HDMI-A-0 :
{
EDID = "AOC 2476WM";
resolution :
{
x = 1920;
y = 1080;
};
pos :
{
x = 1080;
y = 840;
};
rotation = 1;
primary = 1;
};
DVI-D-0 :
{
EDID = "AOC 2490W1";
resolution :
{
x = 1920;
y = 1080;
};
pos :
{
x = 0;
y = 0;
};
rotation = 8;
};
};
};
vert-only :
{
Screen :
{
width = 1080;
height = 1920;
widthMM = 286;
heightMM = 508;
};
Monitors :
{
DVI-D-0 :
{
EDID = "AOC 2490W1";
resolution :
{
x = 1920;
y = 1080;
};
pos :
{
x = 0;
y = 0;
};
rotation = 8;
primary = 1;
};
};
};
arandr
- nothing turned off or on./umonitor --verbose --listen
Connected to server
Autoloading
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Profile main matches current setup
Done loading values from configuration file
Loading profile main
Num outputs per profile main: 2
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 79
Queing up crtc to load: 79
Crtc settings: x:0, y:0, rotation: 8, is_primary: 0, mode_id: 86, output: DVI-D-0
Trying to find matching setting for HDMI-A-0 (AOC 2476WM)
Found output in configuration file that matches HDMI-A-0 (AOC 2476WM)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:1080, y:840, rotation: 1, is_primary: 1, mode_id: 86, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:1080, y:840, rotation: 1, mode_id: 86, output: HDMI-A-0
Queued crtc 80 matches! Remove duplicate crtc 80 from ll
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:0, y:0, rotation: 8, mode_id: 86, output: DVI-D-0
Queued crtc 79 matches! Remove duplicate crtc 79 from ll
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
No crtcs to disable or enable. Profile main is currently active
*
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 0
Time of event: 246959979
Screen change event detected
Now I should load
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Profile main matches current setup
Done loading values from configuration file
Loading profile main
Num outputs per profile main: 2
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 79
Queing up crtc to load: 79
Crtc settings: x:0, y:0, rotation: 8, is_primary: 0, mode_id: 86, output: DVI-D-0
Trying to find matching setting for HDMI-A-0 (AOC 2476WM)
Found output in configuration file that matches HDMI-A-0 (AOC 2476WM)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:1080, y:840, rotation: 1, is_primary: 1, mode_id: 86, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:1080, y:0, rotation: 1, mode_id: 86, output: HDMI-A-0
Queing disable crtc 80
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:0, y:0, rotation: 8, mode_id: 86, output: DVI-D-0
Queued crtc 79 matches! Remove duplicate crtc 79 from ll
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
Disabling this crtc: 80
Change screen size here
Enable crtc 80
*
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 247947955
Time of event: 247947894
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 247947955
Time of event: 247947910
Screen change event detected
Waiting for event
./umonitor --verbose --listen
Connected to server
Autoloading
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Profile main matches current setup
Done loading values from configuration file
Loading profile main
Num outputs per profile main: 2
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 79
Queing up crtc to load: 79
Crtc settings: x:0, y:0, rotation: 8, is_primary: 0, mode_id: 86, output: DVI-D-0
Trying to find matching setting for HDMI-A-0 (AOC 2476WM)
Found output in configuration file that matches HDMI-A-0 (AOC 2476WM)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:1080, y:840, rotation: 1, is_primary: 1, mode_id: 86, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:1080, y:840, rotation: 1, mode_id: 86, output: HDMI-A-0
Queued crtc 80 matches! Remove duplicate crtc 80 from ll
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:0, y:0, rotation: 8, mode_id: 86, output: DVI-D-0
Queued crtc 79 matches! Remove duplicate crtc 79 from ll
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
No crtcs to disable or enable. Profile main is currently active
*
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 0
Time of event: 247947955
Screen change event detected
Now I should load
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
Profile vert-only matches current setup
Done loading values from configuration file
Loading profile vert-only
Num outputs per profile vert-only: 1
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:0, y:0, rotation: 8, is_primary: 1, mode_id: 86, output: DVI-D-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:0, y:0, rotation: 1, mode_id: 86, output: DVI-D-0
Queing disable crtc 80
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:0, y:0, rotation: 8, mode_id: 0, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
Disabling this crtc: 80
Change screen size here
Enable crtc 80
*
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 247947955
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248048906
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248048942
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248048942
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248048980
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248048980
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248049048
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248049143
Time of event: 248049048
Screen change event detected
Waiting for event
./umonitor --verbose --listen
Connected to server
Autoloading
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
Profile vert-only matches current setup
Done loading values from configuration file
Loading profile vert-only
Num outputs per profile vert-only: 1
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:0, y:0, rotation: 8, is_primary: 1, mode_id: 86, output: DVI-D-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:0, y:0, rotation: 8, mode_id: 86, output: DVI-D-0
Queued crtc 80 matches! Remove duplicate crtc 80 from ll
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:0, y:0, rotation: 8, mode_id: 0, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
No crtcs to disable or enable. Profile vert-only is currently active
*
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 0
Time of event: 248049143
Screen change event detected
Now I should load
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Profile main matches current setup
Done loading values from configuration file
Loading profile main
Num outputs per profile main: 2
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:0, y:0, rotation: 8, is_primary: 0, mode_id: 86, output: DVI-D-0
Trying to find matching setting for HDMI-A-0 (AOC 2476WM)
Found output in configuration file that matches HDMI-A-0 (AOC 2476WM)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 0
Candidate crtc will not work, using 79 instead
Queing up crtc to load: 79
Crtc settings: x:1080, y:840, rotation: 1, is_primary: 1, mode_id: 86, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:0, y:0, rotation: 8, mode_id: 86, output: DVI-D-0
Queued crtc 80 matches! Remove duplicate crtc 80 from ll
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:1920, y:0, rotation: 1, mode_id: 86, output: HDMI-A-0
Queing disable crtc 79
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
Disabling this crtc: 79
Change screen size here
Enable crtc 79
*
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
---------------------------------
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248049143
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153020
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153020
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153060
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153074
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153074
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153175
Screen change event detected
Waiting for event
Event type: 89
screen change masked: 1
output change masked: 0
Last time of configuration: 248153317
Time of event: 248153175
Screen change event detected
Waiting for event
./umonitor --verbose
Connected to server
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Looping over profile main
Configuration outputs: HDMI-A-0 (AOC 2476WM) DVI-D-0 (AOC 2490W1)
Profile main matches current setup
Done loading values from configuration file
Loading profile main
Num outputs per profile main: 2
Trying to find matching setting for DVI-D-0 (AOC 2490W1)
Found output in configuration file that matches DVI-D-0 (AOC 2490W1)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 80
Queing up crtc to load: 80
Crtc settings: x:0, y:0, rotation: 8, is_primary: 0, mode_id: 86, output: DVI-D-0
Trying to find matching setting for HDMI-A-0 (AOC 2476WM)
Found output in configuration file that matches HDMI-A-0 (AOC 2476WM)
Trying match up the configuration resolution with the mode id
Found matching mode id: 86
Candidate crtc for this output: 79
Queing up crtc to load: 79
Crtc settings: x:1080, y:840, rotation: 1, is_primary: 1, mode_id: 86, output: HDMI-A-0
Does any of queued crtc match currently loaded crtc 79?
Crtc: x:1080, y:840, rotation: 1, mode_id: 86, output: HDMI-A-0
Queued crtc 79 matches! Remove duplicate crtc 79 from ll
Does any of queued crtc match currently loaded crtc 80?
Crtc: x:0, y:0, rotation: 1, mode_id: 86, output: DVI-D-0
Queing disable crtc 80
Does any of queued crtc match currently loaded crtc 81?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: HDMI-A-0
Looping over profile vert-only
Configuration outputs: DVI-D-0 (AOC 2490W1)
Unknown profile*
---------------------------------
./umonitor
main
vert-only
Unknown profile*
---------------------------------
./umonitor --load main
Profile main loaded!
---------------------------------
main*
vert-only
---------------------------------
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: ** (gala:19444): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
gnome-session[19212]: ** (gala:19444): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
gnome-session[19212]: ** (gala:19444): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: **
gnome-session[19212]: mutter:ERROR:backends/meta-monitor-manager.c:260:make_logical_config: assertion failed: (output->crtc->logical_monitor != NULL)
gnome-session[19212]: gnome-session-binary[19212]: WARNING: Application 'gala.desktop' killed by signal 6
gnome-session-binary[19212]: WARNING: Application 'gala.desktop' killed by signal 6
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 1549, resource id: 0, major code: 140 (Unknown), minor code: 20
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 3910, resource id: 0, major code: 140 (Unknown), minor code: 20
gnome-session[19212]: (gala:25276): Gtk-WARNING **: Theme parsing error: gtk.css:2663:13: 'min-width' is not a valid property name
gnome-session[19212]: (gala:25276): Gtk-WARNING **: Theme parsing error: gtk.css:2663:13: 'min-width' is not a valid property name
gnome-session[19212]: (gala:25276): Gtk-WARNING **: Theme parsing error: gtk.css:2663:13: 'min-width' is not a valid property name
gnome-session[19212]: Window manager warning: Trying to re-add keybinding "switch-to-workspace-last".
gnome-session[19212]: Window manager warning: Trying to re-add keybinding "move-to-workspace-last".
gnome-session[19212]: ** (gala:25276): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
gnome-session[19212]: ** (gala:25276): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
gnome-session[19212]: ** (gala:25276): WARNING **: Preferences.vala:192: '/usr/share/themes/Arc-Dark/plank/dock.theme' is read-only!
gnome-session[19212]: ** (gala:25276): WARNING **: Preferences.vala:382: Missing key 'CascadeHide' for group 'PlankDrawingDockTheme' in preferences file '/usr/share/themes/Arc-Dark/plank/dock.theme' - using default value
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: ** (gala:25276): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
gnome-session[19212]: ** (gala:25276): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 4495, resource id: 0, major code: 140 (Unknown), minor code: 20
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 2055, resource id: 0, major code: 140 (Unknown), minor code: 20
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] 2476WM: [Block 0]
kernel: [drm] 2476WM: [Block 1]
kernel: [drm] dc_link_detect: manufacturer_id = E305, product_id = 2476, serial_number = 1D7, manufacture_week = 12, manufacture_year = 27, display_name = 2476WM, speaker_flag = 1, audio_mode_count = 1
kernel: [drm] dc_link_detect: mode number = 0, format_code = 1, channel_count = 2, sample_rate = 7, sample_size = 7
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 4511, resource id: 0, major code: 140 (Unknown), minor code: 20
gnome-session[19212]: QXcbConnection: XCB error: 148 (Unknown), sequence: 2067, resource id: 0, major code: 140 (Unknown), minor code: 20
gnome-session[19212]: ** (gala:25276): CRITICAL **: plank_drawing_service_load_icon: assertion 'names != NULL' failed
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
kernel: [drm] {1920x1080, 2200x1125@148500Khz}
gnome-session[19212]: **
gnome-session[19212]: mutter:ERROR:backends/meta-monitor-manager.c:260:make_logical_config: assertion failed: (output->crtc->logical_monitor != NULL)
gnome-session[19212]: gnome-session-binary[19212]: WARNING: Application 'gala.desktop' killed by signal 6
gnome-session[19212]: gnome-session-binary[19212]: WARNING: App 'gala.desktop' respawning too quickly
gnome-session-binary[19212]: WARNING: Application 'gala.desktop' killed by signal 6
gnome-session-binary[19212]: WARNING: App 'gala.desktop' respawning too quickly
gnome-session-binary[19212]: Unrecoverable failure in required component gala.desktop
gnome-session[19212]: gnome-session-binary[19212]: CRITICAL: We failed, but the fail whale is dead. Sorry....
gnome-session-binary[19212]: CRITICAL: We failed, but the fail whale is dead. Sorry....
gnome-session[19212]: ICE default IO error handler doing an exit(), pid = 19518, errno = 11
I don't know if this is a feature which is not implemented but every time I load my profile I have to use xrandr to roate my screen in order to get in in portrait mode.
I would like to suggest adding support for setting the dpi value. So far -- afaik -- this is not touched.
I use different dpi values on my laptop screen and on my external screen.
So far umonitor
does the changing of the resolution but I always have to press my key combination to set the dpi value accordingly. This somehow undercuts the use of umonitor
.
Adapt to switching screens actually consists at least of setting
Not having to touch the dpi value is actually the special case of changing the resolution on the same screen or by coincidence having two different screens with comparable pixel densities.
Thanks a lot!
Is there currently support for lid open/close events?
Let's say when you open the lid of your notebook and the screen becomes active, umonitor switches to a dual screen setup. When the lid is closed, it goes to a single external monitor setup.
Tried it but but seems not to work. (using a HP Elitebook G3)
[x] Bug [x] Feature Request [ ] Documentation Request [ ] Other (Please describe in detail)
When I have the umonitor daemon running (umonitor -n
), I can't switch the profile via the -l
flag ...
~> umonitor -l mobile
umonitor process already running.
Please stop the existing process and try again.
If umonitor is not running, remove the lock file called .umonitor.lock underneath your home directory.
... and by using my xrandr binds, umonitor switches immediately back.
I have to pkill umonitor
first in order to use umonitor -l mobile
.
Say, I have two profiles, docked and mobile and the umonitor daemon runs with identified profile docked. When I execute umonitor -l mobile
but mobile is not being identified as the current setup, the daemon stores the current setup with the settings from profile mobile as a temporary profile until the setup changes (and switches to the to the setup corresponding profile then).
I have my laptop in / on my wall mount (closed) and docked 95 % of the time I'm using it at home. But on a video conference, I need the camera and microphone and the laptop screen then physically blocks my external screen. Hence I want switch to the laptop screen but keep it docked for all the peripherals and Ethernet. That is currently not possible without killing umonitor first.
Python 3.9 removed tp_print from PyTypeObject, resulting in
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=x86-64 -mtu
ne=generic -O3 -pipe -fno-plt -fno-semantic-interposition -march=x86-64 -mtune=generic -O3 -pip
e -fno-plt -march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fPIC -I/usr/include/python3.9 -c um
onitor/screen.c -o build/temp.linux-x86_64-3.9/umonitor/screen.o
umonitor/screen.c: In function ‘__Pyx_modinit_type_init_code’:
umonitor/screen.c:7248:38: error: ‘PyTypeObject’ {aka ‘struct _typeobject’} has no member named
‘tp_print’
7248 | __pyx_type_8umonitor_6screen_Screen.tp_print = 0;
| ^
This means umonitor no longer compiles. This breaks umonitor on Arch, as they've upgrade Python to 3.9
On boot, umonitor -n
fails:
~> umonitor
docked
mobile
Unknown profile*
---------------------------------
~> umonitor --verbose
Connected to server
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: eDP1 (AUO unknown) DP1-2 (AOC U3277WB)
Looping over profile docked
Configuration outputs: eDP1 (AUO unknown) DP1-2 (AOC U3277WB)
Profile docked matches current setup
Done loading values from configuration file
Loading profile docked
Num outputs per profile docked: 2
Trying to find matching setting for DP1-2 (AOC U3277WB)
Found output in configuration file that matches DP1-2 (AOC U3277WB)
Trying match up the configuration resolution with the mode id
Found matching mode id: 512
Candidate crtc for this output: 64
Queing up crtc to load: 64
Crtc settings: x:0, y:0, rotation: 1, is_primary: 1, mode_id: 512, output: DP1-2
Trying to find matching setting for eDP1 (AUO unknown)
Found output in configuration file that matches eDP1 (AUO unknown)
Trying match up the configuration resolution with the mode id
No need to find mode id, just let this output be disabled later
Does any of queued crtc match currently loaded crtc 63?
Crtc: x:0, y:0, rotation: 1, mode_id: 77, output: eDP1
Queing disable crtc 63
Does any of queued crtc match currently loaded crtc 64?
Crtc: x:0, y:0, rotation: 1, mode_id: 78, output: DP1-2
Queing disable crtc 64
Does any of queued crtc match currently loaded crtc 65?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: eDP1
Does any of queued crtc match currently loaded crtc 66?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: VIRTUAL1
Looping over profile mobile
Configuration outputs: eDP1 (AUO unknown)
Unknown profile*
---------------------------------
After manually setting
xrandr --output eDP1 --off --output DP1-2 --mode 3840x2160 --rate 60 --dpi 144 --set "Broadcast RGB" "Full" --primary
~> umonitor --verbose
Connected to server
Number of profiles: 2
Trying to find which profile matches current setup
Current connected outputs: eDP1 (AUO unknown) DP1-2 (AOC U3277WB)
Looping over profile docked
Configuration outputs: eDP1 (AUO unknown) DP1-2 (AOC U3277WB)
Profile docked matches current setup
Done loading values from configuration file
Loading profile docked
Num outputs per profile docked: 2
Trying to find matching setting for DP1-2 (AOC U3277WB)
Found output in configuration file that matches DP1-2 (AOC U3277WB)
Trying match up the configuration resolution with the mode id
Found matching mode id: 512
Candidate crtc for this output: 64
Queing up crtc to load: 64
Crtc settings: x:0, y:0, rotation: 1, is_primary: 1, mode_id: 512, output: DP1-2
Trying to find matching setting for eDP1 (AUO unknown)
Found output in configuration file that matches eDP1 (AUO unknown)
Trying match up the configuration resolution with the mode id
No need to find mode id, just let this output be disabled later
Does any of queued crtc match currently loaded crtc 64?
Crtc: x:0, y:0, rotation: 1, mode_id: 512, output: DP1-2
Queued crtc 64 matches! Remove duplicate crtc 64 from ll
Does any of queued crtc match currently loaded crtc 63?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: eDP1
Does any of queued crtc match currently loaded crtc 65?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: eDP1
Does any of queued crtc match currently loaded crtc 66?
Crtc: x:0, y:0, rotation: 1, mode_id: 0, output: VIRTUAL1
No crtcs to disable or enable. Profile docked is currently active
*
Looping over profile mobile
Configuration outputs: eDP1 (AUO unknown)
---------------------------------
~> umonitor
docked*
mobile
---------------------------------
it detects the profile again.
It is probably me doing something wrong here.
I installed umonitor from AUR and used arandr to generate a config. Then I tried to save the config with umonitor
[danile@danile-pc ~]$ umonitor --save .screenlayout/home.sh
Segmentation fault (core dumped)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.