Add example script to switch primary and secondary display applications
also don't run detect-second-display multiple times during a session.
This commit is contained in:
parent
ae5d68ed79
commit
1fbd634d43
974
Manual.html
974
Manual.html
File diff suppressed because it is too large
Load Diff
25
Manual.org
25
Manual.org
@ -2950,6 +2950,14 @@ exit 0
|
||||
owner: '{{ vdr.user }}'
|
||||
group: '{{ vdr.group }}'
|
||||
|
||||
- name: create switch-displays script
|
||||
template:
|
||||
src: templates/bin/switch-displays.j2
|
||||
dest: '{{ vdr.home }}/bin/switch-displays'
|
||||
mode: 0755
|
||||
owner: '{{ vdr.user }}'
|
||||
group: '{{ vdr.group }}'
|
||||
|
||||
- name: create openbox-second.service for the session
|
||||
template:
|
||||
src: templates/systemd/user/openbox-second.service.j2
|
||||
@ -4763,11 +4771,28 @@ Description=Detect second DISPLAY using xrandr
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=%h/bin/detect-second-display
|
||||
|
||||
[Install]
|
||||
WantedBy=yavdr-desktop.target
|
||||
#+END_SRC
|
||||
***** switch-displays
|
||||
:PROPERTIES:
|
||||
:ID: 67d8bc4f-64c6-4433-98f7-d76430fb9f20
|
||||
:END:
|
||||
This script exchanges the primary and secondary screen. It needs access to the systemd user session.
|
||||
#+BEGIN_SRC shell :tangle roles/yavdr-desktop/templates/bin/switch-displays.j2 :mkdirp yes :padline no
|
||||
#!/bin/bash
|
||||
source <(systemctl --user show-environment)
|
||||
[[ "$DISPLAY" =~ \.1$ ]] && DISPLAY="${DISPLAY%.1}.0" || DISPLAY="${DISPLAY%.0}.1"
|
||||
|
||||
frontend-dbus-send stop
|
||||
systemctl --user stop osd2web
|
||||
frontend-dbus-send setDisplay "$DISPLAY"
|
||||
systemctl --user start osd2web
|
||||
frontend-dbus-send start
|
||||
#+END_SRC
|
||||
***** openbox-second.service
|
||||
:PROPERTIES:
|
||||
:ID: 4473c272-7b60-4159-b2a9-8198cff98770
|
||||
|
@ -103,6 +103,14 @@
|
||||
owner: '{{ vdr.user }}'
|
||||
group: '{{ vdr.group }}'
|
||||
|
||||
- name: create switch-displays script
|
||||
template:
|
||||
src: templates/bin/switch-displays.j2
|
||||
dest: '{{ vdr.home }}/bin/switch-displays'
|
||||
mode: 0755
|
||||
owner: '{{ vdr.user }}'
|
||||
group: '{{ vdr.group }}'
|
||||
|
||||
- name: create openbox-second.service for the session
|
||||
template:
|
||||
src: templates/systemd/user/openbox-second.service.j2
|
||||
|
9
roles/yavdr-desktop/templates/bin/switch-displays.j2
Normal file
9
roles/yavdr-desktop/templates/bin/switch-displays.j2
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
source <(systemctl --user show-environment)
|
||||
[[ "$DISPLAY" =~ \.1$ ]] && DISPLAY="${DISPLAY%.1}.0" || DISPLAY="${DISPLAY%.0}.1"
|
||||
|
||||
frontend-dbus-send stop
|
||||
systemctl --user stop osd2web
|
||||
frontend-dbus-send setDisplay "$DISPLAY"
|
||||
systemctl --user start osd2web
|
||||
frontend-dbus-send start
|
@ -3,6 +3,7 @@ Description=Detect second DISPLAY using xrandr
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=%h/bin/detect-second-display
|
||||
|
||||
[Install]
|
||||
|
Loading…
Reference in New Issue
Block a user