19

Up until now I simply used Element, it just works and it doesn't look too bad. Unfortunately, I now have two Matrix accounts, my personal account and the account my university automatically created on their own matrix instance.
I need to communicate using both my accounts now, but Element couldn't handle two accounts at the same time, so I went on to install a second client, Fractal, which also supports multiple accounts. However, I am somewhat unhappy with Fractal because I cannot select text in messages.

Please share your experiences and recommendations with or on matrix clients.

[-] VegOwOtenks@lemmy.world 18 points 2 weeks ago

@Mothra@mander.xyz @Slein4273@feddit.org @mvirts@lemmy.world
Sorry for the tags, but otherwise I would have had to respond to all your comments individually.

I also wanted to read on, so I searched for the book and found a page where it was possible to 'read a preview'

153
-28
[-] VegOwOtenks@lemmy.world 1 points 1 month ago

You could wrap the entirety of your file in a monster macro but you'd still have to assign the macro result to a variable you need to register, which doesn't sound viable to me at least.

Maybe you can use a script that would extract all the trait implementations and create the boilerplate glue code for you, something like this:

grep --recursive --only-matching "impl PluginFunction for \w*" functions/ | sed --quiet "s/functions\/\(.*\)\.rs:impl PluginFunction for \(\w*\)/crate::functions::\1::\2{}.register(\&mut functions_map)/p"

I tried to recreate your situation locally but it may not match perfectly, maybe you'll have to adjust it a little. When I run it on my file tree which looks like this

functions
├── attr.rs
├── export.rs
└── render.rs

1 directory, 3 files

where every file has a content like this

// comment

pub struct MyAttrStructName {}

impl PluginFunction for MyAttrStructName {

}

Then I receive the following output:

crate::functions::attr::MyAttrStructName{}.register(&mut functions_map)
crate::functions::export::MyExportStructName{}.register(&mut functions_map)
crate::functions::render::MyRenderStructName{}.register(&mut functions_map)
223
[-] VegOwOtenks@lemmy.world 25 points 4 months ago

You can use backreferences \1 \2 etc. but you can also give them names explicitly.
it looks like this: (?<name>inner-regex)
Some flavors support it, kotlins doesn't apparently.

[-] VegOwOtenks@lemmy.world 8 points 4 months ago* (last edited 4 months ago)

I don't actually know whether POSIX grep would support named groups :o

392
Regex flavors (lemmy.world)
[-] VegOwOtenks@lemmy.world 1 points 4 months ago

You can, another comment mentioned that. Only, I didn't mean to spread misinformation because I haven't used anything else in years.

[-] VegOwOtenks@lemmy.world 5 points 5 months ago

I feel this, I like to see my wallpaper

[-] VegOwOtenks@lemmy.world 22 points 5 months ago

I was amazed to find out you can open a new tab by using middle-click in firefox.

[-] VegOwOtenks@lemmy.world 6 points 5 months ago

Fair point. My browser (FF) supports 'search in tabs' as well and suggest it over a new search engine result when typed in the address bar. I don't know what about the style makes me think this, but it looks like FF on Windows in the Screenshot.

204
220
getsockname() (lemmy.world)
[-] VegOwOtenks@lemmy.world 4 points 6 months ago

Love seeing a GNOME rice, I tried some GNOME ricing on a Fedora myself, however I was unable to get any further than installing Extensions 'Just Perfection' to hide some elements or using 'Burn my Windows', which I loved.

What did you use to style your GNOME-Shell Components?

VegOwOtenks

joined 6 months ago