Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: teele - 27.02.18 - klo:17.14

Otsikko: [ ratkaistu ] ncurses graafisissa ikkunoissa, toimisko ?
Kirjoitti: teele - 27.02.18 - klo:17.14
Toimisiko ncursesilla tehty ohjelma erikokoisilla ikkunoilla eli osoaisiko se sopeutua itsestään siihen ikkunaan jossa se toimii, vai ovatko siinä annetut koordinaatit ihan kiinteitä koskien koneen oikeaa näyttöä?

Ajattelin kokeilla esimerkiksi paria samanaikaista ncurses-ikkunaa ja hiirtä niiden kanssa.
Otsikko: Vs: [ ratkaistu ] ncurses graafisissa ikkunoissa, toimisko ? - vast. Ei onnistu
Kirjoitti: nm - 27.02.18 - klo:19.32
Toimisiko ncursesilla tehty ohjelma erikokoisilla ikkunoilla eli osoaisiko se sopeutua itsestään siihen ikkunaan jossa se toimii, vai ovatko siinä annetut koordinaatit ihan kiinteitä koskien koneen oikeaa näyttöä?

Kyllä sopeutuu dynaamisesti ja komponentit voi sijoitella suhteellisilla koordinaateilla. Käynnistä vaikka alsamixer-ohjelma päätteessä ja kokeile muuttaa ikkunan kokoa.
Otsikko: Vs: [ ratkaistu ] ncurses graafisissa ikkunoissa, toimisko ?
Kirjoitti: teele - 27.02.18 - klo:21.43

kiitos,
en onnistunut löytämään kooklaamalla ohjetta, jossa olisi kerrottu, miten voisi tehdä ikkunan kokoon mukautuvan ncurses-ohjelman. Löysin vain viittauksia lisä palikoihin.

yritän etsiä uudestaan, ja toivottavasti kovin paljon lisä osia ncursesin lisäksi ei tarvita.
Otsikko: Vs: [ ratkaistu ] ncurses graafisissa ikkunoissa, toimisko ?
Kirjoitti: nm - 27.02.18 - klo:22.33
Tarkemmin katsoen sisältö täytyy piirtää itse uudelleen käyttäen uutta maksimikokoa sijaintien määrittämiseen. Erityisesti valikot ja lomakkeet eivät tottele wresize-funktiota. Syötteenä saatava KEY_RESIZE -signaali kertoo, että koko on muuttunut.

Jos tarkoituksena on vain tehdä tekstipohjainen käyttöliittymä johonkin omaan projektiin, eikä ole erityistä tarvetta käyttää juuri ncurses-kirjastoa, kannattanee harkita jotain helpompaa valmista TUI-sovelluskehystä, joka käyttää ehkä ncursesia taustalla, mutta hoitaa tällaiset yksityiskohdat puolestasi. Esimerkiksi:

https://github.com/yaronn/blessed-contrib
https://github.com/gizak/termui
http://npyscreen.readthedocs.io/introduction.html
https://github.com/pfalcon/picotui

jne.