Now Reading
Monochrome terminal setup for an E-ink monitor

Monochrome terminal setup for an E-ink monitor

2023-01-17 03:44:03

Small writeup about utilizing a monochrome show in a contemporary setting.

Rationale

A number of months in the past I obtained my first e-ink machine – Rakuten Kobo Libra 2. It’s a small e-book reader with excessive decision display and and I instantly obtained enchanted by this crisp display that can be utilized with none stage of backlight in any respect. It feels as pure and cozy as studying one thing from a sheet of paper, so I assumed that it will be superior to make use of one thing comparable for coding and studying from display at my pc. Moreover now I learn far more than earlier than – pill or cellphone typically sway me off to “low-cost” content material resembling twitch/youtube movies or senseless internet browsing, whereas an e-book retains me away from distractions. Seems it’s simpler to combat unhealthy habits by artificially proscribing entry to them somewhat than by making a aware psychological effort of not doing one thing you later remorse 🙂

So other than purely ergonomic causes I had an concept of abandoning some responsible pleasures – with the ability to correctly focus sadly is not any small process, not less than for me.

{Hardware}

Regrettably there usually are not many consumer-oriented e-ink shows in the marketplace but. Basically the one selections are BOOX Mira or Dasung Paperlike options; each distributors costs are fairly excessive in comparison with the traditional (even good IPS ones) displays. I used to be capable of finding a barely used Dasung Paperlike HD-FT 13.3″ for about $750 on eBay.

The specs are mighty spectacular: 2200x1650px decision (4×3 facet ratio), HDMI interface (+microUSB for energy), digitizer (touchscreen) and two kinds of backlight (heat/chilly). There are e-ink (or “e-paper” as they’re generally known as) shows that don’t require any extra energy other than HDMI present, sadly mine isn’t a kind of – even with the backlight turned off it doesn’t work on HDMI connection alone.

I’m utilizing that show with a generic x86_64 laptop computer working Fedora KDE spin. macOS connection went nice too; I’ve one other arm64 machine with OpenBSD 7.2 nevertheless it wasn’t in a position to make use of the brand new monitor as is, wants some tinkering that I’ve postponed to a different time.

E-ink display photo, 2.5mb

Monitor setup panel exhibits the one obtainable frequency at 40Hz however that’s most likely getting used for inside processing within the show circuitry; albeit tunable the framerate of that exact e-ink monitor is about 15fps.

The standard and distinction is kind of to my liking – there may be some inevitable residual ghosting that may be cleared off with a devoted button however I don’t resort to it a lot. I don’t activate the backlight both as a result of the entire level of that tech for me was to have the ability to use terminal and different software program with pure mild or desk lamp solely.

E-ink display artifacts photo, 2.3mb

Notice that each images had been made with solely exterior mild – the textual content is crisp and the distinction is great.

(Terminal) Software program

Since most the of stuff I do occurs in terminal (emulator) setting it up was my main goal. That’s the place issues obtained actually attention-grabbing – because it seems terminfo(5) terminal capabilities database varies rather a lot between completely different working programs.

Mainly completely different terminal emulators assist completely different options various from unicode assist to 24bit color and even graphics. These capabilities are compiled into binary recordsdata which can be queried in library features calls to find out what’s supported by the chosen terminal. So we have now a complete lot of terminal varieties – from classic vt100 to fashionable ones resembling xterm or kitty in a bunch of various recordsdata (normally in /usr/share/terminfo).

The kind of the terminal used is ready by the TERM setting variable – so program that makes use of the terminal output appears up into terminfo database – both by way of ncurses(3) library calls or by way of helper applications if it’s a shell script. So as to decide what number of colors helps the present terminal emulator the variable colours must be learn from the database file comparable to the TERM.

The problem I’ve stumbled upon is that contents of stated database usually are not precisely synchronized between numerous OS. My first TERM env alternative was pretty easy "xterm-mono" and it labored completely on my predominant rig with Fedora – proper till I’ve ssh-ed to my different machines. xterm-mono doesn’t exist neither in OpenBSD 7.2 nor macOS Ventura – regardless that each are the newest variations launched (on the time being). Obvious legacy model of that terminal sort – xtermm – was not obtainable all over the place too.

Fortunately sufficient #cyberpals beneficial me a vt220 – it’s an outdated {hardware} terminal, and whereas it didn’t have colour it nonetheless was fairly function wealthy and supported sufficient to make use of it even with fashionable programs.

What I did after was making a brand new konsole settings profile. I’ve put TERM=vt220 in its env vars possibility and configured the colour scheme that so it solely has two colours for complete palette. Now why would I try this if my terminal was already promoting all over the place that it’s monochrome and every little thing rendered there acts accordingly with none colorcodes?

See Also

The reply is kind of easy – lots of applications ignore that information fully. To my massive shock even pretty respectable software program like git doesn’t question the terminal capabilities database and as an alternative resorts to that (editor.c):

int is_terminal_dumb(void)

Apparently sufficient git doesn’t have any widespread --no-color command line possibility – it’s current solely in sure binaries (git log however not git standing) of its package deal, one other dangling inconsistently. To totally disable colour output for any git command I’ve set a following possibility in international .gitconfig:

Talking of syntax highlighting – I’ve thought that the shortage of colour would severely hinder me when coding, however because it seems essentially the most primary stuff like daring or italic suffices simply nice. Couple of years in the past I switched from bloated IDEs to extra compact and moveable nano – and by IDE I imply vim as nicely (that I’ve been utilizing for greater than a decade). The change took a while to accommodate however general I can’t say that my productiveness worsened in any capability. Furthermore I really feel like I keep in mind extra info from prime of my head and attempt to implement stuff in self-explanatory means – partially as a result of it’s simpler to grasp and navigate such code with simply plain textual content editor. In some ways my setup overlaps with UNIX as IDE collection.

So in identical sense shedding colour solely gave the impression to be an enormous deal at first – for duties resembling studying and programming monochrome editor finally ends up simply as efficient as “colourful” environments. Moreover I used to be closely impressed and impressed by jcs’ system6 programming series – the outdated Mac 512K has monochrome show however jcs is ready to write a lot good code with it that it turns into apparent that syntax highlighting doesn’t play as massive of a job as it’s believed to be.

(GUI) software program

The official web sites for e-ink displays are filled with movies and screenshots of applications resembling Google Docs or MS Phrase or internet browsers with fancy formatted articles, however in my expertise even when you’ll be able to tune up visuals to be displayed correctly in monochrome the power to totally management program with a keyboard isn’t all the time there. Very often GUI anticipate you to work together with them totally with a mouse or a trackpad, and with extraordinarily low framerate scenario it turns into fairly awkward.

Lengthy story brief – uneven mouse cursor and interfaces not all the time anticipating the absence of colour ceased any efforts of mine to make use of these lovely fashionable hidpi interfaces on the Dasung.

I’m nonetheless utilizing an LCD show for web-browsing and such however it’s positioned on the angle that I can comfortably use just one show at time.

Full setup

Full setup, 1.9mb

Source Link

What's Your Reaction?
Excited
0
Happy
0
In Love
0
Not Sure
0
Silly
0
View Comments (0)

Leave a Reply

Your email address will not be published.

2022 Blinking Robots.
WordPress by Doejo

Scroll To Top