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 17:22 | IT novinky

    Včera skončila bezpečnostní konference Black Hat USA 2022 (Twitter) a začala bezpečnostní konference DEF CON 30 (Twitter). V rámci Black Hat byly vyhlášeny výsledky letošní Pwnie Awards (Twitter). Pwnie Awards oceňují to nejlepší, ale i to nejhorší z IT bezpečnosti (bezpečnostní Oscar a Malina v jednom).

    Ladislav Hagara | Komentářů: 0
    dnes 15:00 | Nová verze

    Vývojáři PostgreSQL oznámili vydání verzí 14.5, 13.8, 12.12, 11.17, 10.22 a 15 Beta 3. Opraveno je více než 40 chyb a také zranitelnost CVE-2022-2625. Upstream podpora verze 10 končí 10. listopadu letošního roku.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    Byla vydána verze 1.63.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 8
    včera 17:55 | Nová verze

    Bylo vydáno Ubuntu 22.04.1 LTS, tj. první opravné vydání Ubuntu 22.04 LTS s kódovým názvem Jammy Jellyfish.

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

    Microsoft Fluent Emoji jsou nově k dispozici na GitHubu pod licencí MIT. Více v článku na Medium.

    Ladislav Hagara | Komentářů: 13
    včera 00:22 | IT novinky

    O víkendu proběhla v Kolíně nad Rýnem demopárty Evoke 2022. Publikována byla prezentovaná dema. Upozornit lze na Area 5150 (YouTube) běžící na IBM PC s procesorem Intel 8088 běžícím na 4,77 MHz a CGA.

    Ladislav Hagara | Komentářů: 1
    10.8. 19:55 | Zajímavý software

    smenu, nástroj pro příkazový řádek pro generování možností a potvrzení výběru, dospěl do verze 1.0.0.

    Ladislav Hagara | Komentářů: 0
    10.8. 19:11 | Bezpečnostní upozornění

    Byla potvrzena zranitelnost CVE-2021-46778 aneb SQUIP (Scheduler Queue Usage via Interference Probing) v procesorech AMD s mikroarchitekturou Zen 1, Zen 2 a Zen 3. Detaily v publikovaném paperu.

    Ladislav Hagara | Komentářů: 0
    10.8. 13:33 | Nová verze

    Turris OS, operační systém pro síťová zařízení Turris postavený na OpenWrt, byl vydán v nové verzi 5.4. Přehled novinek a diskuse v diskusním fóru.

    Ladislav Hagara | Komentářů: 2
    10.8. 13:11 | Nová verze

    Byla vydána nová stabilní verze 5.4 (aktuálně 5.4.2753.28) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 104.0.5112.83. Přehled novinek v příspěvku na blogu. Vivaldi Mail byl povýšen na verzi 1.1.

    Ladislav Hagara | Komentářů: 0
    Audioknihy ve srovnání s knihami tištěnými (papírovými nebo elektronickými) poslouchám
     (34%)
     (3%)
     (6%)
     (56%)
    Celkem 190 hlasů
     Komentářů: 1, poslední 8.8. 21:17
    Rozcestník


    Dotaz: screenshoty s kurzorom mysi

    31.12.2003 14:55 jose
    screenshoty s kurzorom mysi
    Přečteno: 137×
    neviete o nejakom sposobe ako zachytit obsah X window spolu s kurzorom mysi? import z ImageMagick to nejak nezvlada a nic ine nepoznam.

    diky.

    -- jose

    Odpovědi

    31.12.2003 17:08 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    IMHO to nejde. Tedy, samozřejmě že všechno jde... Nicméně všechny programy, co dělají screenshoty v X11 (např. xwd, imagemagick), i všechny funkce v toolkitech (typu gdk_pixbuf_get_from_drawable()) nakonce používají XGetImage(3x). Tím žádný obraz kursoru nezískáš, protože to je prakticky obsah X okna, kursor myši je ovšem speciální entita, která není součást okna. Takže snad jedině dodělat tam ten kursor dodatečně. Zjistit polohu kursoru je poměrně snadné (protože jsem Gtkista, dělal bych to přes gdk_display_get_pointer(), ale je na to nějaké volání přímo Xlib). Horší je zjistit, jak kursor vypadá. Mně to přijde, že kursor je z hlediska Xlib dost write-only, a že jediný způsob, jak zjistit, jak vypadá (bez nějakého hackování X), je nastavit, jak má vypadat -- což je ale pro screenshoty dost blbá metoda... Takže pokud nechceš dělat screenshoty s kursorem nějak masově, asi je nejjednodušší vzít v Gimpu pixmapu s obrázkem kursoru a plácnout ji na ten screenshot, kde ji chceš mít. Při nějakém masovém zpracování by šlo tohle: pixmapu s kursorem si musíš bohužel definovat, jaká se tam má přidat. Potom spustíš xwd, které udělá screenshot, a prográmek, který vypíše souřadnice kursoru (mohu dodat), imagemagickem pak připlácneš ten kursor na screenshot tam, kam patří. To celé v nějakém skriptu, aby se to dělo samo.
    1.1.2004 12:24 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    ten programek bych samozrejme bral. ak to pojde plz hod mi sem link. diky. -- jose
    1.1.2004 12:34 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    To snad nestojí za to linkovat ;-)
    #include <stdio.h>
    #include <glib.h>
    #include <gdk/gdkdisplay.h>
    int
    main(int argc, char *argv[])
    {
      gint x, y;
      GdkDisplay *display;
      gdk_init(&argc, &argv);
      display = gdk_display_get_default();
      gdk_display_get_pointer(display, NULL, &x, &y, NULL);
      printf("x = %d, y = %d\n", x, y);
      return 0;
    }
    
    kompilace:

    gcc `pkg-config gdk-2.0 --cflags` `pkg-config gdk-2.0 --libs` xcursorpos.c -o xcursorpos

    2.1.2004 00:21 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    diky, no nemohol by si sem predsalen hodit link na binarku? nedari sa mi to skompilovat (Package gdk-2.0 was not found in the pkg-config search path.) a nechcem si kvoli tomu moc rozmrvit system. -- jose
    2.1.2004 00:52 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    To je poměrně zbytečné, protože buď máš Gtk+-2.x, a pak si k němu doinstaluj -devel balíček standardní cestou (nebo ho máš, ale bůhvíkde, např. v /usr/local a pak si nastav PKG_CONFIG_PATH; resp. tomu nacpi do chřtánu cesty k hlavičkovým souborům a knihovnám ručně, bez pkg-configu), nebo ho nemáš, a pak ti binárka stejně nepojede. Mohl bych to napsat bez Gdk, jen s Xlib, ale musel bych k tomu číst dokumentaci, a to se mi nechce ;-)
    2.1.2004 01:08 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi

    Ta správná funkce Xlib je XQueryPointer, vypadalo by to takhle:

    #include 
    #include 
    
    int main(int argc, char **argv)
    {
        Display *dpy;
        Window root;
        Window ret_root;
        Window ret_child;
        int root_x;
        int root_y;
        int win_x;
        int win_y;
        unsigned int mask;
    
        dpy = XOpenDisplay(NULL);
        root = XDefaultRootWindow(dpy);
    
          if(XQueryPointer(dpy, root, &ret_root, &ret_child,
              &root_x, &root_y, &win_x, &win_y, &mask))
            printf("%d,%d\n", root_x, root_y);
        return 0;
    }
    

    Kompilace:

    gcc -Wall -L/usr/X11R6/lib -lX11 xquerypointer.c -o \
     xquerypointer
    
    2.1.2004 01:12 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    Ty první dva řádky měly vypadat takhle :-)
    #include <stdio.h>
    #include <X11/Xlib.h>
    
    2.1.2004 01:13 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    Protože zjevně vidíš to Xlib víc než já, můžeš potvrdit, že získat vzhledu kursoru je problém? Nebo to nějak jde?
    2.1.2004 01:23 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    Já do Xlib v podstatě vůbec nevidím, jenom jsem jednou tohle potřeboval :-)
    2.1.2004 08:52 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    uz sa mi podarilo skompilovat ten povodny zdrojak (gtk+). mam nan zabudnut a skompilnut si radsej ten Xlibovsky? je to potom rychlejsie? -- jose
    2.1.2004 12:11 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    ;-) Připadá ti to snad pomalé? Řekl bych, že na normálním počítači je dostatečně rychlý i ten skript v Pythonu...
    2.1.2004 23:00 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    tak, vsetko vyriesili:

    Option "hwcursor" "false"
    Option "swcursor" "true"

    v XF86Config-4.

    diky a keby niekoho napadlo ako zistit vzhlad kurzoru (a defacto potom moct urobit screenshot bez pouzitia sw kurzoru), nech da vediet

    -- jose
    Stanislav Brabec avatar 2.1.2004 10:55 Stanislav Brabec | skóre: 45 | Praha
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    Nejjednodušší je vůbec se nezatěžovat s programováním a najít si kurzor ve zdrojácích (je to skoro xpm + xbm - nutno editorem vybrat ten pravý), pak z jednoho udělat v GIMPu obrázek a z druhého masku, a poté ho usadit na místo. Jednou jsem to už takhle dělal do seriálu o GIMPu (i když, pravda, ten kurzor byl ze zdrojáků GIMPu). U kurzorových témat v 4.3.0 se to asi bude dělat jinak, ale asi ne o moc složitěji (viz /usr/X11R6/lib/X11/icons).
    2.1.2004 11:54 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    akurat problem je, ze vzhlad kurzoru sa casto meni podla umiestnenia (nad textom, nad okrajom okna..) -- jose
    2.1.2004 12:26 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    To jsem psal na začátku, že získat aktuální vzhled kursoru je dost problém, takže pokud nějaký X hacker neprozradí, jak to udělat, tak si holt musíš ty vybrat, jaký kursor tam má být.
    2.1.2004 01:52 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    No a jestli vůbec necheš kompilovat :-), tak:
    python -c 'import Xlib.display; \
      v = Xlib.display.Display().screen().\
      root.query_pointer(); \  
      print "%d,%d"%(v.win_x,v.win_x);'
    
    2.1.2004 02:44 unchallenger | skóre: 69 | blog: unchallenger
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    Teď je ještě otázka, kde vzít ty kursory a jejich hotspoty (nutné kvůli správnému umístění), smíříme-li se s tím, že si budeme muset nějaký vybrat ručně. Donedávna to bylo celkem jednoduché -- v X byly pouze jedny kursory myši. Jsou ve fontu corsor.pfa resp. cursor.pcf, který každý má ... nicméně i s hotspoty se asi nejsnáz získají ze souboru xcursors.h ve zdrojácích Gtk+, ten stačí #includnout a je to, většinu práce už udělal někdo za mě, navíc to budu mít built-in v programu a nebude to na ničem záviset. Ovšem dnes jsou kursory v X témovatelné a např. RedHat má Bluecurve, tj. jiné kursory než zbytek světa ... takže asi využít knihovnu Xcursor(3), která k tomu je. Kdyby se to někomu chtělo naprogramovat, aby člověk jen zadal třeba "cross" a našel se ten, co je skutečně zobrazen jako/namísto XC_cross, tak by to bylo pěkné a stálo za zveřejnění... skriptík, kterému zadám jméno kursoru a on udělá screenshot i s kusrorem by pak byla hračka.
    2.1.2004 10:15 Aleš Hakl | skóre: 8
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    to co chcete by resilo mit Xka bezici ve framebufferu a nasledne program fbget - ale "Xka bezici ve framebufferu" je myslim dost omezujici podminka, takze se smirte s tim ze to rozumne nejde
    3.1.2004 10:02 Tomáš Pelc | skóre: 22 | blog: multimedialni_pc_k_LCD_TV
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    A co takhle použít VNC. Tuším, že jsem teď někde četl o tom, že to kdosi udělal, včetně ukládání do FLASHe (jako celou animaci).
    3.1.2004 12:26 jose
    Rozbalit Rozbalit vše screenshoty s kurzorom mysi
    o to som uvazoval v prvom rade, ale flash nejde nic moc upravovat (aspon teda v linuxe) a tiez si myslim, ze to nebude asi moc rychle.. -- jose

    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.