abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 2
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 5
    včera 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    28.4. 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    28.4. 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 883 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: screenshoty s kurzorom mysi

    31.12.2003 14:55 jose
    screenshoty s kurzorom mysi
    Přečteno: 148×
    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.