You are not logged in.
Hello,
Has anyone tried using Impress on multiple monitors with Awesome?
I set up an external monitor to the right of my laptop screen using xrandr:
xrandr --output HDMI1 --auto --right-of eDP1and modified the Impress slideshow settings to use one or both of the screens, but the presentation only shows up on the screen that it is run on.
Any suggestions?
Thanks!
Keith
Keith
dotfiles
Offline
Okay, so it looks like what was happening was that the fullscreen slideshow was opening on the same tag of the same screen, behind the presenter console. To fix things you just have to switch focus to the presentation and move it to a tag on the second screen.
I tried to find a way to set this up as a rule, but have not had any luck so far... The best way I can find to discriminate between a fullscreen presentation and the console (or other Libreoffice instances like writer), is that the presentation does not have anything set for NET_WM_NAME and a few other fields.
E.g. here are the console, presentation, and writer properties:
impress presenter console
_NET_WM_DESKTOP(CARDINAL) = 3
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_ICON_NAME(UTF8_STRING) = "presentation.odp - LibreOffice Impress"
_NET_WM_NAME(UTF8_STRING) = "presentation.odp - LibreOffice Impress"
WM_LOCALE_NAME(STRING) = "en_US.utf8"
WM_ICON_NAME(STRING) = "presentation.odp - LibreOffice Impress"
WM_NAME(STRING) = "presentation.odp - LibreOffice Impress"
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
WM_CLIENT_LEADER(WINDOW): window id # 0x1c00001
_NET_WM_PID(CARDINAL) = 16095
WM_CLIENT_MACHINE(STRING) = "localhost.localdomain"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 0
program specified minimum size: 1920 by 1080
program specified maximum size: 2020 by 1180
window gravity: Static
WM_CLASS(STRING) = "VCLSalFrame", "LibreOffice 4.0"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
bitmap id # to use for icon: 0x1c01773
bitmap id # of mask for icon: 0x1c01774
window id # of group leader: 0x1c0176c
_NET_WM_USER_TIME(CARDINAL) = 903683libreoffice writer
_NET_WM_DESKTOP(CARDINAL) = 8
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_ICON_NAME(UTF8_STRING) = "Untitled 1 - LibreOffice Writer"
_NET_WM_NAME(UTF8_STRING) = "Untitled 1 - LibreOffice Writer"
WM_LOCALE_NAME(STRING) = "en_US.utf8"
WM_ICON_NAME(STRING) = "Untitled 1 - LibreOffice Writer"
WM_NAME(STRING) = "Untitled 1 - LibreOffice Writer"
_NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_MAXIMIZED_HORZ
XdndAware(ATOM) = BITMAP
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0xf, 0x1, 0x1, 0x0, 0x0
WM_CLIENT_LEADER(WINDOW): window id # 0x1c00001
_NET_WM_PID(CARDINAL) = 16095
WM_CLIENT_MACHINE(STRING) = "localhost.localdomain"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 59
window gravity: Static
WM_CLASS(STRING) = "VCLSalFrame", "libreoffice-writer"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
bitmap id # to use for icon: 0x1c042c5
bitmap id # of mask for icon: 0x1c042c8
window id # of group leader: 0x1c042b8
_NET_WM_USER_TIME(CARDINAL) = 1368510impress presentation
_NET_WM_DESKTOP(CARDINAL) = 8
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
XdndAware(ATOM) = BITMAP
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
WM_CLIENT_LEADER(WINDOW): window id # 0x1c00001
_NET_WM_PID(CARDINAL) = 16095
WM_CLIENT_MACHINE(STRING) = "localhost.localdomain"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 0
program specified minimum size: 1920 by 1080
program specified maximum size: 2020 by 1180
window gravity: Static
WM_CLASS(STRING) = "VCLSalFrame", "LibreOffice 4.0"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
bitmap id # to use for icon: 0x1c01736
bitmap id # of mask for icon: 0x1c01737
window id # of group leader: 0x1c01727
_NET_WM_USER_TIME(CARDINAL) = 903529I'm not, however, sure if this is something that can be used in awesome.rules.
Keith
Keith
dotfiles
Offline
Hi,
This topic is a bit old but I think it can help other people.
I am using Tyrannical (https://github.com/Elv13/tyrannical) to manage my tags, but I guess it is not very hard to make it work without it.
I use the `overwrite_class` property of tyrannical to differentiate the normal libreoffice windows (with `overwrite_class="libreoffice"`) to the presentation window (with `overwrite_class="libreoffice-fullscreen"`).
For my version of LibreOffice (version 4.3), the presentation window is distinguished from the other libreoffice windows by its class="Soffice" and name="LibreOffice 4.3" (check with xprop before).
So I set the awful.rules as follows :
awful.rules.rules = {
...
{ rule_any = { class = { "openoffice", "soffice", "Soffice", "LibreOffice",
"libreoffice-writer", "libreoffice-base", "libreoffice-impress", "libreoffice-calc", "libreoffice-draw", "libreoffice-math", "libreoffice-startcenter" }},
callback = function(c)
awful.client.property.set(c, "overwrite_class", "libreoffice")
end
},
{ rule = { name = "LibreOffice 4.3", class = "Soffice", type = "normal"},
callback = function(c)
awful.client.property.set(c, "overwrite_class", "libreoffice-fullscreen")
--c.fullscreen = true
--naughty.notify({ text="Rename tag prologue" , screen = mouse.screen })
end,
properties = {
screen = screen.count()>1 and 2 or 1,
fullscreen = true,
skip_taskbar = true,
focusable = true}
},The `callback` field is to use with custom classes in tyrannical.
This can be further tweaked using tyrannical with the classes "libreoffice-fullscreen" and "libreoffice".
Offline