sharing programmer-to-programmer. please enjoy. pages are formatted for landscape tablet, laptop, or monitor.

theia, eterm config and tracking

greek, theia-euryphaessa (wide-shinning)

daily use in production

theia, besides color configuration described before, also provides Eterm window tracking which allows me to manage and move between them on my system with multiple desktops and monitors.

this may not sound like a critical problem, but in order to maintain my code i have many sessions open with many different related projects on different desktops. theia allows me to track, interrogate, rearrange, restore, and jump around quickly.

below is a fairly typical programmer desktop. this shows with top monitor only for one of eight virtual desktops (fluxbox). i separate major projects on desktops, but often edit many related files together, such as, conf files, reports, etc.

i admit it up front, i lose track of what’s open and where it is over the course of a long day. so i taught theia to track all terminal windows with their window id, pid, title, coloration, current underlying process pid, geometry, etc. this code window above is line 24, its unit testing source window is line 10, unit testing execution is line 16, and the configuration file is line 7.

theia classifies windows and applies short-cuts i can use to switch to the window, bring it to me, send it elsewhere, or move to it.

the fourth and fifth columns are the window reference and desktop number. the column “s” near the right indicates top or bottom screen and then more geometry around that.

in the file above, you can also see a line for ySTR, my string handing library. its the third line, and has been labeled automatically as ySTR under the notes column. this is the short-cut.

to switch to that desktop and window by short-cut, i just request it as to the right.

hit enter and you switch desktops as required then the requested terminal moves to the front. this also allows me to recreate favored layouts later, or completely re-arrange programmatically rather than the fun manual way. i’ve got a million uses for this capability, but finding open code was truly the initial reason.

on a lark, i added a quick pager report to verify i was capturing window stacking correctly. it also improved my ascii drawing skills. done both and drawing decent diagrams in ascii is much harder than using graphical toolkits. just say’in.

the automated pager view below is for one desktop with two monitors. the pager window is showing itself (shaded) in the middle of the upper desktop. i am likely to create a 1/2 size version so i can fit all eight desktops in one report.

i am a roboticist at the core. robots using smaller processors need less battery and resources and therefore run longer. it’s a virtuous cycle that can put a rover on mars.

simple ascii diagrams require no graphics toolkits, desktops, libraries, or special GPU cards. heck, they can even use little character-cell displays. super cheap and easy to control with an 8-bit microchip powered by a tiny coin battery. when ascii diagrams are good enough, i happily use them.

i used the challenge of dynamic-scaling the pager view to test the fidelity of smaller diagrams to the original display concept. my system is dual 1366x768 monitors, above and below with eight virtual desktops. below is my current desktop (1) holding eight (8) eterm sessions.

the mini is still quite reliable. heck the micro is not that bad. concept explored. and, i can then use this code elsewhere.

the pager can use any size and layout. here is a mini size using a 2 x 4 layout. it’s a prototype, but functional enough to use.

source code is GPL3 licensed, https://github.com/heatherlyrobert/theia

Previous
Previous

time-based batch automation with khronos-anileis

Next
Next

mathy