There is a long discussion. Itβs not a trivial problem, especially not in the context of GTK and multiple competing terminal widgets. st dodges all these issues (for various reasons).
Something happened with the frame rate of terminal emulators lately. It looks like thereβs a trend to run at a high framerate now? Iβm not sure exactly. This can be seen in VTE-based terminals like my xiate or XTerm on Wayland. foot and st, on the other hand, are fine.
My shell prompt and cursor look like this:
$ β
When I keep Enter pressed, I expect to see several lines like so:
$
$
$
$
$
$
$ β
With the affected terminal emulators, the lines actually show up in the following sequence. First, we have the original line:
$ β
Pressing Enter yields this as the next frame:
$
β
And then eventually this:
$
$ β
In other words, you can see the cursor jumping around very quickly, all the time.
Another example: Vim actually shows which key you just pressed in the bottom right corner. Keeping j pressed to scroll through a file means I get to see a j flashing rapidly now.
(I have no idea yet, why exactly XTerm in X11 is fine but flickering in Wayland.)
The WM_CLASS Property is used on X11 to assign rules to certain windows, e.g. βthis is a GIMP window, it should appear on workspace number 16.β It consists of two fields, name and class.
Wayland (or rather, the XDG shell protocol β core Wayland knows nothing about this) only has a single field called app_id.
When you run X11 programs under Wayland, you use XWayland, which is baked into most compositors. Then you have to deal with all three fields.
Some compositors map name to app_id, others map class to app_id, and even others directly expose the original name and class.
We covered quite some ground in the two and a half hours today. The weather was nice, mostly cloudy and just 23Β°C. Thatβs also why we decided to take a longer tour. We saw four deer in the wild, three of which I managed to just ban on film, quality could be better, though. My camera produced a hell lot of defocused photos this time. Not sure whatβs going on with the autofocus. https://lyse.isobeef.org/waldspaziergang-2025-07-10/
When the sun came out, colors were just beautiful:
(#i3mn6nq) @prologic@twtxt.net@bender@twtxt.net Thatβs what I thought as well, sounds way too expensive to me. But I have no idea what the prices are over here. Probably also astronomical. Campers sit around most of the time, one really would need to use them a lot to justify spending so much money on them.
But yeah, each to their own (expensive) hobbies. :-) I, for example, burn my money on tools that I donβt reallyβ’ need. :-P
Been spending a lot of time researching campers as I want to / plan to upgrade our current Camper Trailoer (forward fold) Stoney Creek XL-FF6 to a slightly larger Hybrid Camper/Caravan with ensuite, internal kitchenette, external full hitchen, pop-top roof and twin bunks.
(#cfv7cqa) @movq@www.uninformativ.de Iβd love to have a Python script pushing my local CSV, too. But thatβs never gonna fly, not in a thousand years. I canβt imagine that ever becoming reasonably stable without having to fix everything after the reverse-engineered API changes again.
There have been several attempts at porting dmenu from X11 to Wayland. Well, not exactly βportingβ it, more like rewriting it from scratch. Turns out: Itβs not that easy.
dmenu is super fast and reliable. None of the Wayland rewrites are (at least none of the popular ones that I know of). They are either bloated and/or slow.
It takes a lot of discipline and restraint to write simple software and not blow up the codebase. This is much harder than people think. Itβs a form of art, really.
(#cfv7cqa) @lyse@lyse.isobeef.org I do my timetracking in a little Python script, locally. Every now and then, I push the data to our actual service. Problem solved β but itβs a completely unpopular approach, they all want to use the web site. I donβt get it. Then, of course, when itβs down, shit hits the fan. (Luckily, our timetracking software is neither developed nor run by us anymore. Itβs a silly cloud service, but the upside is that Iβm not responsible anymore. π€·)
Some of our oldschool devs tried to roll out local timetracking once, about 15 years ago. I donβt remember anymore why they failed β¦
This is developed inhouse, Iβm just so glad that weβre not a software engineering company. Oh wait. How embarrassing.
Oh to be anonymous on the internet. That must be nice. π
The error message neither includes the timeframe nor a link to an announcement article.
The HTML page needs to download JS in order to display the fucking error message.
Proper HTTP status codes are clearly only for big losers.
Despite being down, heaps of resources are still fetched.
I find it really fascinating how one can screw up on so many levels. This is developed inhouse, Iβm just so glad that weβre not a software engineering company. Oh wait. How embarrassing.
(#hdfz6xa) @prologic@twtxt.net Yeah, this really could use a proper definition or a βmanifestβ. π Many of these ideas are not very wide spread. And I havenβt come across similar projects in all these years.
Letβs take the farbfeld image format as an example again. I think this captures the βspiritβ quite well, because this isnβt even about code.
This is the entire farbfeld spec:
farbfeld is a lossless image format which is easy to parse, pipe and compress. It has the following format:
ββββββββββ€ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Bytes β Description β
β βββββββββͺββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£
β 8 β "farbfeld" magic value β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β 4 β 32-Bit BE unsigned integer (width) β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β 4 β 32-Bit BE unsigned integer (height) β
ββββββββββΌββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ’
β [2222] β 4x16-Bit BE unsigned integers [RGBA] / pixel, row-major β
ββββββββββ§ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
The RGB-data should be sRGB for best interoperability and not alpha-premultiplied.
(Now, I donβt know if your screen reader can work with this. Let me know if it doesnβt.)
I think these are some of the properties worth mentioning:
The spec is extremely short. You can read this in under a minute and fully understand it. That alone is gold.
There are no βknobsβ: Itβs just a single version, itβs not like thereβs also an 8-bit color depth version and one for 16-bit and one for extra large images and one that supports layers and so on. This makes it much easier to implement a fully compliant program.
Despite being so simple, itβs useful. Iβve used it in various programs, like my window manager, my status bars, some toy programs like βtuxeyesβ (an Xeyes variant), or Advent of Code.
The format does not include compression because it doesnβt need to. Just use something like bzip2 to get file sizes similar to PNG.
It doesnβt cover every use case under the sun, but it does cover the most important ones (imho). They have discussed using something other than RGBA and decided itβs not worth the trouble.
They refrained from adding extra baggage like metadata. It would have needlessly complicated things.
(#hdfz6xa) For example, I reckon software should treat stdout and stderr with care and never output logs or other such garbage to stdout that cannot possibly be useful in a UNIX pipeline π
(#hdfz6xa) @movq@www.uninformativ.de Yeah thatβs why Iβm striking this conversation with you π Not only do I respect your opinion quite highly π€£ But like you say (and Iβve read their philipshpy) it can be a bit βelitismβ for sure. Iβm genuinely interested in what we think of as software that βdoesnβt suckβ. Tb be honest I havenβt really put thought to paper myself, but I reckon if I did, Iβd have some opinions/ideasβ¦
Maybe this topic could use a blog post / article, that explains what itβs about. Iβm finding it hard to really define what βsuckless-like softwareβ is. π€ (Their own philosophy focuses too much on elitism, if you ask me.)
(#hdfz6xa) @prologic@twtxt.net Ah, Iβm referring to software thatβs similar to that of suckless.org: Small, minimal codebases, small tools, but still useful. dmenu is probably the best example and also farbfeld.
Hereβs the author of Anubis talking about some of their experiences:
(#7upqiiq) @eldersnake@we.loveprivacy.club This wasnβt always the case, though. Quake3, Quake4, Unreal Tournament 99 and 2004 are examples of games that used to run very well as native Linux games. But that was 20+ years ago β¦
(#cj4f2ya) @eldersnake@we.loveprivacy.club Yeah for sure! The thing that annoys me about a lot of this, is the sheer fact you canβt really self-host let alone self-train these things Iβve been playing around with AI at home over the past few months and building my own neural networks from scratch (in Go) with genetic algorithms on a few tasks and training sets, but man itβs hardβ’ π€£ I feel like weβre doing something wrong hereβ¦
(#cj4f2ya) @eldersnake@we.loveprivacy.club This was an interesting read for sure! π I donβt think it had anything I hadnβt already considered in terms of the ethical/moral points of view. Iβm not sure where I stand myself either to be honest. Iβve forced myself to get familiar with the ecosystem and tooling, because in my line of work as a tech lead (staff engineer in sre) you donβt want to be that one guy that ya know π Ethically/Morally though, Iβm definitely with the sentiment of this post π Much like the whole Crypto hype yaers back (if yβall remember?!) this is also one of the most energy hungry pieces of βtechβ (if you can call it that?) in a while. Then thereβs these other issues βstealing peopleβs workβ, βreliance is causing humans to become cognitively weak and neural connections to shrinkβ, to name a fewβ¦
(#7upqiiq) In all fairness, GOG says that Forsaken is only supported on Ubuntu 16.04 β not current Arch Linux. If you ask me, this just goes to show that Linux is not a good platform for proprietary binary software.
Is it free software, do you have the source code? Then youβre good to go, things can be patched/updated (that can still be a lot of work). But proprietary binary blobs? Very bad idea.
I bought the βremasteredβ versions of Grim Fandango and Forsaken on GOG, because theyβre super cheap at the moment. Both have native Linux versions.
And both these Linux version crap their pants. π«€ The bundled SDL2 of Forsaken says it βcanβt find a matching GLX visualβ and I couldnβt figure out how to fix that. I didnβt spend a lot of time on Grim Fandango.
Both work great in Wine. π€¦
(I do have the original version of Grim Fandango from the 1990ies, but that one does not work so well in Wine. I figured, if itβs so cheap, why not. And I now get to play the english version. π The german dub is pretty damn good, actually, but I always prefer the original these days.)