Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any plans to support netbsd-curses? #578

Open
beaglesnuf opened this issue Jul 27, 2021 · 8 comments
Open

Any plans to support netbsd-curses? #578

beaglesnuf opened this issue Jul 27, 2021 · 8 comments
Labels
todo Low priority tasks to consider for the future

Comments

@beaglesnuf
Copy link

Static ncurses alone more than doubles the size of the binary. netbsd-curses might be a solution.

@JFreegman
Copy link
Owner

JFreegman commented Jul 27, 2021

What are you using toxic on that a 4 MiB binary is too large?

@beaglesnuf
Copy link
Author

Rather, it is not so much a space constraint than not having to require an external terminfo db as netbsd-curses has a (customizeable) built-in db for a closer-to-true-portable solution if toxic is built statically. Unrelated, but I needed to add -lsodium to LDFLAGS to build a static toxic (against both glibc and musl) on Debian, This was with pkg-config installed.

@JFreegman
Copy link
Owner

JFreegman commented Jul 27, 2021

There are no plans to support netbsd-curses, but I'm open to reviewing pull requests.

Unrelated, but I needed to add -lsodium to LDFLAGS to build a static toxic (against both glibc and musl) on Debian, This was with pkg-config installed.

That shouldn't be necessary. Maybe @nurupo can chime in?

@nurupo
Copy link
Contributor

nurupo commented Jul 27, 2021

I found it easier to invoke pkg-config with the --static flag instead of patching LDFLAGS directly. If you don't pass --static to it, it gives you output for shared/dynamic linking.

sed -i 's|pkg-config|pkg-config --static|' cfg/global_vars.mk

@clort81
Copy link

clort81 commented Aug 3, 2021

Terminfo and curses was designed to provide compatibility between 1970s-1980s hardware serial 'dumb' terminals, which used different commandsets to do common screen-manipulation things, like move cursor, erase line, etc.

There is no reason to use ncurses anymore, now that nobody is using anything but an ANSI-compatible virtual terminal. Just issue ansi codes directly for cursor positioning, clear screen, erase line, set color.

@JFreegman
Copy link
Owner

Terminfo and curses was designed to provide compatibility between 1970s-1980s hardware serial 'dumb' terminals, which used different commandsets to do common screen-manipulation things, like move cursor, erase line, etc.

There is no reason to use ncurses anymore, now that nobody is using anything but an ANSI-compatible virtual terminal. Just issue ansi codes directly for cursor positioning, clear screen, erase line, set color.

If you want to do this in a fork I'll gladly look it over

@clort81
Copy link

clort81 commented Aug 7, 2021

I really like this client. If i can get my brain together enough to learn the code I'll see what can be done for incremental de-cursing.

@JFreegman JFreegman added the todo Low priority tasks to consider for the future label Nov 5, 2021
@theAkito
Copy link

@clort81 How's it going?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
todo Low priority tasks to consider for the future
Projects
None yet
Development

No branches or pull requests

5 participants