[-] d_k_bo@feddit.org 9 points 23 hours ago* (last edited 18 hours ago)

The error message is very detailed and there is nothing to add to it.

If you want to install an application/CLI tool, use pipx or your system package manager. If you want to install a library, use a virtual environment (e.g. by using python -m venv) or your system package manager.

[-] d_k_bo@feddit.org 1 points 2 days ago

I think you understood their comment wrong. In your code (e.g. label.add_css_class("green");) you don't use a dot, but in the CSS stylesheet. It works the same as with HTML/JS/CSS.

[-] d_k_bo@feddit.org 2 points 2 days ago

Well, that's CSS :D

Note that if you create a custom Widget class, you can set a CSS name, wich isn't a CSS class and doesn't use a leading dot.

[-] d_k_bo@feddit.org 5 points 2 days ago* (last edited 2 days ago)

Just use label.add_css_class(), label.remove_css_class() or label.set_css_classes() and make sure to properly load your CSS style sheets, this is usually done by including them as a resource alongside .ui files and icons. If you are using libadwaita, you can also use its predefined style classes.

full example (requires nightly toolchain)

#!/usr/bin/env -S cargo +nightly -Zscript
***
[dependencies]
gtk = { package = "gtk4", version = "0.9.3", features = ["v4_12"] }
***

use gtk::{glib, prelude::*};

const STYLESHEET: &str = r#"
.green {
    color: green;
}
.red {
    color: red;
}
"#;

fn main() -> glib::ExitCode {
    let app = gtk::Application::builder()
        .application_id("org.example.HelloWorld")
        .build();

    app.connect_activate(|app| {
        let window = gtk::ApplicationWindow::builder()
            .application(app)
            .title("Hello, World!")
            .build();

        // Stylesheets are usually bundled with application resources
        // and automatically loaded
        let css_provider = gtk::CssProvider::new();
        css_provider.load_from_string(STYLESHEET);
        gtk::style_context_add_provider_for_display(
            &RootExt::display(&window),
            &css_provider,
            0
        );

        let box_ = gtk::Box::new(gtk::Orientation::Vertical, 6);

        let label = gtk::Label::builder()
            .label("Hello, World")
            .css_classes(["green"].as_slice())
            .build();
        box_.append(&label);


        let button = gtk::Button::builder()
            .label("Toggle Color")
            .build();
        box_.append(&button);

        button.connect_clicked(glib::clone!(#[weak] label, move |_| {
            if label.has_css_class("red") {
                label.add_css_class("green");
                label.remove_css_class("red");
            } else {
                label.add_css_class("red");
                label.remove_css_class("green");
            }
        }));

        window.set_child(Some(&box_));
        window.present();
    });

    app.run()
}

[-] d_k_bo@feddit.org 6 points 3 days ago

phyphox has an Audio Amplitude feature.

[-] d_k_bo@feddit.org 30 points 1 week ago

This is extremely sad. I use Syncthing a lot to sync documents between my phone an my computer.

The main benefit over client/server-based solutions are that it always works.
No network connection? No problem, the files are all stored locally.
I broke my home server again? No problem, the devices can talk directly to each other.

[-] d_k_bo@feddit.org 59 points 2 months ago

They even implemented it in Firefox: moz://a redirects to https://www.mozilla.org/en-US/about/manifesto/

[-] d_k_bo@feddit.org 115 points 2 months ago* (last edited 2 months ago)

I don't like it. He is just perpetuating the endless stereotypes that plague linux and harm linux adoption.

If you are using a somewhat stable distro and don't have weird hardware, you don't need to "write your own driver" etc. A lot more people "punch themselves in the face" by using a buggy, ad infested, data harvesting operating system even though they just need a web browser.

[-] d_k_bo@feddit.org 37 points 3 months ago

I think Germany’s done it twice now.

It was Munich and they switched back to Windows after M$ moved their German headquarters to Munich.

[-] d_k_bo@feddit.org 36 points 3 months ago

Declaring the use without a paid license as “Unlicensed” is very misleading since the project is also licensed under the GNU AGPL v3.0.

view more: next ›

d_k_bo

joined 4 months ago