I am using i3 window manager and am trying to configure my desktop so that key combination Win+o would open Viber, Skype and Whatsapp. So this is what I put in ~/.config/i3/config
file:
bindsym $mod+o exec "viber & chromium --app=http://ift.tt/1Dt3Tno & chromium --app=http://ift.tt/1BsJicG"
This works fine and all three windows open up fine, but if I close only Skype and again press Win+o I will have one instance of Skype and two instances of Viber / Whatsapp.
So I need to somehow first check if any instance of the programs is already running and prevent the ones that do to reload. I had an idea to start xprop and click on all of the windows to get their details which look like it is shown below.
Whatsapp:
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 1
_NET_WM_USER_TIME(CARDINAL) = 6425123
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 0, 18
WM_NAME(UTF8_STRING) = "WhatsApp"
_NET_WM_NAME(UTF8_STRING) = "WhatsApp"
XdndAware(ATOM) = BITMAP
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x1, 0x0, 0x0
_NET_WM_ICON(CARDINAL) = Icon (16 x 16):
░░
░░▒▒▒▒░░
░▒▒▒▒▒▒▒▒░
░▒░ ▒▒▒▒▒▒▒░
░▒ ░▒▒▒▒▒▒▒
▒▒ ▒▒▒▒▒▒▒
░▒▒ ░▒▒▒▒▒▒▒░
░▒▒░ ▒▒▒▒▒▒▒░
▒▒▒░ ░ ░▒▒
▒▒▒▒░ ▒▒
░▒▒▒▒▒░ ░▒░
░▒▒▒▒▒▒▒▒▒░
░░░░▒▒▒▒▒░
░░
Icon (16 x 16):
░░
░░▒▒▒▒░░
░▒▒▒▒▒▒▒▒░
░▒░ ▒▒▒▒▒▒▒░
░▒ ░▒▒▒▒▒▒▒
▒▒ ▒▒▒▒▒▒▒
░▒▒ ░▒▒▒▒▒▒▒░
░▒▒░ ▒▒▒▒▒▒▒░
▒▒▒░ ░ ░▒▒
▒▒▒▒░ ▒▒
░▒▒▒▒▒░ ░▒░
░▒▒▒▒▒▒▒▒▒░
░░░░▒▒▒▒▒░
░░
WM_WINDOW_ROLE(STRING) = "pop-up"
WM_CLASS(STRING) = "web.whatsapp.com", "chromium"
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_PID(CARDINAL) = 6987
WM_LOCALE_NAME(STRING) = "en_US.utf8"
WM_CLIENT_MACHINE(STRING) = "ziga-laptop"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING
Skype:
_NET_WM_DESKTOP(CARDINAL) = 1
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_USER_TIME(CARDINAL) = 6297395
WM_NORMAL_HINTS(WM_SIZE_HINTS):
program specified location: 962, 18
WM_NAME(UTF8_STRING) = "Skype"
_NET_WM_NAME(UTF8_STRING) = "Skype"
XdndAware(ATOM) = BITMAP
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x2, 0x0, 0x1, 0x0, 0x0
_NET_WM_ICON(CARDINAL) = Icon (64 x 64):
░░▒▒▒▒▒▒▒▒▒▒░░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░
░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░ ░░░░░░░░░░░░░░░░░░░░░
░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░░░░░░░░░░░
░░░░░░▒▒▒▒▒▒▒▒▒▒▒▒▒░ ░░░░ ░░░░░░░░░░░░░░░░░░░
░░░░░░░▒▒▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░
░░░░░░░░▒▒▒▒▒▒▒▒▒░ ░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░
░░░░░░░░░▒▒▒▒▒▒▒▒▒ ░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░
░░░░░░░░░░▒▒▒▒▒▒▒ ░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░
░░░░░░░░░░▒▒▒▒▒▒▒ ░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░
░░░░░░░░░░░▒▒▒▒▒░ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░
░░░░░░░░░░░▒▒▒▒▒ ░░░░░░░░░░░░░░░░░░░░ ░░░░░░
░░░░░░░░░░░░▒▒▒▒ ░░░░░░░░░░░░░░░░░░░░ ░
░░░░░░░░░░░░░▒▒░ ░░░░░░░░░░░░░░░░░░░░░░
░░░░░░░░░░░░░▒▒░ ░░░░░░░░░░░░░░░░░░░░░░ ░
░░░░░░░░░░░░░░▒░ ░░░░░░░░░░░░░░░░░░░░░░ ░
░░░░░░░░░░░░░░▒░ ░░░░░░░░░░░░░░░░░░░░░░ ░
░░░░░░░░░░░░░░░▒ ░░░░░░░░░░░░░░░░░░░░ ░░
░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ░░
░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░░░ ░░░
░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░ ░░░
░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░░░░░ ░ ░░░░
░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░░░ ░░░░
░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░░ ░ ░░░░
░░░░░░░░░░░░░░░░░░░░ ░░░░ ░░ ░░░░░
░░░░░░░░░░░░░░░░░░░░ ░░ ░░░░░
░░░░░░░░░░░░░░░░░░░░░░ ░░░ ░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░
░░░░░░░░░░░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░░░░ ░░░░░░░░░
░░░░░░░░░░░░░ ░░░░░░░░░
░░░░░░░░░░░ ░░░░░░░░
░░░░░░░░░░░░░
WM_WINDOW_ROLE(STRING) = "pop-up"
WM_CLASS(STRING) = "web.skype.com__en", "chromium"
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_NET_WM_PID(CARDINAL) = 6987
WM_LOCALE_NAME(STRING) = "en_US.utf8"
WM_CLIENT_MACHINE(STRING) = "ziga-laptop"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, _NET_WM_PING
Viber:
WM_STATE(WM_STATE):
window state: Normal
icon window: 0x0
_NET_WM_DESKTOP(CARDINAL) = 1
_NET_WM_ICON(CARDINAL) =
XdndAware(ATOM) = BITMAP
WM_NAME(STRING) = "Viber +38631790976"
_NET_WM_NAME(UTF8_STRING) = "Viber +38631790976"
_MOTIF_WM_HINTS(_MOTIF_WM_HINTS) = 0x3, 0x3e, 0x7e, 0x0, 0x0
_NET_WM_WINDOW_TYPE(ATOM) = _NET_WM_WINDOW_TYPE_NORMAL
_XEMBED_INFO(_XEMBED_INFO) = 0x0, 0x1
WM_CLIENT_LEADER(WINDOW): window id # 0x800008
WM_HINTS(WM_HINTS):
Client accepts input or input focus: True
Initial state is Normal State.
_NET_WM_PID(CARDINAL) = 28603
WM_CLASS(STRING) = "Viber", "ViberPC"
WM_PROTOCOLS(ATOM): protocols WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING
WM_NORMAL_HINTS(WM_SIZE_HINTS):
user specified location: -1, 20
user specified size: 1921 by 1036
program specified minimum size: 785 by 550
window gravity: Static
Can anyone help me on how to check if these instances are already running?
Aucun commentaire:
Enregistrer un commentaire