abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

včera 13:33 | Pozvánky

Byly stanoveny termíny konferencí LinuxDays 2017 a OpenAlt 2017. Letošní LinuxDays proběhne o víkendu 7. a 8. října v Praze v Dejvicích v prostorách FIT ČVUT. Letošní OpenAlt proběhne o víkendu 4. a 5. listopadu na FIT VUT v Brně.

Ladislav Hagara | Komentářů: 0
včera 11:11 | Komunita

Jiří Eischmann z desktopového týmu Red Hatu se v příspěvku Linuxový desktop: Co vám chybí na svém blogu ptá, co uživatele na Fedora Workstation a na linuxovém desktopu obecně trápí a co by desktopový tým mohl zlepšit. Pokud máte nějaké podněty, napište mu je do komentářů.

Ladislav Hagara | Komentářů: 44
včera 03:33 | Nová verze

Byla vydána nová verze 0.25.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Z novinek lze zmínit například podporu DVB-T2. Další části mpv byly přelicencovány z GPLv2 nebo novější na LGPLv2.1 nebo novější (#2033).

Ladislav Hagara | Komentářů: 0
včera 02:22 | Zajímavý projekt

Na Bundle Stars byla spuštěna akce Dollar Forever Bundle. Za 1 dolar lze získat 24 počítačových her bežících na platformě Steam také v Linuxu.

Ladislav Hagara | Komentářů: 2
24.4. 23:44 | Zajímavý software

Lychee je jedním z open source softwarů pro tvorbu webových fotoalb. Vyžadováno je PHP 5.5 nebo novější a MySQL. Ukázka na stránkách projektu. Zdrojové kódy jsou k dispozici na GitHubu pod open source licencí MIT [reddit].

Ladislav Hagara | Komentářů: 5
24.4. 22:22 | Zajímavý software

Společnosti Haivision a Wowza společně oznámily vznik SRT Alliance a otevření protokolu pro streamování videa SRT. Podrobnosti v FAQ. Zdrojové kódy SRT jsou k dispozici na GitHubu pod open source licencí LGPLv2.1.

Ladislav Hagara | Komentářů: 0
24.4. 12:33 | Humor

Byl vydán remake filmu Ghost in the Shell. Tentokrát v Bashi. Zhlédnout lze online na "ssh ghost@theshell.xyz" [Hacker News].

Ladislav Hagara | Komentářů: 16
23.4. 20:40 | Zajímavý článek

Lukáš Růžička v článku S Hydrogenem za lepší rytmus aneb bubeníkem snadno a rychle na MojeFedora.cz představuje automatického bubeníka s názvem Hydrogen (Wikipedie): Hydrogen je velmi vydařený program, který rozhodně nesmí chybět ve výbavě žádného linuxového muzikanta. Umožňuje nejen vytváření jednoduchých bicích doprovodů, ale také sofistikované programování bicích a perkusí, jehož výsledek se naprosto vyrovná drahým

… více »
Ladislav Hagara | Komentářů: 17
23.4. 13:55 | Zajímavý projekt

UPSat (Twitter) je první open source nanodružice (CubeSat). Jedná se o společný projekt nadace Libre Space Foundation a University of Patras. Repozitáře projektu jsou k dispozici na GitHubu. Pod Libre Space Foundation patří také projekt SatNOGS (zprávička), projekt globální sítě open source pozemních satelitních stanic, vítězný projekt soutěže The Hackaday Prize 2014. UPSat je součástí mise QB50 (Twitter). ID UPSatu je GR02. GPS přijímač na UPSatu je od české společnosti SkyFox Labs. Součástí mise QB50 je i česká nanodružice VZLUSAT-1 s ID CZ02.

Ladislav Hagara | Komentářů: 5
21.4. 15:00 | Komunita

V diskusním listu Thunderbird planning vývojáři poštovního klienta Thunderbird řeší, zda by nebylo možné budoucí Thunderbird postavit nad webovými technologiemi, tj. nad Electronem, stejně jako například Nylas Mail. Gecko, nad kterým je Thunderbird postaven, se má hodně změnit. V plánu je odstranění vlastností, které Firefox už nepotřebuje, ale Thunderbird je na nich závislý [Hacker News, reddit].

Ladislav Hagara | Komentářů: 103
Chystáte se pořídit CPU AMD Ryzen?
 (4%)
 (34%)
 (0%)
 (7%)
 (45%)
 (9%)
Celkem 299 hlasů
 Komentářů: 36, poslední včera 23:55
    Rozcestník

    Dotaz: GTK socket

    28.7.2012 19:26 mika_hakkinen | skóre: 7 | olbramkostel
    GTK socket
    Přečteno: 302×

    Ahoj, potřeboval bych do mé aplikace vložit jinou aplikaci, třeba xterm. Píši v pythonu a používám GTK. GTK má na to metodu socket, pres kterou lze vlozit jinou aplikaci Na netu jsem našel spousty návodů jak to udělat. Problém je ten, že již do vytvořené aplikace, kde použivám gtk.DrawingArea, nemůžu použít gtk.Socket. Mám to napsané takhle:

     

    self.window = gtk.Window()

    socket = gtk.Socket()

    gtk.gdk.threads_init()

    self.window.resize(320,240)

    self.window.connect("delete_event", self.delete_event)

    self.window.connect("destroy", self.destroy)

    self.window.show_all() self.darea = gtk.DrawingArea()

    self.darea.connect("expose-event", self.menu_manager)

    self.window.add(self.darea) #zde je problem GtkWarning: Attempting to add a widget with type GtkSocket to a GtkWindow, but as a #GtkBin subclass a GtkWindow can only contain one widget at a time; it already contains a widget of type #GtkDrawingArea

    self.window.add(socket)

    self.window.show_all()

    xid = str(socket.get_id())

    print xid - pak nekde jinde zavolam xterm s parametrem xid a mel by se ukazat.

     

     

    pak kdyz zakomentuji radek, ktery prida DrawingArea, tak to funguje dobre. diky za tip

    Odpovědi

    28.7.2012 20:11 chrono
    Rozbalit Rozbalit vše Re: GTK socket
    A prečo majú byť na tom istom mieste dva elementy?
    29.7.2012 08:41 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    Pouzit dva elementy neni podminkou. Jen to nedokazi vymyslet tak, aby bud gtk.socket byl v gtk.drawingarea. nebo naopak. idealni by byl v gtk.drawingarea prostor pro vlozeni toho gtk.socket.

    diky za nakopnuti
    29.7.2012 14:33 l4m4
    Rozbalit Rozbalit vše Re: GTK socket
    GtkDrawingArea není kontejner, takže to nejde. Za chvíli bude někdo chtít strkat GtkSocket do scrollbarů...

    Buď použij kontejner, který bude obsahovat GtkDrawingArea a GtkSocket. Nebo namísto GtkDrawingArea použij GtkLayout.

    GtkDrawingArea je celkově takový widget na nic, oproti vytvoření nového jednoduchého widgetu se ušetří trochu kódu, u složitějšího se neušetří nic nebo nic, co by stálo za řeč.
    29.7.2012 20:31 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    Tak po dni badani jsem na nic neprisel. DrawingArea jsem nahradil za Layout. To bylo bez potizi. Ale jak vlozit do Gtk.Layout ten Gtk.socket nevim. Mam to napsane takhle:

    self.layout = gtk.Layout(None, None)

    self.layout.set_size(320,240)

    self.layout.put(self.socket,10,10)

    self.layout.put(self.darea,0,0)

    self.window.add(self.layout)

    a kdyz to spustim zadna chyba se neobjevi. A gtk.socket vypise XID, tak to jakoby funguje, ale nezobrazuje. Nekde jsem nasel, ze se prvne musi nastavit velikost, ale gtk.socket nic takoveho nema.

    uz tedy nevim
    29.7.2012 20:50 l4m4
    Rozbalit Rozbalit vše Re: GTK socket
    Nahradit je nahradit. Kreslit můžeš přímo na ten Layout.
    import gtk
    
    window = gtk.Window()
    window.connect('destroy', gtk.main_quit)
    gtk.gdk.threads_init()
    window.resize(320,240)
    layout = gtk.Layout()
    window.add(layout)
    
    socket = gtk.Socket()
    socket.set_size_request(200, 100)
    layout.put(socket, 40, 40)
    
    window.show_all()
    xid = str(socket.get_id())
    print(xid)
    
    gtk.main()
    
    Akorát mi v tom xtermu nefunguje vstup z klávesnice, a to ani když explicitně přidám key-press and key-release eventy a nastavím, že může mít keyboard focus. S tím nevím, co dělat, Socket/Plug jsem nikdy v praxi nepouži...
    30.7.2012 17:21 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    tak uz to funguje, pomohlo set_size_request.
    Pavel Stárek avatar 30.7.2012 11:38 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: GTK socket
    Nevím, školy nemám, ale asi takhle: http://faq.pygtk.org/index.py?req=show&file=faq19.015.htp Po spuštění xtermu, je potřeba zjistit jeho window id a to pak zadat tomu socketu.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    Pavel Stárek avatar 30.7.2012 11:40 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: GTK socket
    Á pardon, ten xterm a jeho window id se ti zřejmě vytváří. Takže má odpověď je zcela irelevantní :-)
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    2.8.2012 21:19 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    Jeste bych potreboval do toho gtk.socket pridat treba tlacitko. diky
    2.8.2012 21:31 chrono
    Rozbalit Rozbalit vše Re: GTK socket
    Prečo práve do toho objektu? Nemôže byť vedľa neho?
    3.8.2012 15:25 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    bohuzel to je design aplikace. Stacilo by, kdyby to mohl byt popup obrazek, ktery by byl uplne nad vsemi widgety. diky za tip
    3.8.2012 15:34 chrono
    Rozbalit Rozbalit vše Re: GTK socket
    Nenapadá mi zmysluplné využitie niečoho takého, každopádne môžeš vyskúšať dať GtkSocket a aj ten obrázok do GtkFixed.
    6.8.2012 20:07 mika_hakkinen | skóre: 7 | olbramkostel
    Rozbalit Rozbalit vše Re: GTK socket
    jeste bych potreboval poradit. Potreboval bych tem widgetum nastavit ruzne pruhlednost a prenaset je do popredi a pozadi. diky
    Josef Kufner avatar 7.8.2012 18:34 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: GTK socket
    Obsah socketu je samostatné okno a pokud ho chceš překrýt něčím v obalujícím okně, máš smůlu a bude to pod socketem. Na průhlednost a podobné vychytávky zapomeň (leda by jsi se chtěl patlat s xlib, ale to nechceš).

    Pokud můžeš upravit vestavovanou aplikaci, udělej z toho knihovnu a/nebo client-server architekturu.

    Pokud nemůžeš, tak dej svoje widgety vedle a nějak to zamaskuj.
    Hello world ! Segmentation fault (core dumped)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.