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 12:55 | Nová verze

Byla vydána verze 1.8.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus. Nejnovější verze Lazarusu je postavena na Free Pascal Compileru (FPC) 3.0.4. Podrobnosti v poznámkách k vydání (Lazarus, Free Pascal Compiler).

Ladislav Hagara | Komentářů: 11
dnes 11:11 | Nová verze

Byla vydána verze 2.0 svobodného softwaru ScummVM (Wikipedie) umožňujícího bezproblémový běh mnoha klasických adventur na zařízeních, pro které nebyly nikdy určeny. Nejnovější verze ScummVM přináší podporu pro 23 zcela nových starých her. Podrobnosti v poznámkách k vydání.

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

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 4. a 5. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu.

Ladislav Hagara | Komentářů: 5
včera 14:11 | Komunita

Některým uživatelům Firefoxu se tento týden do Firefoxu nainstalovalo neznámé rozšíření Looking Glass 1.0.3 (png). Ve fórů Mozilly se řešilo, zda se nejedná o malware. Mozilla později informovala, že se jednalo o reklamu na seriál Mr. Robot. Řadě uživatelů Firefoxu se jednání Mozilly vůbec nelíbilo. Mozilla proto automatickou instalaci doplňku ukončila [Hacker News, reddit].

Ladislav Hagara | Komentářů: 22
16.12. 12:00 | Nová verze

Po cca 3 týdnech od vydání Linux Mintu 18.3 s kódovým jménem Sylvia a prostředími MATE a Cinnamon byla oznámena také vydání s prostředími KDE a Xfce. Podrobnosti v poznámkách k vydání (KDE, Xfce) a v přehledech novinek s náhledy (KDE, Xfce). Linux Mint 18.3 je podporován do roku 2021.

Ladislav Hagara | Komentářů: 7
15.12. 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 64
15.12. 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

Ladislav Hagara | Komentářů: 0
15.12. 02:00 | Zajímavý software

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 10
15.12. 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 11
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (75%)
 (14%)
Celkem 1023 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    Rozcestník

    Awesome wm a umistovani oken

    14.10.2011 22:25 | Přečteno: 1042× | poslední úprava: 14.10.2011 22:48

    V mém posledním zveřejněném desktopu jsem si povzdechl nad tím, že mi Awesome v3.4.10 umísťuje firefox při plovoucím režimu o pár pixel přes horní wibox.

    Nebudu tu příliš rozvádět jak to funguje, protože jsem se moc o problematiku signálů nezajímal - nebyl čas, tak tedy:

    client.add_signal("manage", function (c, startup)

    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    awful.client.setslave(c)

    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then

    awful.placement.no_offscreen(c)
    awful.placement.no_overlap(c)
    end
    end
    end)

    Tato funkce/signál se mi stará o nové okna. V podstatě jde o to správně umístit okno na viditelnou plochu obrazovky a také aby nedošlo k překrytí. Hlavně maximalizovaný floating firefox či codeblocks o pár px překryly horní wibox o výšce 14px. Zjistil jsem, že za to může funkce no_offscreen() ve které byla chyba (feature?) v nastavování pozice okna v případě, že přesahuje maximální viditelnou šířku / výšku :

    function no_offscreen(c)
    local c = c or capi.client.focus
    local geometry = c:geometry()
    local border = c.border_width
    local screen_geometry = capi.screen[c.screen].workarea

    if geometry.x + geometry.width + 2*border > screen_geometry.x + screen_geometry.width then
    -- geometry.x = screen_geometry.x + screen_geometry.width - geometry.width -- original , chybi odecet borderu
    geometry.x = screen_geometry.x + screen_geometry.width - (geometry.width - 2*border)
    elseif geometry.x < screen_geometry.x then
    geometry.x = screen_geometry.x
    end

    if geometry.y + geometry.height + border > screen_geometry.y + screen_geometry.height then -- proc jen 1x border? radej nebudu patrat
    -- geometry.y = screen_geometry.y + screen_geometry.height - geometry.height -- to same chybi border odecet
    geometry.y = screen_geometry.y + screen_geometry.height - (geometry.height- 2*border)
    elseif geometry.y < screen_geometry.y then
    geometry.y = screen_geometry.y
    end
    -- c:geometry(geometry) -- v originale chybi return wtf?
    return c:geometry(geometry) -- uprava luta
    end

    Jak je vidět, úprava byla elementární i pro člověka co programuje v C embedded a Lua umí jen editovat z rychlíku :-)

    Doufám, že to třeba někdy někomu pomůže a doufám, že se kvůli této úpravě neobjeví další chyba / feature :-D

    A ještě dotaz pro odborníky v Awesome: Je tohle na bugreport ? Nějak nemám čas zjišťovat, jestli to není jen můj osobní workaround a ve výsledku bych se třeba jen ztrapnil :-D


    Jak jsem teď dodatečně zjistil, chyba bude ještě někde jinde, protože je nutno donutit okno větší, než je plocha, aby nepřesahovalo. To by ovšem měla řešit funkce no_overlap..patrně to ale neřeší dokonale, neboť firefox o pár pixel přesahuje spodek obrazovky a pomůže až toggle maximize..

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    luta avatar 14.10.2011 22:56 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    ps mám to celé blbě, žádný bugreport nebude :-D ale štvě mě to :-(

    juraj-bit avatar 14.10.2011 23:25 juraj-bit | skóre: 14 | blog: X BLOG X | Bratislava
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken
    Ja to mám vpodstate tak isto (Debian Wheezy) placement.lua :
    function no_offscreen(c)
        local c = c or capi.client.focus
        local geometry = c:geometry()
        local border = c.border_width
        local screen_geometry = capi.screen[c.screen].workarea
    
        if geometry.x + geometry.width + 2*border > screen_geometry.x + screen_geometry.width then
            geometry.x = screen_geometry.x + screen_geometry.width - geometry.width
        elseif geometry.x < screen_geometry.x then
            geometry.x = screen_geometry.x
        end
    
        if geometry.y + geometry.height + border > screen_geometry.y + screen_geometry.height then
            geometry.y = screen_geometry.y + screen_geometry.height - geometry.height
        elseif geometry.y < screen_geometry.y then
            geometry.y = screen_geometry.y
        end
    
        c:geometry(geometry)
    end
    

    Nepozorujem prekrytie horného panela ami presah okna cez dolný okraj pri maximalizovaní Firefoxu. Fullscreen mám zakomentovaný.

    Nihil habenti nihil deest
    luta avatar 14.10.2011 23:38 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    já nevím přesně jak to popsat. Nakonec to vypadá, že tam chyběl jen ten return v té funkci. Dále jsem si dopsal funkci, která mi testuje velikost okna a pokud je okno zaručeně větší jak obrazovka, tak ho zmenší. Tohle asi ani jedna z těch funkcí nedělala. Takže výsledek vypadá nějako takto :

    function w_resize(c)
    local geometry = c:geometry()
    local border = c.border_width
    local screen_geometry = screen[c.screen].workarea

    if geometry.width + 2*border > screen_geometry.width then
    geometry.width = screen_geometry.width
    end
    if geometry.height + 2*border > screen_geometry.height then
    geometry.height = screen_geometry.height
    end

    return c:geometry(geometry)
    end


    -- {{{ Signals
    -- Signal function to execute when a new client appears.
    client.add_signal("manage", function (c, startup)

    w_resize(c)

    if not startup then
    -- Set the windows at the slave,
    -- i.e. put it at the end of others instead of setting it master.
    awful.client.setslave(c)

    -- Put windows in a smart way, only if they does not set an initial position.
    if not c.size_hints.user_position and not c.size_hints.program_position then

    awful.placement.no_offscreen(c)
    awful.placement.no_overlap(c)
    end
    end
    end)

    tak nějak to zatím funguje, než zase najdou nějakou chybu

    juraj-bit avatar 14.10.2011 23:58 juraj-bit | skóre: 14 | blog: X BLOG X | Bratislava
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken
    Tá fukcia w_resize(c) sa bude niekedy možno hodiť, zatial som ju nepotreboval.
    Nihil habenti nihil deest
    luta avatar 15.10.2011 00:02 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    trochu je v ní pořád bordel s těma borderama, protože netuším, jak s tím awesome počítá (jestli je už v geometry započítano), ale funguje to. Tenhle detail mě opravdu dlouho štval

    juraj-bit avatar 15.10.2011 00:25 juraj-bit | skóre: 14 | blog: X BLOG X | Bratislava
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    Toto

    awful.client.setslave(c)

    mám zakomentované

    -- awful.client.setslave(c)
    Nihil habenti nihil deest
    luta avatar 15.10.2011 00:32 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    setslave startuje nove okno jako slave a ne master. to mam tak schvalne

    juraj-bit avatar 15.10.2011 00:38 juraj-bit | skóre: 14 | blog: X BLOG X | Bratislava
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken
    Pozeral som najnovšte témy a čistá práca so signálmi bez commentov vyzerá takto:
    -- SIGNALS
    client.add_signal("manage", function (c, startup)
    	if not startup then
    		if not c.size_hints.user_position and not c.size_hints.program_position then
    			awful.placement.no_overlap(c)
    			awful.placement.no_offscreen(c)
    		end
    	end
    end)
    
    client.add_signal("focus", function(c) c.border_color = beautiful.border_focus end)
    client.add_signal("unfocus", function(c) c.border_color = beautiful.border_normal end)
    
    
    Ešte sa mi nestalo, aby sa mi niektoré okno zobrazilo nekorektne, skúšal som všetky graf. programy, ktoré mám nainštalované, až teda na Gimp, ktorý sa mi otvára maximalizovaný a ovládacie panely mi prekrýva hlavné okno, vpodstate mi to ale tak aj vyhovuje, lebo pár pixelov z nich je vidieť..
    Nihil habenti nihil deest
    luta avatar 15.10.2011 00:50 luta | skóre: 20 | blog: muj_blok | Prostějov/Brno
    Rozbalit Rozbalit vše Re: Awesome wm a umistovani oken

    ja mel problem hlavne s floating layoutem. kazdopadne diky. btw gimp mi taky konecne startuje korektne. protoze mam wibox jen 14px vysoky tak nemam rad kdyz mi ho neco prekryva

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.