LINUX.ORG.RU

iDesk & Lxpanel (Нужна помощ в настройке !)


0

0

Доброго времени! Есть нетбук http://www.ecafe.hercules.com/thumb/?q=95&w=370&h=360&src=D:%5Cin... (прошу обратить внимание на интерфейс http://www.ecafe.hercules.com/uk/guide-pratique/telechargement-en-toute-secur... это правда скрин более старой версии но для обьяснения задуманного сгодиться. Слева расположена Lxpanel а ярлыки на столе это Idesk. При нажатии слева на панели ярлыков меняються и ярлыки на рабочем столе для соотв групы. Как это реализованно ? Либо чем сделать аналогичное разбиение на группы столов с разными ярлыками ?

P.S Начальник дал задание разобраться и в кратчайшие сроки реализовать самому :( ! Есть рабочий оригинал ! Плиз помогите советом !

Ответ на: комментарий от Jeepston

Путём долгих ковыряний был найден файл который отвечает за смену стола, называеться он как не странно change-idesk и написан на Python. Вопрос к товарищам программистам, как найти переменные на которые ссылаеться этот файл?

#!/usr/bin/python # # Program to change iDesk icon configuration. Run with one argument - the name of the domain #

import sys import os

# Change path so we find Xlib # sys.path.insert(1, os.path.join(sys.path[0], '..'))

from Xlib import X, Xatom, display, protocol

def dostuff(domain, bReloadBackground): d = display.Display() dest = d.screen().root sir = domain + "\0" * ( 20 - len(domain) ) MyAtom = d.intern_atom("RldIcnBkg")

cm_event = protocol.event.ClientMessage( window = dest, client_type = MyAtom, data = (8, sir))

dest.send_event(cm_event, X.StructureNotifyMask)

# if bReloadBackground == "1": # MyAtom2 = d.intern_atom("ReloadBackground") # cm_event2 = protocol.event.ClientMessage( # window = dest, # client_type = MyAtom2, # data = (8, sir)) # dest.send_event(cm_event2, X.StructureNotifyMask) d.flush()

if __name__ == '__main__': if len(sys.argv) == 3: if len(sys.argv[1]) > 20: print "domain name too long" else: dostuff(sys.argv[1], sys.argv[2]) else: print sys.argv[0], "<domain>", "<change background = 0 or 1>"

Storm_100rm
() автор топика

Тупо навесь на ярлычки категорий в LXPanel что-то вроде cat idesk.category > .idesk и перезапускай idesk.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.