kekekeks / skypetab-ng

A program that adds tabs to Skype™ for Linux
skypetab-ng
GNU Lesser General Public License v3.0
76 stars 4 forks source link

SkypeTab and single-instance #42

Closed freeq closed 12 years ago

freeq commented 12 years ago

Skypetab-ng not cooperate with script for skype-single-instance.

!/usr/bin/env python

import dbus import sys import os

try:

Try and set skype window to normal

remote_bus = dbus.SessionBus()
out_connection = remote_bus.get_object('com.Skype.API', '/com/Skype')
out_connection.Invoke('NAME mySkypeController')
out_connection.Invoke('PROTOCOL 5')
#out_connection.Invoke('SET WINDOWSTATE MAXIMIZED')
out_connection.Invoke('SET WINDOWSTATE NORMAL')
out_connection.Invoke('FOCUS')

except: os.system("skypetab-ng") sys.exit()

I change os.system("skype") to os.system("skypetab-ng") and now is working in half thats mean i have only single instance but after minimized to systray and click on icon at unity panel windows does not appear. Anyone know how to deal with it why skypetab dont use api to set windowstate normal and focused?

I try to strace that and output looks like this:

) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\7\0\0\0\227\0\0\0/\0\0\0\6\1s\0\6\0\0\0:1.763\0\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 71 recvmsg(3, 0x7ffff54ec180, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable) sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\17\0\0\0\5\0\0\0?\0\0\0\1\1o\0\n\0\0\0/com/Sky"..., 80}, {"\n\0\0\0PROTOCOL 5\0", 15}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 95 poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\17\0\0\0\230\0\0\0/\0\0\0\6\1s\0\6\0\0\0:1.763\0\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 79 recvmsg(3, 0x7ffff54ec720, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable) sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\33\0\0\0\6\0\0\0?\0\0\0\1\1o\0\n\0\0\0/com/Sky"..., 80}, {"\26\0\0\0SET WINDOWSTATE NORMAL\0", 27}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 107 poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\27\0\0\0\231\0\0\0/\0\0\0\6\1s\0\6\0\0\0:1.763\0\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 87 recvmsg(3, 0x7ffff54ec720, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable) sendmsg(3, {msg_name(0)=NULL, msg_iov(2)=[{"l\1\0\1\n\0\0\0\7\0\0\0?\0\0\0\1\1o\0\n\0\0\0/com/Sky"..., 80}, {"\5\0\0\0FOCUS\0", 10}], msg_controllen=0, msg_flags=0}, MSG_NOSIGNAL) = 90 poll([{fd=3, events=POLLIN}], 1, 25000) = 1 ([{fd=3, revents=POLLIN}]) recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"l\2\1\1\7\0\0\0\232\0\0\0/\0\0\0\6\1s\0\6\0\0\0:1.763\0\0"..., 2048}], msg_controllen=0, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 71 recvmsg(3, 0x7ffff54ec720, MSG_CMSG_CLOEXEC) = -1 EAGAIN (Resource temporarily unavailable) rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER, 0x7fb6a6960060}, {0x4f13d0, [], SA_RESTORER, 0x7fb6a6960060}, 8) = 0

kekekeks commented 12 years ago

Just get rid of that script and use "Activate previous instance" in SkypeTab's settings (systray menu->SkypeTab->Settings).

freeq commented 12 years ago

Thanks for fast respond I'm overlooked this option. BIG THX!!!