Language Selection

English French German Italian Portuguese Spanish

GNOME Development Updates

Filed under
GNOME
  • libgepub + rust

    In 2010 I was working with evince, the gnome PDF document viewer, trying to add some accessibility to PDF files. That was really hard, not because GTK+ or ATK technology but because the PDF format itself. The PDF format is really cool for printing because you know that the piece of paper will look the same as the PDF doc, and because it's vector it scales and don't loose quality and files are smaller than image files, but almost all PDF files have not any metadata for sections, headings, tablets or so, this depends on the creation tool, but it's really hard to deal with PDF content text, because you don't know event if the text that you're reading is really in the same order that you read from the PDF.

    After my fight against the PDF format hell and poppler, I discovered the epub format that's a really simple format for electronic books. An epub is a zip with some XML files describing the book index and every chapter is a xhtml and xhtml is a good format compared to PDF because you can parse easily with any XML lib and the content is tagged and well structured so you know what's a heading, what's a paragraph, etc.

    So I started to write a simple C library to read epub files, thinking about add epub support to evince. That's how libgepub was born. I tried to integrate libgepub in evince, I've something working, rendering with webkit, but nothing really useful, because evince needs pages and it's not easy to split an xhtml file in pages with the same height, because xhtml is continuous text and it adapts to the page width, so I give up and leave this branch.

  • My final report for GSoC 2018

    The Google Summer of Code 2018 is coming to an end for me, so it means that it’s time for the final report!

    [...]

    I’ve created a media (although for now it only works with pictures) viewer for Fractal. Its purpose is to easily have a better view of the images within a room, to be able to zoom in and out of them, to navigate between the different images of the room in the chronological order, to enter in a full screen mode and to save a copy of the media in the filesystem. I made a first implementation and then had to do a lot of other improvements. I’ve spent about a month working on it.

    There is still the need to improve the zoom of the media viewer as the pictures are a little bit blurred and it’s not possible to zoom beyond 100%. There are optimizations to do as the application becomes very slow when trying to zoom beyond 100% on large pictures.

  • GUADEC 2018

    A few weeks ago I attended GUADEC in Almeria, Spain. The travel was a bit of an adventure, because Julian and I went there and back from Italy by train. It was great though, because we had lots of time to hack on Fractal on the train.

    [...]

    On Monday I attended the all-day Librem 5 BoF, together with my colleagues from Purism, and some community members, such as Jordan and Julian from Fractal.

    We talked about apps, particularly the messaging situation and Fractal. We discussed what will be needed in order to split the app, make the UI adaptive, and get end-to-end encryption. Daniel’s work on the database and Julian’s message history refactor are currently laying the groundwork for these.

    On the shell side we talked through the design of various parts of the shell, such as keyboard, notifications, multitasking, and gestures. Though many of those things won’t be implemented in the near future, we have a plan for where we’re going with these, and getting designers and developers in one room was very productive for working out some of the details.

    We also discussed a number of exciting new widgets to make it easier to get GNOME apps to work at smaller sizes, such as a new adaptive preferences window, and a way to allow modal windows to take up the entire screen at small sizes.

More in Tux Machines

Livepatching With Linux 5.1 To Support Atomic Replace & Cumulative Patches

With the Linux 5.1 kernel cycle that should get underway in just over one month's time, there will now be the long in development work (it's been through 15+ rounds of public code review!) for supporting atomic replace and cumulative patches. Read more

GNOME/Xfce/GTK: Exo 0.12.4 and Libhandy 0.0.7 Released

  • Exo 0.12.4 Released
    Exo 0.12.4 is now available with an improved icon view, better icon rendering, and reduced disk usage.
  • My Name is Handy, Lib Handy
    Libhandy 0.0.7 just got released! [...] A common pattern in GNOME applications is lists, which are typically implemented via GtkListBox. More specific patterns arose, where rows have a title at the start, an optional subtitle below it, actions at the end and an icon or some other widget like a radio button as a prefix. These rows can also be expanded to reveal nested rows or anything else that fits the need. So far every application using these patterns implemented the rows by hand for each and every row. It made using these a bit cumbersome and it led to inconsistencies in sizing, even inside a single application. To make these patterns easier to use, we implemented HdyActionRow, HdyComboRow and HdyExpanderRow.

How did you get started with Linux?

The Linux mascot is a penguin named Tux, so we thought it appropriate to celebrate Penguin Awareness Day for the conservation of penguin habitats and talk a little bit (more) about Linux. A few fun penguin facts: These furry creatures are flightless yet part of the bird family. Some are large, like the Emperor penguin, and some are small, like those found in New Zealand. And, the Gentoo penguin is known to swim up to a speed of 21 miles per hour! Now, for the Linux bit. I asked our writer community to describe the moment they learned about Linux or the moment they got it up on running on their machine. Here's what they shared. Read more

IPFire 2.21 - Core Update 127 is available for testing

New year, new update ready for testing! We have been busy over the holidays and are bringing you an update that is packed with new features and many many performance improvements. This is quite a long change log, but please read through it. It is worth it! Read more