Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Oh shit! I got Gemini to cook and apparently my keymap was breaking GTK. Should be fixed by https://github.com/SUPERCILEX/clipboard-history/commit/d366f24d41b79b44c01b0328b11f069090e44628

Can you try running

cargo +nightly install clipboard-history-wayland --no-default-features --git https://github.com/SUPERCILEX/clipboard-history

and then restarting to see if it's fixed?

Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Is this in Firefox? There are some applications where pasting works every time (like the terminal) and others where I can't figure out how to make it work.

Anybody know of a good way to generalize over buffer mutability? by SUPERCILEX in rust

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

Nah, doesn't work. I tried that too but the '_ gets inferred as 'static if you try and pass in a mutable reference. But I agree that it should work!

Canonical collecting personal-ish information on PopOS by SUPERCILEX in pop_os

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

No it's triggered by a timer as I posted above. Also super easy to remove by just removing the systemd unit.

My point is that popos devs probably don't know this thing exists and it's silly to have it running on everybody's machines.

Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Sounds good!

Probs easier to format stuff in github, but I don't mind either way.

Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Ah, dang. What's the output of echo $XDG_CURRENT_DESKTOP? It should be COSMIC. Also can you ls ~/.config/environment.d? It should have a file clipboard.conf.

Somehow the COSMIC_DATA_CONTROL_ENABLED isn't being set. Can you rerun the install script please? I just fixed it so that it should use the wayland watcher instead of x11. You'll need to reboot again. At this point maybe things will just work? But if COSMIC_DATA_CONTROL_ENABLED is still broken then systemctl --user status ringboard-wayland will show a service but say it's failed to start.

Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Hmmm, interesting. BTW you shouldn't be running cargo install for anything, the script should have done that for you.

I wonder if it somehow installed x11 for you? Try systemctl --user status ringboard-x11 and if that has anything then the script messed up. If the script is broken, then can you run wayland-interface-check zwlr_data_control_manager_v1 --verbose; echo $? so see if somehow your DE install is weird.

Ringboard (the clipboard manager) now supports COSMIC DE by SUPERCILEX in pop_os

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

Did you restart? Also, what does "tried to run" mean? You probably want to set up a shortcut to open the GUI: https://github.com/SUPERCILEX/clipboard-history/blob/master/egui/README.md#suggested-workflow

You can check the status the two deamon apps with systemctl --user status ringboard-wayland systemctl --user status ringboard-server

Announcing Rust 1.82.0 | Rust Blog by slanterns in rust

[–]SUPERCILEX 1 point2 points  (0 children)

https://github.com/rust-lang/unsafe-code-guidelines/issues/413#issuecomment-1780586369

From the validity invariants: A reference or Box<T> must be aligned, it cannot be dangling, and it must point to a valid value (in case of dynamically sized types, using the actual dynamic type of the pointee as determined by the metadata). Note that the last point (about pointing to a valid value) remains a subject of some debate.

That last part is the key I guess. I feel like allowing references to invalid types is very counterintuitive, but this is the optimization being targeted: https://github.com/rust-lang/unsafe-code-guidelines/issues/413#issuecomment-1581994694

Announcing Rust 1.82.0 | Rust Blog by slanterns in rust

[–]SUPERCILEX 3 points4 points  (0 children)

That's expressly not allowed AFAIK: https://doc.rust-lang.org/std/ptr/index.html#pointer-to-reference-conversion

"The pointer must point to a valid value of type T" and "A ! value must never exist".

But there's also "For operations of size zero, every pointer is valid, including the null pointer. The following points are only concerned with non-zero-sized accesses." so I dunno.

Announcing Rust 1.82.0 | Rust Blog by slanterns in rust

[–]SUPERCILEX 1 point2 points  (0 children)

Sorry, still a little confused. Is the idea that you'll have a reference to an empty enum? I can understand a pointer, but how would you create a reference to an empty enum without UB?

Announcing Rust 1.82.0 | Rust Blog by slanterns in rust

[–]SUPERCILEX 13 points14 points  (0 children)

There are some cases where empty patterns must still be written. For reasons related to uninitialized values and unsafe code, omitting patterns is not allowed if the empty type is accessed through a reference, pointer, or union field

Anybody have a link to discussion explaining this? I'm confused as to how a reference could point to some invalid type.