fxdave

joined 2 years ago
[–] fxdave@lemmy.ml 1 points 1 week ago

well, yes, but for e.g. I wrote a software piece that happened to be only a hotkey daemon. And I could write it with X. Now, hotkey daemons are no longer a separate thing unless the compositor exposes a grab API. Which never going to be in Wayland protocol, because they consider this client server architecture a problem.

[–] fxdave@lemmy.ml 2 points 1 week ago

There's hope. Thanks for letting me know.

[–] fxdave@lemmy.ml 2 points 1 week ago (2 children)

Now instead of having Wayland covering everything, applications try to cover every desktops. In the good old times, it worked everywhere.

Why does flameshot need to handle different wayland desktops separately? Because simply the protocol doesn't do it's job. It doesn't cover everything. It's indeed not ready.

[–] fxdave@lemmy.ml 0 points 1 week ago (6 children)

I think it kills the community. Making a Wayland window manager is so much harder to do than an X one. This monolithic solution solves the problems of Gnome, and KDE developers but less people want to be involved in windowing systems. I'm just being sad for X11, because, although it had nonsense features, it made linux desktop applications compatible with every desktop and we had huge variety of wms, compositors, desktop environments. Personally I'm still on X because of bspwm, but eventually there will be wayland-only features which will slowly kill X.

[–] fxdave@lemmy.ml 0 points 2 weeks ago* (last edited 2 weeks ago)

there are products that I would buy if I would know they exist but I don't because they don't have enough money to do advertisment. It's inherently an unfair competition. The only ads that I would like to see is a tematical search for all of the buyable products and services.

[–] fxdave@lemmy.ml 0 points 2 weeks ago* (last edited 2 weeks ago)
***
that might potentially sell
+++ that is pushed with money
[–] fxdave@lemmy.ml 4 points 1 month ago

I'm a contractor and I use linux if that counts :D

[–] fxdave@lemmy.ml 0 points 1 month ago (2 children)

If they want to fight hard, they just add the ads into the stream.

[–] fxdave@lemmy.ml 0 points 1 month ago

In a perfect world we wouldn't have ads.

[–] fxdave@lemmy.ml 0 points 1 month ago

I liked this discussion. However, I think both of you have different axioms. It's a pro-socialism vs pro-capitalism debate.

In capitalism, we need innovation to create new value. Or you can pollute water to sell water bottles which will have value now. It's up to citizens to decide what to restrict that was publicly available or what to innovate.

In socialism, the innovation is only happening where it needs to happen carefully planned and funded by the government.

I'm rather socialist, so I'd defend it:

Having a software with inability to modify is injustice, It's the same as polluting a water to sell it. Even if we need to pollute the water to sell it, it doesn't justify pollution.

[–] fxdave@lemmy.ml 0 points 1 month ago

You can't make a law for everything evil that corporations do. Social democracy is flawed inherently. We need direct decision power of people in those firms. Never gonna happen though.

[–] fxdave@lemmy.ml 0 points 2 months ago

I recently installed Nix alongside with Arch. I feel the same. After years of using Arch I spent two days to get everything configured the same as in my Arch, and I haven't finished it yet.

 

I have a plugin trait that includes some heavy types that would be almost impossible to wrap into a single API. It looks like this:

pub struct PluginContext<'a> {
    pub query: &'a mut String,
    pub gl_window: &'a GlutinWindowContext,
    flow: PluginFlowControl,
    pub egui_ctx: &'a Context,
    disable_cursor: bool,
    error: Option<String>,
}
pub trait Plugin {
    fn configure(&mut self, builder: ConfigBuilder) -> Result<ConfigBuilder, ConfigError> {
        Ok(builder)
    }
    fn search(&mut self, ui: &mut Ui, ctx: &mut PluginContext<'_>);
    fn before_search(&mut self, _ctx: &mut PluginContext<'_>) {}
}

Here is what I considered:

  1. Keeping all plugins in-repo. This is what I do now, however I'd like to make a plugin that would just pollute the repository. So I need another option that would keep the plugins' freedom as it is right now, but with the possibility to move the plugin out to a separate repository.
  2. I tried to look into dynamic loading, and since rust doesn't have a stable ABI, I'm okay with restricting the rust versions for the plugin ecosystem. However, I don't think it's possible to compile this complex API into a dynamic lib and load it safely.
  3. I'm also ok with recompiling the app every time I need a new plugin, but I would like to load these plugins automatically, so I don't want to change the code every time I need a new plugin. For example, I imagine loading all plugins from a folder. Unfortunately, I didn't find an easy solution for this neither. I think I will write a build macro that checks the ~/.config/myapp/plugins and include all of them into the repo.

Do you have any better ideas, suggestions? Thanks in advance.

(For context, this the app I'm writing about: https://github.com/fxdave/vonal-rust)

43
submitted 1 year ago* (last edited 1 year ago) by fxdave@lemmy.ml to c/asklemmy@lemmy.ml
 

We decided to test whether the car can handle long ranges by going to Austria next week. It's a large country with numerous places, so I want to ask your help. Have you ever been to there?

EDIT: Thanks the suggestions for everyone, they were really useful!

view more: next ›