4 ms·
If you use a terminal editor you can get margins easily by configuring your terminal emulator to have margins (and usually there would be at least a small margi
by joveian 2y ago
If you use a terminal editor you can get margins easily by configuring your terminal emulator to have margins (and usually there would be at least a small margin due to cell size not evenly dividing screen size).
Personally, my terminal is "only" 127x31 and a major complaint I have with most user interfaces (including most of the web if you don't take imperfect steps to avoid it) is the font and line height being way too small. The small margin from the cell size leftovers works for me, though it is also uncomfortably wide if used fully for one text area and I set a default width of 78 characters in my editor and make exceptions to that as needed.
Elastic tabstops sounds interesting, although the simple definition presented in the link above seems like there would be cases where adding a line is necessary just to get the desired horizontal indentation. A set of new characters could fix that and allow full document alignment characters as well as consecutive line alignment. I'm not fully convinced that some version of this is a good idea, but maybe it is.
- kragen 2y agowhich terminal emulator are you using? most don't seem to have an option for margins as for elastic tabstops, i want to make three changes. gravgaard proposes a minimum column separation of one space, which i think is a mistake; i want rowspan and colspan; and most radically i want to be able to nest a whole document inside a grid cell with ^k and ^l as delimiters. that would give you fully freeform nested tables
- joveian 2y agoI'm using kitty. I'm surprised it isn't more common, it seems like a nice option. It looks like what we are calling margins here is padding in the kitty configuration: https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.window_padding_width https://sw.kovidgoyal.net/kitty/conf/#opt-kitty.window_paddi... Nesting documents sounds interesting too. It looks like there are already control characters for "file separator", "group separator", "record separator", and "unit separator" that could be used if they were supported (or "start of text" / "end of text" might be a better fit for nesting, though I'm not sure how any of these were historically used). One issue I have with elastic tabstops is that once you go past "every character can be rendered based on the character and position" there are a large number of potentially interesting features and you would need to find something compelling to decide what features to include or exclude (or else you just have one of many possible document formats, which could be ok for an individual programming language but not as "plain text").
- kragen 2y agothanks! i should have guessed that it would be kitty as for plain text, specifically what i want is plain text that can accommodate proportional fonts and different font sizes without losing the ability to do layout. actually specifying things like fonts, font sizes, colors, padding, margins, borders, corner radii, drop shadows, filters, etc., might be done not at all, with some kind of standoff markup (where the markup is in a different file), with embedded escape sequences, or with syntax-highlighting-like rules ^k and ^l, vt and ff, have an advantage over other possible delimiter characters: they are conventionally considered whitespace, making them legal in between tokens in most existing programming languages with respect to what control characters have historically been used for, i can recommend erica fischer's paper on the history of ascii: https://ia801805.us.archive.org/24/items/enf-ascii/ascii.pdf https://ia801805.us.archive.org/24/items/enf-ascii/ascii.pdf as well as tom jennings's history of character codes
- joveian 2y agoThanks for the references on the historical usage! I have also been starting to think about something a bit similar (but more restricted) on the terminal side, how to adjust terminals to work well with at least proportional fonts (since some languages really need them) and maybe a larger font possibility that uses two lines (I think retaining the fixed size cell as a basic layout feature would be a good idea even if the one cell to one character mapping is removed). Maybe also out of band signaling. Something with much more limitations than the web or GUI (such that the user can configure things once to apply to most everything), although possibly with a full GUI or more complex rendering mode. I hadn't even started to think how it would interact with plain text but I could see some basic positioning/layout stuff being useful in plain text also without causing too much trouble if defined in an easy to render way (as would be best for terminals also). Although the usual issue of how to get there from here would still be a challenge :/.
- kragen 2y agosimple matter of programming ;) all languages except chinese, japanese, and korean really need proportional fonts