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

    Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře děti v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.

    Ladislav Hagara | Komentářů: 1
    včera 12:33 | Zajímavý projekt

    Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.

    NUKE GAZA! 🎆 | Komentářů: 1
    včera 12:22 | Nová verze

    Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 0
    včera 05:00 | Komunita

    Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).

    Ladislav Hagara | Komentářů: 9
    13.2. 19:44 | Zajímavý projekt

    Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.2. 17:44 | Nová verze

    Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    13.2. 12:11 | IT novinky

    Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.

    Ladislav Hagara | Komentářů: 18
    13.2. 11:44 | IT novinky

    Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.

    Ladislav Hagara | Komentářů: 2
    13.2. 04:44 | Humor

    Agent umělé inteligence vytvořil 'útočný' článek o Scottu Shambaughovi, dobrovolném správci knihovny matplotlib, poté, co vývojář odmítl agentem navrženou změnu kódu (pull request). 'Uražený' agent autonomně sepsal a publikoval na svém blogu článek, který přisuzuje Shambaughovi smyšlené motivace, egoismus a strach z AI coby konkurence.

    NUKE GAZA! 🎆 | Komentářů: 33
    12.2. 20:11 | Nová verze

    Bylo vydáno Ubuntu 24.04.4 LTS, tj. čtvrté opravné vydání Ubuntu 24.04 LTS s kódovým názvem Noble Numbat. Přehled novinek a oprav na Discourse.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (11%)
     (27%)
     (3%)
     (4%)
     (1%)
     (12%)
     (27%)
    Celkem 871 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník
    Štítky: není přiřazen žádný štítek


    Vložit další komentář
    11.2.2010 21:09 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    Jj, řeším to přesně takhle, jen pro zajímavost uvádím svůj kód (C++)
    #define SCR_WID_FALLBACK 80
    int Shell::screen_width()
    {
      int fd;
      struct winsize wsz;
    
      fd = fileno(stdout);
      if (ioctl (fd, TIOCGWINSZ, &wsz) < 0)
        return SCR_WID_FALLBACK;
    
      return wsz.ws_col;
    }
    struktura winsize je (u mně) definována takhle:
    struct winsize
      {
        unsigned short int ws_row;
        unsigned short int ws_col;
        unsigned short int ws_xpixel;
        unsigned short int ws_ypixel;
      };
    
    A protože okolo ní nejsou žádný #ifdefy apod., nemuselo by to snad s platform-dependencí být tak hrozné...
    Je třeba ovšem pamatovat, že tento postup je závislý na termios(.h).
    11.2.2010 21:55 e | skóre: 10
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    A nestačilo by z shellu brát proměnné LINES a COLUMNS? Aspoň můj zsh tydle proměnné nastaveny má
    JA RAD PORADM KDYZ VIM vic (hebmilo.cz)
    11.2.2010 23:10 Radovan Garabík
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    NIe, do spusteného procesu sa nepropagujú...

    Namiesto array z príkladu odporúčam použiť struct.pack("HHHH", 0, 0, 0, 0), pripadá mi to čistejšie... (riešil som to kedysi v pydf).
    rADOn avatar 12.2.2010 00:47 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    To jistě bylo, ale může se do takové  struktury psát ? (do syscallu se předává adresou).
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    12.2.2010 10:33 Radovan Garabík
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    Samozrejme nie, treba použiť unpack...

    Pre referenciu, celé moje riešenie vyzerá takto:
    
    def get_terminal_width_termios():
        try:
            import fcntl, termios
        except ImportError:
            return None
        s = struct.pack("HHHH", 0, 0, 0, 0)
        try:
            lines, cols, xpixels, ypixels = \
                struct.unpack(
                    "HHHH",
                    fcntl.ioctl(sys.stdout.fileno(),
                    termios.TIOCGWINSZ, s)
                    )
        except (IOError, AttributeError):
            return None
        return cols
    
    
    def get_terminal_width_resize():
        c = commands.getoutput('resize').split('\n')
        c = [x for x in c if x.startswith('COLUMNS=')]
        if c:
            c = c[0]
            dummy, c = c.split('=', 1)
            if c[-1] == ';':
                c = c[:-1]
        if c:
            return int(c)
        else:
            return None
    
    def get_terminal_width_dumb():
        return 80
    
    def get_terminal_width():
        handlers = [get_terminal_width_termios, get_terminal_width_resize, get_terminal_width_dumb]
        for handler in handlers:
            width = handler()
            if width is not None:
                return width
    
        return 80 # fallback, should not happen
    
    
    rADOn avatar 12.2.2010 15:09 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    Mel jsem na mysli jestli jde predat pointer ceckovemu syscallu bez rizika, ze kernel prostreli nejake interni struktury a posle interpret do SIGSEGV. Coz, zda se, jde.
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    15.2.2010 12:24 Radovan Garabík
    Rozbalit Rozbalit vše Re: Kterak zjistiti velikost terminálu - v Pythonu?
    Samozrejme že to ide, python to nemá ako skontrolovať...

    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.