i18n-format for Rust

A quick announcement for i18n-format, a Rust crate to help with string localization. While it's not GNOME specific as it is only about gettext, I wrote it for GNOME applications.

The goal is to allow the use of gettext! and ngettext! while xgettext can still extract the strings.

Simple use:

use i18n_format::i18n_fmt;

let number = 1;
let s = i18n_fmt! {
    i18n_fmt("This is number {}, make it so !", number)
};

In your po/meson.build, make sure to have:

i18n.gettext(gettext_package,
  args [
    '--keyword=i18n_fmt',
    '--keyword=i18n_nfmt:1,2'
  ],
  preset: 'glib')

If you use the regular gtk-rust-template, that's probably all that needs to happen.

Don't forget to check the documentation, or the code.

read more →

Introducing Toot That!

Introducing Toot That!.

It's a small WebExtension (browser add-on) for Firefox.

It's the successor of Tweet That! but for use with Mastodon (the Fediverse).

It allows posting a link to the current tab to your chosen Mastodon instance. Only the server knows this is happening. The extension doesn't send anything else.

Install it as a Firefox Add-ons.

read more →

Niepce December 2022 updates

Happy new year !

Here is some udpdate on Niepce work done in December 2022. Mostly changes under the hood, but important ones to move forward with improving the features. The short version: it feels great to remove C++ code.

read more →

Niepce November 2022 updates

Here are the updates in Niepce development for November 2022.

I'll try to bring these updates on a more regular basis. In case you missed it, there was a May update.

read more →

Fall of releases

A couple of Rust crate releases.

Now that the new glib-rs (and gtk-rs) are out, it's time for an update of gudev Rust bindings using the newer version of glib-rs.

At the same time I updated midi-control to use a newer version of midir to iron out a cargo audit warning.

Available from crates.io.

Introducing Compiano

I previously introduced Minuit. Later I got notified that there was also a music education application for KDE named Minuet. So it was natural to yield the name. It's relatively easy to do when you haven't had a release.

I decided to rename my application Compiano, a portemanteau word for Computer Piano.

read more →

RTKit, portals, and Pipewire

Peeling an onion, or how a bug report in a flatpaked application lead to fixes in three different part of the stack, but no change in the application itself.

read more →

Release day

It's release day, sorta. Both libopenraw and Exempi got a new release within two days. Here is what's up.

read more →

Update on Niepce

Here we go, when I started that project in 2006, I had plenty of ideas. I still have, but everything else is in the way, including me.

Since there have been some amazing apps, like RawTherapee, Darktable, and possibly some other I miss, apps fullfilling some of the uses I envisioned for Niepce back then. Not to mention a few other apps that did just disappear ; that's life, it's hard to find maintainers or keep being motivated.

read more →

New Again

Old is new again. Apparently my blog was broken following a PHP upgrade on the server. tl;dr PHP 8 broke things and code had to be changed. I don't do PHP so I had to guess (I can read it, patch it, but it's a lot of tries).

Anyway I decided to bite the bullet and use a generator. I use Hugo in other places, but I decided to try Zola. I the past I have used Jekyll but ended up having a bad experience with the Ruby install. Hugo works fine, it's written in Go and end up being properly packaged in Fedora. Zola (see a naming theme?) is written in Rust and also well packaged. So it's 'Les Misérables' or 'La bête humaine'.

Note that the old blog will stay in place, read only.

This is my wlog: Web Log.

More to come.