Can’t you roll back to a snapshot before the update that broke it? Then you can wait with updating for a week or two, in hopes that it gets fixed in the next Tumbleweed update…
Can’t you roll back to a snapshot before the update that broke it? Then you can wait with updating for a week or two, in hopes that it gets fixed in the next Tumbleweed update…
Ah, interesting. In my current setup, I dump the auxilliary files into a folder above the repo, but it can certainly make it a bit messy to find the repo in there then…
Rust does an interesting thing in this regard. It does still have ==
for checking if two values are equal, but well, it actually doesn’t have a traditional assignment operator. Instead, it has a unification operator, which programmers usually call “pattern matching”.
And then you can use pattern matching for what’s effectively an assignment and to some degree also for equivalence comparison.
See a few examples here: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=1268682eb8642af925db9a499a6d587a
You could use this crate to build a Rust program which uses the Qt GUI framework and therefore would feel rather ‘native’ in KDE.
But the vast majority of KDE applications continue to be implemented in C++.
For a project called “Potato Peeler”, I’ll put it into a structure like this:
~/Projects/Tools/Potato-Peeler/potato-peeler/
Tools/
is just a rough category. Other categories are, for example, Games/
and Music/
, because I also do gamedev and composing occasionally.
Then the capitalized Potato-Peeler/
folder, that’s for me to drop in all kinds of project-related files, which I don’t want to check into the repo.
And the lower-case potato-peeler/
folder is the repo then. Seeing other people’s structures, maybe I’ll rename that folder to repo/
, and if I have multiple relevant repos for the Project, then make it repo-something
.
I also have a folder like ~/Projects/Tools/zzz/
where I’ll move dormant projects. The “zzz” sorts nicely to the bottom of the list.
Is “code”, “designs” and “wiki” here just some example files in the repo or are those sub-folders, and you only have the repo underneath code
?
A distro is a complete installable operating system (+ a set of software repositories from which you can install updates and new software).
Many distributions (or their flavors/spins) will come with a default desktop environment and then usually also apply some distro-appropriate theming to that desktop environment.
If you look at screenshots of distributions, you’re likely just looking at screenshots of their themed default desktop environment.
And a desktop environment is essentially the GUI of your OS.
It includes software such as the panel/taskbar, the application menu, the systray, the audio system, icons, a login screen etc… It also typically comes with a set of default applications, such as a file manager, a terminal emulator, a text editor etc…
In a sense, the desktop environment contains essentially everything that differentiates a desktop OS from a server OS (the latter is usually just a terminal, without graphical interface).
Never was terribly happy with the previous Tumbleweed wallpaper. It’s background being so dark really clashed with the default light theme for KDE:
I guess, it looked better on GNOME:
But yeah, I’m hoping this rebranding means we’ll see appropriately set light and dark default wallpapers…
Rust has “const generics” which are, for example, used to pass the length of a fixed-length array via the type system. Apparently, const generics also do allow for some mild arithmetic.
https://doc.rust-lang.org/reference/items/generics.html#const-generics
I have a small CLI to create and manage note files. This week, I added a list
command, which just spits out the notes ordered by date, to help me reopen previously created notes.
You can pass along a flag e.g. --since="3 months ago"
or --since="2024-06-01"
to only open files created in that time range. I used the human-date-parser
crate for that.
Not yet entirely happy, as I would’ve liked to support --since="June"
and --since="2024"
. Will need to see, if I separately implement those.
Hmm, I read that the KDE devs changed the Breeze cursor to use SVG files, which allows scaling it for the shake-cursor-feature of Plasma 6.1. That feature’s only available on Wayland, but yeah, no idea if this really couldn’t be done on X11…
Is the normal Breeze cursor not an option?
I’m also not quite sure what you mean with “Wayland cursor”, but I’m using the default Breeze cursor under Wayland without problems…
Both parents are on openSUSE KDE. They only use the web browser and printer, so it pretty much doesn’t matter what UI they use, but it really helped with their acceptance that KDE not only works similar to Windows, it was a clear upgrade from Windows 7, with it looking more modern and being a lot faster.
I also like openSUSE for this, because YaST allows me to administer their PC without cracking out the terminal for everything. It just gives them at least a tiny bit of hope that they might be able to do this themselves. And my brother, who’s not a Linux person, has managed to fix things via YaST without my help.
Ultimately, though, I use openSUSE KDE myself, and that’s really important.
If my parents mildly complain about something, I can proactively offer to change that, because I know all the settings of KDE and YaST.
Or if I don’t know whether there’s a setting, I can go digging for it on my system.
But perhaps most importantly:
“This Linux thing isn’t working.” – “Hmm, it’s working on my system, so there’s gotta be a way to fix it.”
That immediately shuts down any negativity, so I can concentrate on fixing it, rather than deflecting their grumbling.
That’s the sad part. If there’s one thing that the open-source community produces an abundance of, it’s definitely text editors, but music players are a close second.
Previously, we’ve had XMMS as an open-source project that supported WinAmp skins.
And right now, perfectly actively maintained, there is QMMP.
I’d bet money that the code quality of QMMP is a lot higher than that of WinAmp. So, if anyone wanted an open-source WinAmp, it was there all along.
People are saying that the repo contained third-party code, some of which was proprietary, some was GPL. That’s two angles from which they could be sued very easily…
Well, qmmp is very much alive: https://qmmp.ylsoftware.com
Damn, lots of stuff. I’m guessing, they’re getting in all the changes for the 2024 edition, which don’t yet break backwards-compatibility.
Yeah, I do miss those, too, although I’ve noticed that I’m becoming ever more consistent with just naming my variables like the type is called and that works out nicely in Rust, because then you can also leave out the field name when filling in a struct with named fields. I’ll often have named my function parameters the same name that I ultimately need to pass into structs fields.
At this point, I’m secretly wondering, if a programming language could be designed where you don’t normally fill in variable names, but rather just use the type name to reference each value.
For the few cases where you actually do have multiple variables of the same type, then you could introduce a local (type) alias, much like it’s currently optional to add type annotations.
Someone should build this, so I don’t have to take on another side project. 🙃
This works with anything that one might call “named tuples”.
So, you can also define a struct like so and it’ll work:
struct Baz(i32);
On the other hand, if you define an enum variant with the normal struct syntax, it does not work:
enum Foo {
...
Qux { something: i32 } //cannot omit braces
}
Oh, you don’t have to always boot anew from the read-only snapshot.
When you’re booted into the working read-only snapshot, run
sudo snapper rollback
and then do a normal reboot.This will make that read-only snapshot your new (read-writable) system state. So, after doing this, your OS will be as if you never applied that update.
More info on that command: https://doc.opensuse.org/documentation/leap/archive/15.0/reference/html/book.opensuse.reference/cha.snapper.html#sec.snapper.snapshot-boot