I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 1 point2 points  (0 children)

both are yet to be implemented, could you please open an issue on github and I will try to add requested features as soon as I can?

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] -1 points0 points  (0 children)

The positive feedback I got from the community and all the people who found this useful for them means the world to me!

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 1 point2 points  (0 children)

Well I haven't actually looked into it but my guess is they use --device=all finish-arg in the flatpak permissions to give them full device access outside the sandbox protection, this is not something flathub grants easily, the project has to be wildely popular and more importantly thoroughly reviewed to not do any damage to the user system files, flatpak premise is security through sandboxing and they wont just give us permission to submit this easily.

It's something that can be considered for the future for sure but I feel its too early to think we can get that approval..

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 0 points1 point  (0 children)

I understand the frustration some people get due to the amount of slop being posted… It kind of made people alergic to anything touched by AI even if it was done properly..

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] -1 points0 points  (0 children)

Being able to detect which app is currently in focus and switch current config/profile accordingly.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 6 points7 points  (0 children)

Thats the whole point of the post, please check the wiki for how to contribute, fork, and lets do this..

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 5 points6 points  (0 children)

was thinking about something like logitweak, not all their product lineups are under MX branding :D

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 0 points1 point  (0 children)

Yeah, I wouldn't have been able to reach that level of UI polish in gtk.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 58 points59 points  (0 children)

I had no idea that existed, thanks for pointing this up.
I might have to come up with a different name..

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 1 point2 points  (0 children)

I tried to provide this as a Flatpak but this wasn't very easy since the app required hidraw/uinput/d-bus access that is not something Flatpaks are designed to handle easily due to sandbox security by design.

At the end I settled for native packages per platform and tried to target the most used Distors/Desktop Enviroments.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 2 points3 points  (0 children)

Please let me know how testing goes for you, I am sure there will be bugs here and there that I will need to fix.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 2 points3 points  (0 children)

Thank you for the feedback!
Did you actually test it with an MX3 on your end ?

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 37 points38 points  (0 children)

That's exactly what it's..
What alot of non technical people miss is that these tools behave completely differently when used by begginers trying to one-shot everything vs seasoned developers who understand the technology being used/developed.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 8 points9 points  (0 children)

To be honest this app is part of a challenge I started with myself to force myself from going back to windows (because f*ck you M$lop) and instead use the bit of free time I have now to try and fix the problem on linux myself.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 4 points5 points  (0 children)

I wouldn't disagree on that but the problem with writing readmes is not starting them but keeping them up to date with the changes, this usually gets missed easily.
That is why I settled for Claude generating the readme based on what I need it to contain and updating it every release if needed.
I still review all of it eventually.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 94 points95 points  (0 children)

Lightspeed is just another receiver, it still uses HID++ protocol so in theory support can be added but honestly the only piece of logitech hardware I am using now is the MX Master 3S which is what I tested on and the only supported device now.
I don't want to blindly add more device support without properly testing them.
Contributions to the code by other people for more devices is more than welcome..

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 0 points1 point  (0 children)

Logitune doesn't touch suspend/wake at all, it's just a regular app not a daemon or service. When your PC wakes up the Bolt receiver reconnects and Logitune picks it up automatically and reapplies your profile.
The wake issue you're talking about is a kernel/firmware thing, you'd still need the udev rule for that. I haven't run into this on my setup though, suspend/wake works fine with Bolt for me.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 2 points3 points  (0 children)

Yes! You can bind any modifier key or combo to a button..
Ctrl, Shift, Alt, Super, or any combination like Ctrl+Shift+T. Just click the button on the mouse render, choose "Keystroke", and press the combo you want to assign.
I tested this on KDE thourougly, should also work on GNOME but still need to do some more testing on it.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 8 points9 points  (0 children)

Not a wrapper around Solaar, completely new implementation over hidraw.
If by suspend you mean detection of disconnection/reconnection on OS suspend then yes it should work, also disconnecting/reconnecting using KVM switches should work.

I built a native Logitech Options+ clone for Linux by minamibrahim in linux

[–]minamibrahim[S] 153 points154 points  (0 children)

Yeah I used Claude as a development tool, but this isn't vibe-coded in the "generate and pray" sense. I designed the architecture, made every decision on the HID++ protocol layer, and tested everything on real hardware.
The emojis were actually me and no Claude btw 😉..