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 23:44 | IT novinky

    Na Epic Games Storu lze do 15. června získat zdarma počítačovou hru PAYDAY 2 (ProtonDB, Wikipedie). Linuxový port přestal být ve čtvrtek 8. června podporován.

    Ladislav Hagara | Komentářů: 2
    včera 16:55 | Humor

    Ezoterický programovací jazyk Brainfuck (Wikipedie) slaví 30 let. Urban Müller nahrál první implementaci tohoto jazyka na Aminet 9. června 1993.

    Ladislav Hagara | Komentářů: 3
    včera 16:22 | Komunita

    Společnost Apple na konferenci WWDC23 představila Game Porting Toolkit. Společnost CodeWeavers informuje, tento toolkit vychází ze zdrojových kódů jejího CrossOveru, tj. komerčního Wine.

    Ladislav Hagara | Komentářů: 1
    8.6. 23:11 | Nová verze

    Byla vydána květnová aktualizace aneb nová verze 1.79 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Ve verzi 1.79 vyšlo také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 5
    8.6. 22:22 | IT novinky

    Jak to bude s podporou rastrového grafického formátu JPEG XL ve webových prohlížečích? Google ji nedávno z Chrome a Chromia odstranil (#1178058#c84). Jednou z novinek beta verze Safari 17 je ale právě podpora JPEG XL. Vráti se JPEG XL do Chrome a Chromia (#1451807)? Dění kolem JPEG XL lze sledovat například na r/jpegxl.

    Ladislav Hagara | Komentářů: 1
    8.6. 12:55 | Nová verze

    Byla vydána nová stabilní verze 6.1 (aktuálně 6.1.3035.51) webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 114. Přehled novinek i s náhledy v příspěvku na blogu. Nový Vivaldi se pro Bing tváří jako Microsoft Edge (upravený User-Agent) a díky tomu v něm funguje Bing Chat. Vylepšeny byly Pracovní prostory (Workspaces). Podrobný přehled v Changelogu.

    Ladislav Hagara | Komentářů: 1
    8.6. 11:00 | Komunita

    Linuxová distribuce ArchLabs Linux po šesti letech vývoje končí. Dobbie to zabalil.

    Pinhead | Komentářů: 7
    7.6. 22:44 | Zajímavý článek

    David Tschumperlé v obšírném článku se spoustou náhledů shrnuje vývoj multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie) za poslední rok a půl.

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

    Vývojáři postmarketOS vydali verzi 23.06 tohoto před šesti lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell, Phosh, Plasma a Sxmo. Aktuálně podporovaných zařízení je 30.

    Ladislav Hagara | Komentářů: 0
    7.6. 16:33 | Nová verze

    Byla vydána distribuce openSUSE Leap verze 15.5 (poznámky k vydání). Jde o konzervativní distribuci odpovídající komerčnímu SUSE Linux Enterprise 15, nyní Service Pack 5. Mělo jít o poslední aktualizaci Leap v současné podobě před přechodem na Adaptable Linux Platform s „neměnným“ základem, ale padlo rozhodnutí, že v roce 2024 ještě vyjde Leap 15.6 s podporou do konce roku 2025.

    Fluttershy, yay! | Komentářů: 0
    Twitter (nejen pro příležitostné čtení)
     (92%)
     (2%)
     (6%)
    Celkem 322 hlasů
     Komentářů: 7, poslední dnes 09:25
    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: 326×
    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: 72 | 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: 72 | 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.