herzenschein

joined 1 year ago
MODERATOR OF
kde
[–] [email protected] 10 points 1 month ago (1 children)

In that section, if you click the button to configure the Mouse Mark effect, you can see the shortcuts for clearing Mouse Mark:

  • Clear last mouse mark: Super + Shift + F12
  • Clear all mouse marks: Super + Shift + F11
[–] [email protected] 3 points 1 month ago* (last edited 1 month ago)

While the summary + interview The Register did was decent, when you read the actual paper, the proposal is way more interesting.

Not a fan of mut instead of just plain mutable, though.

Also I sure hope the compiler messages for this feature won't be like the circle examples in the proposal in the end.

[–] [email protected] 1 points 2 months ago (1 children)

A small correction:

For example, there are Kirigami bindings for Python you can use to do a desktop/mobile app.

Kirigami is QML all the way, it doesn't need bindings since you'd be writing in QML either way. The Python part is about the actual business logic. :)

[–] [email protected] 2 points 3 months ago (1 children)

I'd be curious to see a blog post in the future mentioning the challenges you might have faced making the dock work on Wayland, and what was needed for that.

[–] [email protected] 1 points 3 months ago

When you search using the Starred filter, usually you get the main project at the top since that's the one with the most stars.

I added a KRunner web shortcut for this that automatically searches using that filter: https://rabbitictranslator.com/kfluff-web-shortcuts/

 

I always see:

  • people being told they can contribute to KDE with C++/QML
  • people being told they can contribute to KDE without code

But I don't often see:

  • people being told that they can contribute to KDE with code that is not C++

I like C++, QML, and even CMake, but you might not be interested in them or you might just not be willing to spend time learning another language, and that's perfectly fine.

In this blog post I list a few KDE projects that you might not know about that might be written in your preferred language or in a specialized format you have expertise or interest in.

By far, the most popular programming language actively used in KDE other than the expected languages is Python.

We also have stuff that would interest sysadmins (containers), packagers (snap/flatpak) and web developers.

[–] [email protected] 4 points 3 months ago* (last edited 3 months ago)

Looks like an old bug with kscreen that could cause two screens to merge together and would be worked around exactly the same way you did. I used to have that whenever a blackout happened, but only with Plasma 5, and often on X11.

[–] [email protected] 3 points 4 months ago

What's used under the hood for this is udisks, the same thing used by other file managers to achieve mounting capabilities. It allows you to mount devices without needing to mess with something cryptic and archaic like fstab and doesn't require root.

You can always keep using fstab of course since it works, but in that case you probably also want to use fstab systemd integration.

The KDE auto mount never worked on plasma 6

Please report your issues on https://bugs.kde.org so they can actually get fixed!

[–] [email protected] 6 points 5 months ago* (last edited 5 months ago)

My understanding of Linux programming is that it’s mostly done in a code editor, then compiled on the command line.

That's not really true. You can do that, but with most IDEs (and some text editors) you really don't need to do that. You can do everything from the IDE.

I’m aware that cmake exists, and I’ve used it a bit, but I don’t like it. VS lets me just drop a .h and .cpp file into the solution explorer and I’m good-to-go. Is there really no graphical alternative for Linux?

It depends on the IDE and how it handles project files. Nowadays Qt Creator for example can just create your source code files and automatically add them to the generated project CMake. I'm pretty sure other IDEs or text editors have this functionality when paired with CMake or Meson too.

It must be noted that if the IDE has some custom project file manager (like Visual Studio does with sln and vcproj files) and you use it exclusively, you'll likely restrict your project to one platform and one IDE. Using something like CMake or Meson will make it easier to do crossplatform development and will let your users build the project without needing that specific IDE.

Personally I like modern CMake, the problem is that you'll see a lot of projects in the wild doing old CMake style, which is awful. Meson is okay, although it feels very Pythonic to me and lacks some features I use for Qt stuff.

[–] [email protected] 2 points 7 months ago* (last edited 7 months ago)

I remember once researching when to use variant and any, and coming up with https://stackoverflow.com/questions/56303939/c-stdvariant-vs-stdany. The naïve summary being:

any is a dressed-up void*. variant is a dressed-up union.

So you'd use std::any for similar reasons to void* (that other commenters already mentioned) while getting some advantages. In that sense it's kinda similar to using a std::span for pointer arithmetic instead of actual C-style pointer arithmetic, it makes a necessary evil safer to do.

[–] [email protected] 3 points 7 months ago* (last edited 7 months ago)

can I write modern C++ code using the newer standards and still compile with libraries from older standards?

Yes, but then your project ends up requiring that newer standard as minimum too (which can be fine if that's what you want).

how do I even organize a C++ project?

Well, one way that should be simple and scalable for beginners is leaving the root folder for project configuration/metadata/contribution guidelines/clang-format etc. and putting all source code inside src/.

If it's just an app, you can make smaller library targets in src/ in separate folders with meaningful names, like src/models/, src/settings/ etc. If it's a library, you typically put headers you intend to expose to your users in a src/include/ folder and use target_include_directories() to point to it, otherwise the same principle as apps applies.

It requires writing a few more, smaller CMakeLists, but it does mean you're never lost in your own code.

how do I install dependencies?

We added this recently to KDE's developer documentation, so at least for Linux it's a start: Installing build dependencies: Using build errors to find missing dependencies.

 

Best resource I've seen out there for template basics. It even briefly mentions variadic templates, concepts that are easy to understand, auto in function parameters (a.k.a. abbreviated function templates) and how to find out what type is chosen when you do class template automatic deduction (CTAD).

I feel like this is an absolute must-watch if you want to know about modern template practices.

 

I quite liked this talk. Especially where Vincent talks about aggregate initialization, invariants and avoiding invalid values.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)
view more: next ›