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

    raylib (Wikipedie), tj. multiplatformní open-source knihovna pro vývoj grafických aplikací a her, byla vydána ve verzi 6.0.

    Ladislav Hagara | Komentářů: 0
    24.4. 18:33 | IT novinky

    Nové verze AI modelů. Společnost OpenAI představila GPT‑5.5. Společnost DeepSeek představila DeepSeek V4.

    Ladislav Hagara | Komentářů: 0
    24.4. 15:33 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 164 (pdf) a Hello World 29 (pdf).

    Ladislav Hagara | Komentářů: 0
    24.4. 04:44 | Komunita

    Bylo oznámeno, že webový prohlížeč Opera GX zaměřený na hráče počítačových her je už také na Flathubu and Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    23.4. 23:11 | IT novinky

    Akcionáři americké mediální společnosti Warner Bros. Discovery dnes schválili převzetí firmy konkurentem Paramount Skydance za zhruba 110 miliard dolarů (téměř 2,3 bilionu Kč). Firmy se na spojení dohodly v únoru. O část společnosti Warner Bros. Discovery dříve usilovala rovněž streamovací platforma Netflix, se svou nabídkou však neuspěla. Transakci ještě budou schvalovat regulační orgány, a to nejen ve Spojených státech, ale také

    … více »
    Ladislav Hagara | Komentářů: 0
    23.4. 22:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 26.04 LTS Resolute Raccoon. Přehled novinek v poznámkách k vydání. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 11. vydání s dlouhodobou podporou (LTS).

    Ladislav Hagara | Komentářů: 2
    23.4. 11:55 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Gitea (Wikipedie) byla vydána v nové verzi 1.26.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    23.4. 04:44 | Pozvánky

    Ve středu 29. dubna 2026 se v pražské kanceláři SUSE v Karlíně uskuteční 7. Mobile Linux Hackday, komunitní setkání zaměřené na Linux na mobilních zařízeních, kernelový vývoj i uživatelský prostor. Akce proběhne od 10:00 do večerních hodin. Hackday je určen všem zájemcům o praktickou práci s Linuxem na telefonech. Zaměří se na vývoj aplikací v userspace, například bankovní aplikace, zpracování obrazu z kamery nebo práci s NFC, i na úpravy

    … více »
    lkocman | Komentářů: 1
    22.4. 21:55 | Nová verze

    LilyPond (Wikipedie) , tj. multiplatformní svobodný software určený pro sazbu notových zápisů, byl vydán ve verzi 2.26.0. Přehled novinek v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    22.4. 20:33 | Nová verze

    Byla vydána nová verze 11.0.0 otevřeného emulátoru procesorů a virtualizačního nástroje QEMU (Wikipedie). Přispělo 237 vývojářů. Provedeno bylo více než 2 500 commitů. Přehled úprav a nových vlastností v seznamu změn.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (3%)
     (6%)
     (2%)
     (15%)
     (25%)
    Celkem 1416 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: Screenshot neaktivního okna v X

    13.12.2010 01:37 Jaroslav Polakovič
    Screenshot neaktivního okna v X
    Přečteno: 397×
    Zdravím,

    mám tu úkol pro opravdové fajnšmekry. :)

    Řekněme, že mám k dispozici trusted java applet, takže můžu spouštět příkazy operačního systému a přes JNA používat i systémové API, a potřebuju udělat screenshot neaktivního (!) okna, u kterého však lze předpokládat, že žádnou svou částí "neleze pryč z obrazovky", není minimalizované a nachází se na aktivní ploše. Ve Windows toho lze dosáhnout přes Win32 API.

    Ovšem Unix-based systémům příliš nerozumím, takže jsem naivně zkusil spustit xwd s parametrem ID rovnajícím se ID okna, které potřebuji sejmout. Výstupem sice je správný výřez obrazovky o velikosti žádaného okna, ovšem na obrázku jsou zachycena okna, která se nacházejí nad tím, které mě zajímá. To samé při přímém využití fce XGetImage z knihovny XLib. Jakékoli nastavení backing store v tomto případě nic moc neřeší.

    Samozřejmě je možné programově přesunout žádané okno nad ostatní, udělat screenshot, a zase vše vrátit do původního stavu, já bych ovšem rád celou věc vyřešil bez toho - ideálně, aby se vše dělo na pozadí.

    A zde právě uvítám geniální nápad. Vlastně jakýkoli nápad, protože já jsem ztracen.

    Požadavkem je multiplatformnost (ideálně funkční na všech rozšířených distrech i na OSX) a co nejmenší nárok za cílového uživatele. Ideálně jediná věc, která by jej měla obtěžovat, je popup "Ano / Ne" při povolování práv appletu. Při samotném snímání screenshotu by ideálně měl uživatel mít možnost normálně se systémem pracovat, být jen minimálně omezen (např. je v pořádku nutnost zůstat celou dobu na jedné ploše).

    Velice vám děkuji za všechny nápady!

    Řešení dotazu:


    Odpovědi

    14.12.2010 23:28 Mips
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Tohle je opravdu hodně speciální požadavek. Velmi pochybuji, že to lze udělat jen s pomocí Java API. Nejdřív bych se asi zeptal v linuxové či unixové poradně, zda na to vůbec existuje nativní API. V případě, že existuje, nabízí se použití JNI.
    14.12.2010 23:41 Dero
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Děkuji za odpověď.

    Od položení dotazu jsem se trochu posunul. Experimentálně jsem zjistil, že nástroj import z kolekce ImageMagick takový screenshot vytvořit dokáže, takže se blíže podívám na zdrojové kódy a nechám se inspirovat.

    A ano, dalším krokem je použití JNI pro přístup k nativnímu API napříč platformami. Jen pro zajímavost uvádím, že toho lze dosáhnout nejen na Xkách, ale i ve Windows a dokonce zřejmě i v nových verzích OS X (Leopard a Snow Leopard).
    15.12.2010 08:07 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Nedávno jsem řešil podobný problém - potřeboval jsem se podívat na obsah okna na vzdáleném počítači, kde byl spuštěný screensaver (zamknutá session). Obávám se, že to nějak jednoduše nepůjde, protože X server nemá nikde vyrenderované bitmapy částí oken, které nejsou v danou chvíli vidět. Kdyby je totiž měl, nebylo by při odkrytí části okna nutné generovat event pro příslušný proces, aby ji překreslil; zkuste např. odkrýt část okna programu, který je v daném okamžiku zastavený (stav T) - odkrytá část se nevykreslí, dokud proces opět nerozběhnete. Možná by to ale šlo obejít tím, že by se okno dočasně přesunulo nahoru, udělal se screenshot a pak by se zase vrátilo zpátky (pokud to jde).
    15.12.2010 11:30 Dero
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Také děkuji za odpověď.

    Zajímavé však je, že nástroj import z kolekce ImageMagick dokáže udělat screenshot okna, které je částečně nebo úplně zakryté jiným oknem. Pravda, se zamknutou session nebo s oknem na jiné ploše / mimo obrazovku, si také neporadí. To mně ale nevadí. Jak jsem psal výše, musím blíž prozkoumat zdrojáky importu.
    15.12.2010 11:59 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    On ho sice udělá, ale kdykoli jsem to zkoušel, tak zakrytá část okna byla na screenshotu černá (nebo vyplněná jinou barvou pozadí). Což by odpovídalo tomu, co jsem psal výše.
    15.12.2010 12:08 Dero
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Zkoušel jsem před pár dny nejnovější verzi importu na Ubuntu a screenshot okna obsahuje i ty části, které jsou zakryté jinými okny. To třeba XWD nedokáže. A ne, obrazovka neproblikne, nedochází k přesunutí okna na nejvyšší úroveň a rychlému vyfocení.

    Rozjedu ještě nějakou další distribuci ve VM, abych to otestoval, ale rád bych doufal, že to je opravdu novou verzí nástroje, nikoli nastavením distribuce. Ačkoli chápu, že s přihlédnutím k principu fungování X je to podivné.
    15.12.2010 15:14 l4m4
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Jestli se to taky nechová jinak, když ti jede compositing...
    15.12.2010 15:28 l4m4
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Taky jsem si tu diskusi mohl nejdřív dočíst celou...
    Řešení 1× (Dero)
    15.12.2010 12:16 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Je potřeba mít okno přesměrované do pixmapy - buď musí běžet kompozitní manažer, nebo XCompositeRedirectWindow().
    15.12.2010 12:45 Dero
    Rozbalit Rozbalit vše Re: Screenshot neaktivního okna v X
    Tohle je přesně to nasměrování, které jsem potřeboval. Označuji jako řešení a děkuji všem diskutujícím.

    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.