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í
×
    dnes 01:55 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Zajímavý software

    TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.

    Ladislav Hagara | Komentářů: 5
    včera 12:22 | IT novinky

    Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.

    Ladislav Hagara | Komentářů: 8
    včera 03:44 | Komunita

    Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.

    Ladislav Hagara | Komentářů: 3
    včera 01:22 | IT novinky

    Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).

    Ladislav Hagara | Komentářů: 6
    včera 00:22 | Nová verze

    Byla vydána grafická knihovna Mesa 26.0.1 s podporou API OpenGL 4.6 a Vulkan 1.4. Je to první stabilní verze po 26.0.0, kde se novinky týkají mj. výkonu ray tracingu na GPU AMD a HoneyKrisp, implementace API Vulkan pro macOS.

    |🇵🇸 | Komentářů: 0
    25.2. 20:22 | Nová verze

    Byla vydána nová verze 4.6 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    25.2. 18:00 | Nová verze

    Byla vydána nová verze 3.23.0 FreeRDP, tj. svobodné implementace protokolu RDP (Remote Desktop Protocol). Opravuje 11 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    25.2. 17:44 | Zajímavý článek

    Španělský softwarový inženýr oznámil, že se mu podařilo na dálku ovládat sedm tisíc robotických vysavačů po celém světě. Upozornil tak na slabé kybernetické zabezpečení těchto technologií a jejich možné a snadné zneužití. Nesnažil se hacknout všechny robotické vysavače po světě, ale pouze propojil svůj nový DJI Romo vysavač se zařízením Playstation. Aplikace podle něj ihned začala komunikovat se všemi sedmi tisíci spotřebiči a on je

    … více »
    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (6%)
     (0%)
     (11%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 966 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: GTK socket

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

    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: 70
    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.