davvil / pdfpc

A presenter console with multi-monitor support for PDF files.
http://davvil.github.com/pdfpc/
GNU General Public License v2.0
210 stars 20 forks source link

Different window titles for presenter and console #85

Open klump opened 9 years ago

klump commented 9 years ago

I am using i3wm and would like to write some rules for the windows. Right now there is the problem that both windows have exactly the same window title - no way for me to differentiate them when writing rules. Could the presenter view be named something like "Pdfpc - Presenter"?

Or am I missing something?

MrTango commented 9 years ago

I have the same problem. A workaround for me is to open pdfpc on the output of the beamer and then move the curent container back. Then what remains on the output of the beamer is the right pdfpc output and i have the speaker view on my laptop screen.

But it would be very helpfull to have an option to define an assingment for pdfpc view window.

einhander commented 9 years ago

I'm using awesome wm. Different windows of pdfpc has same class name and different 'role' parameter named 'presenter' and 'presentation' . So you can write a rules to take presentation window to another monitor.

MrTango commented 9 years ago

how do you know that role name? xprop does not print that out.

maik@planetmobile:/home/maik# xprop 
_NET_WM_USER_TIME(CARDINAL) = 130466498
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        window id # of group leader: 0x4a00001
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 77594629
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x4a00004
WM_CLIENT_LEADER(WINDOW): window id # 0x4a00001
_NET_WM_PID(CARDINAL) = 10866
WM_LOCALE_NAME(STRING) = "de_DE.UTF-8"
WM_CLIENT_MACHINE(STRING) = "planetmobile"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified location: 0, 0
        program specified minimum size: 1600 by 900
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "pdf-presenter-console", "Pdf-presenter-console"
WM_ICON_NAME(STRING) = "pdf-presenter-console"
_NET_WM_ICON_NAME(UTF8_STRING) = "pdf-presenter-console"
WM_NAME(STRING) = "pdf-presenter-console"
_NET_WM_NAME(UTF8_STRING) = "pdf-presenter-console"
maik@planetmobile:/home/maik# xprop 
_NET_WM_USER_TIME(CARDINAL) = 130461105
_NET_WM_STATE(ATOM) = 
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        window id # of group leader: 0x4a00001
XdndAware(ATOM) = BITMAP
_MOTIF_DRAG_RECEIVER_INFO(_MOTIF_DRAG_RECEIVER_INFO) = 0x6c, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 77594747
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x4a0007a
WM_CLIENT_LEADER(WINDOW): window id # 0x4a00001
_NET_WM_PID(CARDINAL) = 10866
WM_LOCALE_NAME(STRING) = "de_DE.UTF-8"
WM_CLIENT_MACHINE(STRING) = "planetmobile"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified location: 0, 0
        program specified minimum size: 1920 by 1200
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "pdf-presenter-console", "Pdf-presenter-console"
WM_ICON_NAME(STRING) = "pdf-presenter-console"
_NET_WM_ICON_NAME(UTF8_STRING) = "pdf-presenter-console"
WM_NAME(STRING) = "pdf-presenter-console"
_NET_WM_NAME(UTF8_STRING) = "pdf-presenter-console"

i could not find the WM_WINDOW_ROLE property in the output, how can i get this if it is realy there?

I use pdf-presenter-console in Debian testing.

einhander commented 9 years ago

I'm on Jessie

einhander@edge:~$ xprop
_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN
_NET_WM_DESKTOP(CARDINAL) = 13
WM_STATE(WM_STATE):
        window state: Normal
        icon window: 0x0
WM_HINTS(WM_HINTS):
        Client accepts input or input focus: True
        Initial state is Normal State.
        window id # of group leader: 0x3e00001
WM_WINDOW_ROLE(STRING) = "presentation"
_NET_WM_SYNC_REQUEST_COUNTER(CARDINAL) = 65011717
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_USER_TIME_WINDOW(WINDOW): window id # 0x3e00004
WM_CLIENT_LEADER(WINDOW): window id # 0x3e00001
_NET_WM_PID(CARDINAL) = 30475
WM_LOCALE_NAME(STRING) = "ru_RU.UTF-8"
WM_CLIENT_MACHINE(STRING) = "edge"
WM_NORMAL_HINTS(WM_SIZE_HINTS):
        program specified location: 0, 0
        program specified minimum size: 1152 by 864
        window gravity: NorthWest
WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "pdfpc-git", "Pdfpc-git"
WM_ICON_NAME(STRING) = "pdfpc-git"
_NET_WM_ICON_NAME(UTF8_STRING) = "pdfpc-git"
WM_NAME(STRING) = "pdfpc-git"
_NET_WM_NAME(UTF8_STRING) = "pdfpc-git"

As you can see my xprop give me WM_WINDOW_ROLE(STRING) = "presentation" string.

MrTango commented 9 years ago

oh, sorry i've used the original PDF Presenter Console. I did not realized this is a fork. So i will try this one, sorry for noise.

einhander commented 9 years ago

Try it. It's very good fork :) with video and handout support in git version. If you are on Jessie build with vala 0.20 from wheezy. Vala from testing 0.24 isn't supported.

MrTango commented 9 years ago

thx, the git version with your vala tip works. The only little think i have to figure out now is, how i can prevent the white line on the output screen. But this is not so important, i can live with it.