@bender@twtxt.net This should be a core feature, no configuration required. š¤
@kat@yarn.girlonthemoon.xyz On the one hand, all these programs have a very long history and the technology behind manpages is actually very powerful ā you can use it to write books:
https://www.troff.org/pubs.html
I have two books from that list, for example āThe UNIX programming environmentā:
https://movq.de/v/c3dab75c97/upe.jpg
Itās a bit older, of course, but it looks and feels like a normal book, and it uses the same tech as manpages ā which I think is really cool. š
Itās comparable to LaTeX (just harder/different to use) but much faster than LaTeX. You can also do stuff like render manpages as a PDF (man -Tpdf cp >cp.pdf) or as an HTML file (man -Thtml cp >cp.html). I think I once made slides for a talk this way.
On the other hand, traditional manpages (i.e., ones that are not written in mandoc) do not use semantic markup. They literally say, āthis text is bold, that text over here is italicsā, and so on.
So when you run man foo, it has no other choice but to show it in black, white, bold, underline ā showing it in color would be wrong, because thatās not what the source code of that manpage says.
Colorizing them is a hack, to be honest. Youāre not meant to do this. (The devs actually broke this by accident recently. They themselves arenāt really aware that people use colors.)
If mandoc and semantic markup was more commonly used, I think it would be easier to convince the devs to add proper customizable colors.
(Just for fun, SuSE Linux 6.4 from ~25 years ago: https://movq.de/v/dc62d0256c/s.png )
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz Colorized manpages have been a thing for a very long time:
https://movq.de/v/81219d7f7a/s.png
Problem is, hardly anybody knows this, because you configure this by ⦠drumroll ⦠overwriting TERMCAP entries of less in your ~/.bashrc:
export LESS_TERMCAP_md=$'\e[38;5;3m' # Bold⨠export LESS_TERMCAP_me=$'\e[0m' # End Bold
export LESS_TERMCAP_us=$'\e[4;38;5;6m' # Underline⨠export LESS_TERMCAP_ue=$'\e[0m' # End Underline
export GROFF_NO_SGR=1 # Needed since groff 1.23
Speaking of manpages:
āMan pages are great, man readers are the problemā
https://whynothugo.nl/journal/2025/04/09/man-pages-are-great-man-readers-are-the-problem/
mandoc is nicer to read/write than the man macro package and, most importantly, itās semantic markup.
HTML output is a bit broken in GNU groff, though (OpenBSD on the left, GNU on the right):
https://movq.de/v/f1898e648f/s.png
š¤
Still, Iām inclined to convert my manpages to mandoc.
@kat@yarn.girlonthemoon.xyz I still havenāt tried it. š¤ Some day, perhaps ā¦
@kiwu@twtxt.net Hello. š
In 1996, they came up with the X11 āSECURITYā extension:
https://www.reddit.com/r/linux/comments/4w548u/what_is_up_with_the_x11_security_extension/
This is what could have (eventually) solved the security issues that weāre currently seeing with X11. Those issues are cited as one of the reasons for switching to Wayland.
That extension never took off. The person on reddit wonders why ā I think itās simple: Containers and sandboxes werenāt a thing in 1996. It hardly mattered if X11 was āinsecureā. If you could run an X11 client, you probably already had access to the machine and could just do all kinds of other nasty things.
Today, sandboxing is a thing. Today, this matters.
Iāve heard so many times that āX11 is beyond fixable, itās hopeless.ā I donāt believe that. I believe that these problems are solveable with X11 and some devs have said āyeah, we could have kept working on itā. Itās that people donāt want to do it:
Why not extend the X server?
Because for the first time we have a realistic chance of not having to do that.
https://wayland.freedesktop.org/faq.html
Iām not in a position to judge the devs. Maybe the X.Org code really is so bad that you want to run away, screaming in horror. I donāt know.
But all this was a choice. I donāt buy the argument that we never would have gotten rid of things like core fonts.
All the toolkits and programs had to be ported to Wayland. A huge, still unfinished effort. If that was an acceptable thing to do, then it would have been acceptable to make an āX12ā that keeps all the good things about X11, remains compatible where feasible, eliminates the problems, and requires some clients to be adjusted. (You could have still made āX11X12ā like āXWaylandā for actual legacy programs.)
I wasnāt really aware until recently that programs canāt choose their own windowās position on Wayland. This is very weird to me, because this was not an issue on X11 to begin with: X11 programs can request a certain position and size, but the X11 WM ultimately decides if that request is being honored or not. And users can configure that.
But apparently, this whole thing is a heated debate in the Wayland world. š¤
This is just the universe telling me to reduce my screen time.
@lyse@lyse.isobeef.org To be fair, I did first notice this a while ago. But no monitor I ever had showed burn-ins like this (be it TFT or CRT), so I didnāt know that I should have sent it back. And then it got worse over time and now I see ghost images after 20-30 minutes. :(
@kat@yarn.girlonthemoon.xyz Ooooooohhhhh, nice š²
Really, it wonāt be long until I give the world the finger and move everything behind Gopher or Gemini. Itāll be a while until the bots find me there.
@prologic@twtxt.net Iād expect a custom build like that to cost at least 50ā000⬠here in Europe. Used campers with 100ā000 - 200ā000 km already on their clock are 20-40kā¬, apparently. š
gcr thing running with debug logs enabled that print stuff like āsending secret exchange: ā¦ā? Is this healthy?)
@lyse@lyse.isobeef.org Looks like it. š¤ Didnāt dig deeper into this, just uninstalled it. š„“
@lyse@lyse.isobeef.org 4 years. š«¤
Do I buy a new monitor or do I live with the burn-ins all the time? Itās getting annoying. When I edit images in GIMP, I have to double check if something is a pixel or a burn-in.
@prologic@twtxt.net If anything looks expensive, then itās that. š
Stuff that nobody needs:
systemctl uses ANSI escape codes to underline text (\e[4m) and then it also uses special escape codes ā that Wikipedia classifies as ānot in the standardā, but I havenāt looked it up ā to change the color of the underline. That color change is barely noticeable in the first place.
Some terminals donāt support this and now my systemctl output is blinking because of that.
(Now why is that GNOME gcr thing running with debug logs enabled that print stuff like āsending secret exchange: ā¦ā? Is this healthy?)
You know youāre getting old when thereās quite a few scripts in your ~/bin that you use daily, but you havenāt edited them once in well over 10 years ā¦
@lyse@lyse.isobeef.org āAdvancedā, well, probably more āmatureā. There arenāt a ton of crazy features and that icon thing is the largest code addition in the last 10 years. %)
Speaking of OS/2 ⦠I just realized that Windows 3.x didnāt have icons, either. If Iām not mistaken, this only got added in Windows 95. In other words, OS/2 had this feature before Windows did, because at least OS/2 2.1 from 1993 had icons. Who would have thunk.
(Now I kind of want to know which system really introduced this feature.)
@kat@yarn.girlonthemoon.xyz dmenu is such a great tool. So simple, yet so versatile.
@lyse@lyse.isobeef.org Oh, huh, maybe it was just my GNOME 2 themes back then that didnāt show the icon. š¤
I like the looks of your window manager. Thatās using Wayland, right?
Oh, no. Itās still X11. All my recent Wayland comments resulted from me trying to switch, but I think itās still too early. Being unable to use QEMU (because it canāt capture the mouse pointer) is a pretty big blocker for me. This is completely broken, it just happens to be unnoticeable with modern guest OSes, so itās probably not a priority for devs.
(Not to mention that I would have to fork and substantially extend dwl in order to āreplicateā my X11 WM. And then, after having done that, Iād have to follow upstream Wayland development, for which I donāt have the resources. Things would need to slow down before I can do that.)
all that wasted space of the windows not making use of the full screen!!!1
Heh. Iāve been using tiling WMs for ~15 years now, so itās actually kind of refreshing to see something different for a change. š
Probably close to the older Windowses.
That particular theme is a ripoff of OS/2 Warp 3: https://movq.de/v/6c2a948882/s.png š
We ran some similar brownish color scheme (donāt recall its name) on Win95 or Win98
Oh god. Yeah, I wasnāt a fan of those, either. š„“
@lyse@lyse.isobeef.org True, at least old versions of KDE had icons:
https://movq.de/v/0e4af6fea1/s.png
GNOME, on the other hand, didnāt, at least to my old screenshots from 2007:
https://www.uninformativ.de/desktop/2007%2D05%2D25%2D%2Dgnome2%2Dlaptop.png
I switched to Linux in 2007 and no window manager I used since then had icons, apparently. Crazy. An icon-less existence for 18 years. (But yeah, everything is keyboard-driven here as well and there are no buttons here, either.)
Anyway, my draft is making progress:
https://movq.de/v/5b7767f245/s.png
I do like this look. š
Hereās an example of X11/Xlib being old and archaic.
X11 knows the data type ācardinalā. For example, the window property _NET_WM_ICON (which holds image data for icons) is an array of ācardinalā. I am already not really familiar with that word and Iām assuming that it comes from mathematics:
https://en.wikipedia.org/wiki/Cardinal_number
(It could also be a bird, but probably not: https://en.wikipedia.org/wiki/Cardinalidae)
We would probably call this an āintegerā today.
EWMH says that icons are arrays of cardinals and that theyāre 32-bit numbers:
https://specifications.freedesktop.org/wm-spec/latest-single/#id-1.6.13
So itās something like 0x11223344 with 0x11 being the alpha channel, 0x22 is red, and so on.
You would assume that, when you retrieve such an array from the X11 server, youād get an array of uint32_t, right?
Nope.
Xlib is so old, they use char for 8-bit stuff, short int for 16-bit, and long int for 32-bit:
That is congruent with the general C data types, so it does make sense:
https://en.wikipedia.org/wiki/C_data_types
Now the funny thing is, on modern x86_64, the type long int is actually 64 bits wide.
The result is that every pixel in a Pixmap, for example, is twice as large in memory as it would need to be. Just because Xlib uses long int, because uint32_t didnāt exist, yet.
And this is something that I wouldnāt know how to fix without breaking clients.
@lyse@lyse.isobeef.org So it might just be what the youngsters call a āskill issueā? š
@lyse@lyse.isobeef.org They are optional dependencies and listed as such:
$ pacman -Qi pinentry
Name : pinentry
Version : 1.3.1-5
Description : Collection of simple PIN or passphrase entry dialogs which
utilize the Assuan protocol
Optional Deps : gcr: GNOME backend [installed]
gtk3: GTK backend [installed]
qt5-x11extras: Qt5 backend [installed]
kwayland5: Qt5 backend
kguiaddons: Qt6 backend
kwindowsystem: Qt6 backend
And itās probably a good thing that theyāre optional. I wouldnāt want to have all that installed all the time.
I was drafting support for showing āapplication iconsā in my window manager, i.e. the Firefox icon in the titlebar:
https://movq.de/v/0034cc1384/s.png
Then I realized: Wait a minute, lots of applications donāt set an icon? And lots of other window managers donāt show these icons, either? Openbox, pekwm, Xfce, fvwm, no icons.
Looks like macOS doesnāt show them, either?!
Has this grown out of fashion? Is this purely a Windows / OS/2 thing?
@lyse@lyse.isobeef.org @kat@yarn.girlonthemoon.xyz I spent so much time in the past figuring out if something is a dict or a list in YAML, for example.
What are the types in this example?
items:
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
size: 8
price: 133.7
quantity: 1
items is a dict containing ⦠a list of two other dicts? Right?
It is quite hard for me to grasp the structure of YAML docs. š¢
The big advantage of YAML (and JSON and TOML) is that itās much easier to write code for those formats, than it is with XML. json.loads() and youāre done.
/short/ if it's of this useless kind. Never thought that they ever actually will improve their Atom feeds. Thank you, much appreciated!
@lyse@lyse.isobeef.org I might need that script as well. šš
Only figured this out yesterday:
pinentry, which is used to safely enter a password on Linux, has several frontends. Thereās a GTK one, a Qt one, even an ncurses one, and so on.
GnuPG also uses pinentry. And you can configure your frontend of choice here in gpg-agent.conf.
But what happens when you donāt configure it? Whatās the default?
Turns out, pinentry is a shellscript wrapper and itās not even that long. Here it is in full:
#!/bin/bash
# Run user-defined and site-defined pre-exec hooks.
[[ -r "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec ]] && \
. "${XDG_CONFIG_HOME:-$HOME/.config}"/pinentry/preexec
[[ -r /etc/pinentry/preexec ]] && . /etc/pinentry/preexec
# Guess preferred backend based on environment.
backends=(curses tty)
if [[ -n "$DISPLAY" || -n "$WAYLAND_DISPLAY" ]]; then
case "$XDG_CURRENT_DESKTOP" in
KDE|LXQT|LXQt)
backends=(qt qt5 gnome3 gtk curses tty)
;;
*)
backends=(gnome3 gtk qt qt5 curses tty)
;;
esac
fi
for backend in "${backends[@]}"
do
lddout=$(ldd "/usr/bin/pinentry-$backend" 2>/dev/null) || continue
[[ "$lddout" == *'not found'* ]] && continue
exec "/usr/bin/pinentry-$backend" "$@"
done
exit 1
Preexec, okay, then some auto-detection to use a toolkit matching your desktop environment ā¦
⦠and then it invokes ldd? To find out if all the required libraries are installed for the auto-detected frontend?
Oof. I was sitting here wondering why it would use pinentry-gtk on one machine and pinentry-gnome3 on another, when both machines had the exact same configs. Yeah, but different libraries were installed. One machine was missing gcr, which is needed for pinentry-gnome3, so that machine (and that one alone) spawned pinentry-gtk ā¦
@lyse@lyse.isobeef.org The cynic in me says: āItās not bleeding edge, itās from 2008!ā Thatās not fair, though, looks like the issue only arose in libinput in 2019. And maybe these weird mice are super rare. Dunno.
@lyse@lyse.isobeef.org The underlines are a bit much, yes. It appears to be related to my font (Helvetica) ⦠Maybe they do some Unicode trickery these days, I donāt know. š«¤
@lyse@lyse.isobeef.org Whatās bleeding edge? The mouse? Yeah, maybe. š I didnāt buy that on purpose and didnāt even know hi-res mouse wheels were a thing ā¦
Since Wayland compositors handle input devices on a lower level than X11 window managers, every compositor has to figure out on their own what a āmouse wheel clickā is:
(I think āWayland compositorā is a misnomer. They are full-blown display servers that also do compositing, plus Wayland window management, plus X11 window management.)
One can only hope that all this eventually gets moved into the wlroots library. (Iām not sure if thatās possible, nor if people would want that.)
I wore a Kubernetes shirt, in public, by accident, and now I feel dirty and ashamed. š¢
@kat@yarn.girlonthemoon.xyz I kind of like XML because itās mostly well-defined and easy for humans to read (unlike YAML, which is a complete mess, imho) ⦠and at the same time, it can get complicated really fast. 𫤠But at least itās plain-text ā thatās the important part in this case. š
Xfce does one thing very right: It stores its settings in plain-text XML files. This allows me to easily read, track, and maybe even distribute these settings to other machines.
(Unlike GNOMEās dconf, which uses some binary file format. Fun fact: The older and now deprecated gconf also used XML files.)
Nuke it from orbit: https://www.aaron.ai/
Nooooooooooooooooooooooooooooooooooooooooooooooooooooooo, the doctors have started using AI voice agents and they understand jack shit. ššš
@lyse@lyse.isobeef.org Hm, I donāt think so, the requested page was a Linux-specific post. š¤ I sometimes wonder if privacy-oriented browsers might do this on purpose, to create garbage data? š¤ No idea.
@lyse@lyse.isobeef.org I honestly wish I could do more than just sit here and wait. Itās just a matter of time until they remove X.Org from the repos. 𫤠But I really canāt dedicate so much time to this ā¦
I give up.
Letās try again next year. I donāt have the stamina. Death by a thousand paper cuts.
Canāt set up a meaningful taskbar: https://github.com/labwc/labwc/discussions/2924 (This is not a labwc issue, itās a generic issue in the broader Wayland ecosystem.)
HTTP referrers are quite broken, arenāt they?
Because of that recent storm on my blog, I had a peek at them. Thereās a lot of garbage in there. For example, https://docs.freebsd.org/en/books/handbook/disks-virtual.html is supposed to refer to one of my blog posts ā¦
Whatās going on here?
@bender@twtxt.net Even I donāt believe in that anymore. :ā(