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 05:00 | Nová verze

Byla vydána verze 0.5.0 operačního systému Redox OS (Wikipedie). Jedná se o mikrokernelový unixový operační systém naprogramovaný v programovacím jazyce Rust. Zdrojové kódy jsou k dispozici na GitLabu pod licencí MIT.

Ladislav Hagara | Komentářů: 0
včera 22:55 | Zajímavý článek

V bitmapových obrázcích bývají často ukrytá užitečná data, která jsou ovšem běžně nepřístupná. V článku Full-textové prohledávání komiksů a jiných obrázků (dostupné přes Tor) autor prakticky ukazuje, jak si postahovat komiksy a rozpoznat v nich text pomocí OCR nástroje Tesseract. Následně Ghostscriptem vkládá všechny komiksy do jednoho velkého PDF, ve kterém jde vyhledávat text (který byl původně jen shlukem grafických bodů v bitmapách). Uvedený postup lze použít i k užitečnějším věcem, jako např. indexování nestrukturovaných dat na disku.

Monika Kokešová | Komentářů: 12
včera 22:44 | Pozvánky

17. až 19. května se uskuteční další ročník putovní konference české a slovenské Drupal komunity - tentokrát v Hustopečích na Moravě. Bude se věnovat nejnovějším trendům v Drupalu, ale i v postupech a nástrojích pro vývoj a správu webových aplikací. Můžete se těšit na odborné přednášky, workshopy, neformální debaty i přehlídku nejzajímavějších projektů. Podrobnosti a vstupenky najdete na drupalcs.camp.

Eva Rázgová | Komentářů: 0
včera 22:22 | Nová verze

Byla vydána verze 4.0 textového editoru GNU nano (Wikipedie). Podrobný přehled novinek a oprav v oznámení v diskusním listu info-nano nebo v souboru ChangeLog na Savannah.

Ladislav Hagara | Komentářů: 0
23.3. 17:11 | Komunita

Na konferenci herních vývojářů GDC 2019 (Game Developers Conference) měla svůj stánek i společnost Red Hat. Návštěvníci si mohli zahrát počítačové hry na Fedoře 29 s Cinnamonem a Lutrisem.

Ladislav Hagara | Komentářů: 1
23.3. 15:33 | Komunita

O víkendu probíhá v Cambridgi (MA) konference LibrePlanet 2019 organizovaná Nadací pro svobodný software (FSF). Na programu je řada zajímavých přednášek. Sledovat je lze také online.

Ladislav Hagara | Komentářů: 2
22.3. 21:33 | Humor

Richard M. Stallman v článku Install Fests: What to Do about the Deal with the Devil navrhuje, jak se vypořádat s morálním dilematem, zda na „installfestech“ (akcích, kde zkušení uživatelé pomáhají nováčkům nainstalovat GNU/Linux na přinesený hardware) instalovat také nesvobodný software, typicky ovladače. Vzdělávací přístup je „škola hrou“, kdy instalace právě nesvobodného softwaru provádí postava „Ďábla“.

Fluttershy, yay! | Komentářů: 11
22.3. 14:44 | Komunita

Dalších sedm produktů od společnosti ThinkPenguin získalo certifikaci RYF (Respects Your Freedom, Respektuje vaši svobodu) udělovanou Nadací pro svobodný software (FSF). Poprvé získal certifikaci USB mikrofon, konkrétně TPE-USBMIC. Certifikace RYF byla představena v říjnu 2012.

Ladislav Hagara | Komentářů: 0
22.3. 13:33 | Komunita

Na Humble Bundle lze získat počítačovou hru Tacoma (YouTube, Wikipedie) běžící také v Linuxu zdarma. Speciální akce končí v neděli v 18:00.

Ladislav Hagara | Komentářů: 0
22.3. 11:11 | Zajímavý projekt

Na Kickstarteru byla spuštěna kampaň na podporu zařízení NexDock 2. Jedná se o přenosnou dokovací stanici aneb notebook bez procesoru a paměti. Stačí připojit podporovaný telefon s Androidem nebo Raspberry Pi.

Ladislav Hagara | Komentářů: 0
Kolik balíčků (v tisících) máte nainstalovaných na svém systému?
 (4%)
 (14%)
 (33%)
 (30%)
 (20%)
 (3%)
 (2%)
 (1%)
 (2%)
Celkem 241 hlasů
 Komentářů: 23, poslední včera 17:36
Rozcestník

Dotaz: screenshoty s kurzorom mysi

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