Blog and News

Upgrading GTK based Python applications

Da Arjan Molenaar (2024-07-30)

A hot topic in the GNOME world is upgrading applications from GTK+ 3 to GTK 4 and libadwaita. For Gaphor, we completed this task around a year ago, but I never took time to write how we did it.

Leggi di più

Building Python extensions with Meson and PDM

Da Arjan Molenaar (2024-07-28)

In this post I’ll outline a workflow for developing native extensions for Python. The build tool of choice is Meson, and we’ll use PDM to ensure a frictionless developer experience.

For a long time, C extensions for Python can be built with setuptools. Although this works fine for simple extension, it gets tedious if your extension needs to link to other libraries. In those cases it’s often necessary to write custom code in setup.py to find and link to those libraries.

Leggi di più

Gaphor 2.18 - 2.24 updates

Da Arjan Molenaar (2024-03-04)

On February 16, 2024, we released Gaphor 2.24.

It’s been quite a while since I produced a proper updates post.

Since the 2.17 release about a year before, a lot has changed.

Leggi di più

Gaphor 2.17 released

Da Arjan Molenaar (2023-02-25)

Gaphor 2.17.0 has been released.

  • A new metadata diagram item

You can find the release notes on GitHub.

Leggi di più

macOS keyboard shortcuts with GTK 4

Da Arjan Molenaar (2022-12-10)

GTK is a cross-platform toolkit. It’s a key component for the GNOME desktop, GIMP, Inkscape, and many other high quality open source desktop applications. GTK 4 is the most recent major version, the long awaited successor of GTK+ 3. For desktop applications there’s a lot to gain by porting to GTK 4. First and foremost because GTK 4 takes full support of your GPU.

For Gaphor we provide binaries for Linux, Windows and macOS.

GTK 4 no longer maps its keyboard shortcuts to macOS native keybindings. While Ctrl is used on Linux and Windows, Command is used on macOS as primary modifier key. Although that’s inconvenient, it’s not as bad as it sounds.

Leggi di più

Gaphor 2.12 is out

Da Arjan Molenaar (2022-09-26)

The last update was in January, when Gaphor 2.8 was released. However, we’ve been working hard to improve all aspects of Gaphor.

The biggest highlight by far is the move to GTK4. At this point we support GTK4 only for Flatpak on Linux, but as support for Windows and macOS improves, we will also move those over. The biggest advantage is that GTK4 is a lot faster.

But there’s more&ellipsis;

Leggi di più

Verify translations

Da Arjan Molenaar (2022-01-18)

For desktop applications and websites it’s good practice to allow users to use them in their native language. For Open Source applications everyone can contribute with translations for your project.

After a release we found out, by a user, that Gaphor would not start, but only if it was used with a particular language. One of the translations had an error. “An error?”, I hear you ask, “How is that possible?”

Leggi di più

Gaphor 2.8 is out

Da Arjan Molenaar (2022-01-16)

Roughly a month after our 2.7 release we’re happy to announce Gaphor 2.8.

Gaphor 2.7 added a Sphinx extension and better support for sequence diagrams. 2.8 adds a whole set of new features, starting with a welcome screen and a couple of project templates to bootstrap your models.

Here are some highlights.

Leggi di più

Gaphor 2.6 highlights

Da Arjan Molenaar (2021-09-23)

With Gaphor 2.6 we improved “under the hood”. We improved on the saving/loading stability. Added multiple translations and improved the Windows version of Gaphor.

Leggi di più

Gaphor 2.5 highlights

Da Arjan Molenaar (2021-07-02)

With Gaphor 2.5 released it’s about time I write an update post. Main feature is support for STPA, a systems approach to safety engineering. Minor improvements include the ability to move diagrams freely around in the tree view, and an extra option to record notes on model elements.

The internal model used by Gaphor has been simplified.

Finally, we’ll reflect on the changes made in Gaphor 2.3 and 2.4.

Leggi di più

Gaphor 2.2 highlights

Da Arjan Molenaar (2021-01-24)

With Gaphor 2.2 we’ve set a new milestone when it comes to user-friendliness, both for the installation process (signed builds on Windows and macOS) and during use (simplified relationships).

We also got a brand-new logo during the 2.2 development cycle.

Leggi di più

Simple services in Python

Da Arjan Molenaar (2020-11-27)

As a project grows, at some point there is a desire for a plug-in/add-ons/extension mechanism. Therefore, it is a good idea to think of this early in the project.

For those of us that build applications in Python, extensibility is like a walk in the park. It’s part of the Python ecosystem, thanks to entry points.

Leggi di più

Gaphor 2.0 highlights

Da Arjan Molenaar (2020-08-05)

Gaphor 2.0 includes some big new features. They were a long time in the making, since most of the development work for Gaphor 1.2 was to lay the groundwork for the changes we wanted to implement for 2.0.

With 49 Pull requests on GitHub, this is by far the biggest release we’ve done so far.

Leggi di più

A history of Gaphor

Da Arjan Molenaar (2020-07-31)

Gaphor as a project has been around for almost 19 years. I checked the source code repository and I made the first commit on December 21, 2001.

The project started after I had an intership where I had to work with Rational Rose. This product was (and is, I suppose) very complex and has a high learning curve. I thought I could do better. With that attitude I started writing my own UML modeling tool.

Leggi di più