Language Selection

English French German Italian Portuguese Spanish


GNOME Desktop/GTK: Input Methods in GTK+ 4, Helping Cairo, and an Extension Lets You Quickly Browse Files & Folders in GNOME Shell

Filed under
  • Input methods in GTK+ 4

    GTK’s support for loadable modules dates back to the beginning of time, which is why GTK has a lot of code to deal with GTypeModules and with search paths, etc. Much later on, Alex revisited this topic for GVfs, and came up with the concept of extension points and GIO modules, which implement them. This is a much nicer framework, and GTK 4 is the perfect opportunity for us to switch to using it.

  • Helping Cairo

    Cairo needs help. It is the main 2D rendering library we use in GNOME, and in particular, it's what librsvg uses to render all SVGs.

    My immediate problem with Cairo is that it explodes when called with floating-point coordinates that fall outside the range that its internal fixed-point numbers can represent. There is no validation of incoming data, so the polygon intersector ends up with data that makes no sense, and it crashes.

    I've been studying how Cairo converts from floating-point to its fixed-point representation, and it's a nifty little algorithm. So I thought, no problem, I'll add validation, see how to represent the error state internally in Cairo, and see if clients are happy with getting back a cairo_t in an error state.

  • This Extension Lets You Quickly Browse Files & Folders in GNOME Shell

    I’m pretty happy with the GNOME Shell desktop Ubuntu switched to last October, but I do miss being able to quickly browse and open my files from the Unity Dash.

    But I need miss it no more.

    A new GNOME extension brings similar file view functionality to the GNOME Shell desktop.

KDE and GNOME/Gtk Leftovers

Filed under

The GNOME Recipes Hackfest

Filed under
  • Recipes hackfest

    The Recipes application started as a celebration of GNOME’s community and history, and it’s grown to be a great showcase for what GNOME is about...

  • Recipes hackfest, day 1

    It has been a bit quiet around GNOME recipes recently, since most of us have other obligations. But this is about to change; we’re currently having a hackfest about GNOME recipes in Jogyakarta, Indonesia, and we’ve already made some interesting plans for for future work in this app.

KDE and GNOME: KDE Plasma 5.13 and Arrongin GTK

Filed under
  • KDE Plasma 5.13 Should Be Starting Up Even Faster

    One of the nice elements of KDE Plasma 5.12 is that it starts up faster, particularly when running on Wayland, but with Plasma 5.13 it's looking like it will be an even faster experience getting to the Plasma desktop.

    KDE Plasma 5.13 isn't scheduled to be released until the middle of June, but this next Plasma installment is already in heavy feature development following this month's successful Plasma 5.12 debut.

  • This week in Usability & Productivity, part 7

    Another busy week in Usability & Productivity. As has been observed, we’re fixing issues at Warp 9 speed! KDE contributors racked up some pretty significant wins this week, and we’ve already got some great stuff in the pipeline that I hope to be able to announce next week! But for now, take a look at this week’s haul!

  • Arrongin GTK Theme Stands Out (But for the Right Reasons)

    Sure, the new Ubuntu theme is pretty great, but it’s still largely a mix of Ambiance, Adwaita and the proposed Unity 8 style. I.e. all known quantities.

    We’ve previously listed what we think are the best GTK themes for Ubuntu (and Linux in general). If you’ve read that list you may have noticed that a number of themes featured look similar, share design trends, or use a similar theme as a foundation.

    With former theme makers like ~half-left no longer making truly original GTK themes, Linux design has fallen into a bit of a creative lull. Every other theme that appears is (seemingly) based on either Adwaita, Arc or Adapta, uses material design cues (like Pop GTK), echoes macOS (Greybird, elementary) or is flatter than the response to most of my jokes (Arc, Plano, Ant, Vimix, et al).

KDE and GNOME: KDE Discover, Okular, Librsvg, and Phone's UI Shell

Filed under
  • This week in Discover, part 7

    The quest to make Discover the most-loved Linux app store continues at Warp 9 speed! You may laugh, but it’s happening! Mark my words, in a year Discover will be a beloved crown jewel of the KDE experience.

  • Okular gains some more JavaScript support

    With it we support recalculation of some fields based on others. An example that calculates sum, average, product, minimum and maximum of three numbers can be found in this youtube video.

  • Librsvg's continuous integration pipeline

    With the pre-built images, and caching of Rust artifacts, Jordan was able to reduce the time for the "test on every commit" builds from around 20 minutes, to little under 4 minutes in the current iteration. This will get even faster if the builds start using ccache and parallel builds from GNU make.

    Currently we have a problem in that tests are failing on 32-bit builds, and haven't had a chance to investigate the root cause. Hopefully we can add 32-bit jobs to the CI pipeline to catch this breakage as soon as possible.

  • Design report #3: designing the UI Shell, part 2

    Peter has been quite busy thinking about the most ergonomic mobile gestures and came up with a complete UI shell design. While the last design report was describing the design of the lock screen and the home screen, we will discuss here about navigating within the different features of the shell.

GNOME and Fedora

Filed under
Red Hat
  • RFC: Integrating rsvg-rs into librsvg

    I have started an RFC to integrate rsvg-rs into librsvg. rsvg-rs is the Rust binding to librsvg. Like the gtk-rs bindings, it gets generated from a pre-built GIR file.

  • 1+ year of Fedora and GNOME hardware enablement

    A year and a couple of months ago, Christian Schaller asked me to pivot a little bit from working full time on Fleet Commander to manage a new team we were building to work on client hardware enablement for Fedora and GNOME with an emphasis on upstream. The idea was to fill the gap in the organization where nobody really owned the problem of bringing up new client hardware features vertically across the stack (from shell down to the kernel), or rather, ensure Fedora and GNOME both work great on modern laptops. Part of that deal was to take over the bootloader and start working closer to customers and hardware manufacturing parnters.

  • Fedora Atomic Workstation: Works on the beach

    My trip is getting really close, so I decided to upgrade my system to rawhide. Wait, what ? That is usually what everybody would tell you not to do. Rawhide has this reputation for frequent breakage, and who knows if my apps will work any given day. Not something you want to deal with while traveling.

  • 4 cool new projects to try in COPR for February

KDE and GNOME Leftovers

Filed under
  • Kdenlive Café tonight and beta AppImage

    The last months for Kdenlive have been very quiet from the outside – we were not very active on the bugtracker, did not make a lot of announcements, and the 17.12.x release cycle only contained very few minor bugfixes.

    The main reason for this was the huge work that went behind the scenes for a major code refactoring that was required to allow further developments. So after more than a year working on it, we hope to get ready for the 18.04 release!

  • [Krita] Interview with Christine Garner

    I did Archaeology in University and I love history, mythology, folklore and nature. I’ve always been drawing from an early age. I graduated in 2003 with an archaeology degree. I taught myself digital art and web coding skills for fun and practical reasons. I used to do self-employed web design and admin type jobs, but in 2013 I became disillusioned with my life and had depression. I took a Foundation art course in 2013 deciding to pursue my artistic passions instead.

  • Qt 5.11 Brings New Accessibility Backend on Windows

    Accessibility technology encompasses assistive tools such as screen readers, magnifiers and braille displays, as well as APIs and frameworks that allow applications to expose elements of their UI to such tools.

  • CSS Grid

    This would totally have been a tweet or a facebook post, but I’ve decided to invest a little more energy and post these on my blog, accessible to everybody. Getting old, I guess. We’re all mortal and the web isn’t open by its own.

    In the past few days I’ve been learning about CSS grid while redesigning Flatpak and Flathub sites (still coming). And with the knowledge of really grokking only a fraction of it, I’m in love.

GNOME’s New System Monitor Tool is Available to Try in Bionic

Filed under

Cast you mind back to 2016 and you recall there were plans for a GNOME System Monitor redesign.

The aim: to make checking system resource usage a little more accessible, ideally with historical data thrown into the mix for some added context.

Two years on and the fruits of that redesigned effort are finally available to sample, albeit through a new app called (aptly enough) GNOME Usage.

Read more

GNOME: WebKit, Fleet Commander, Introducing deviced

Filed under
  • On Compiling WebKit (now twice as fast!)

    Are you tired of waiting for ages to build large C++ projects like WebKit? Slow headers are generally the problem. Your C++ source code file #includes a few headers, all those headers #include more, and those headers #include more, and more, and more, and since it’s C++ a bunch of these headers contain lots of complex templates to slow down things even more. Not fun.

  • Fleet Commander is looking for a GSoC student to help us take over the world

    Fleet Commander has seen quite a lot of progress recently, of which I should blog about soon. For those unaware, Fleet Commander is an effort to make GNOME great for IT administrators in large deployments, allowing them to deploy desktop and application configuration profiles across hundreds of machines with ease through a web administration UI based on Cockpit. It is mostly implemented in Python.

  • Introducing deviced

    Over the past couple of weeks I’ve been heads down working on a new tool along with Patrick Griffis. The purpose of this tool is to make it easier to integrate IDEs and other tooling with GNU-based gadgets like phones, tablets, infotainment, and IoT devices.

    Years ago I was working on a GNOME-based home router with davidz which sadly we never finished. One thing that was obvious to me in that moment of time was that I’m not doing another large scale project until I had better tooling. That is Builder’s genesis, and device integration is what will make it truly useful to myself and others who love playing with GNU-friendly gadgets.

GNOME: GitLab, LVFS and GStreamer

Filed under
  • Weekend Website Experiment

    As you may know if you read this blog via Planet GNOME, the GNOME project is busy switching to GitLab for its code hosting and bug tracking. I like GitLab! It’s a large step up from Bugzilla, which was what GNOME used for the last 20 years. Compared to GitHub, GitLab is about equal, with a few nicer things and a few less nice things.

    The one thing that I miss from Bugzilla is a dashboard showing the overall status of the bugs for your project. I thought it would not be too hard to use the GitLab API to do some simple queries and plop them on a web page. So, last weekend I gave it a try. The final result is here. Click the button to log into GitLab, and you’ll be redirected back to the page where you’ll get the results of the queries.

  • LVFS will block old versions of fwupd for some firmware

    Although fwupd 0.8.0 was released over a year ago it seems people are still downloading firmware with older fwupd versions. 98% of the downloads from the LVFS are initiated from gnome-software, and 2% of people using the fwupdmgr command line or downloading the .cab file from the LVFS using a browser manually.

  • SRT in GStreamer

    Transmitting low delay, high quality video over the Internet is hard. The trade-off is normally between video quality and transmission delay (or latency). Internet video has up to now been segregated into two segments: video streaming and video calls. On the first side, streaming video has taken over the world of the video distribution using segmented streaming technologies such as HLS and DASH, allowing services like Netflix to flourish. On the second side, you have VoIP systems, which are generally targeted a relatively low bitrate using low latency technologies such as RTP and WebRTC, and they don't result in a broadcast grade result. SRT bridges that gap by allowing the transfer of broadcast grade video at low latencies.

Syndicate content

More in Tux Machines

today's leftovers

  • Linux More Popular than Windows in Stack Overflow's 2018 Developer Survey
    Stack Overflow, the largest and most trusted online community for developers, published the results of their annual developer survey, held throughout January 2018. More than 100,000 developers participated in this year's Annual Developer Survey, which included several new topics ranging from ethics in coding to artificial intelligence (AI). The results are finally here and reveal the fact that some technologies and operating systems have become more popular than others in the past year.
  • History of containers
    I’ve researched these dates several times now over the years, in preparation for several talks. So I’m posting it here for my own future reference.
  • Ubuntu Podcast from the UK LoCo: S11E03 – The Three Musketeers - Ubuntu Podcast
  • Best Desktop Environment
    Thanks to its stability, performance, feature set and a loyal following, the K Desktop Environment (KDE) won Best Desktop Environment in this year's Linux Journal Readers' Choice Awards.
  • Renata D'Avila: Pushing a commit to a different repo
    My Outreachy internship with Debian is over. I'm still going to write an article about it, to let everyone know what I worked on towards the ending, but I simply didn't have the time yet to sit down and compile all the information.

Software: GTK-VNC, GNOME Shell and More

Devices: Mintbox Mini, NanoNote (Part 3), MV3

  • Mintbox Mini 2: Compact Linux desktop with Apollo Lake quad-core CPU
    The Mintbox Mini 2 is a fanless computer that measures 4.4″ x 3.3″ x 1.3″ and weighs about 12 ounces. It’s powered by a 10W Intel Celeron J3455 quad-core processor.
  • Linux Mint ditches AMD for Intel with new Mintbox Mini 2
    While replacing Windows 10 with a Linux-based operating system is a fairly easy exercise, it shouldn’t be necessary. Look, if you want a computer running Linux, you should be able to buy that. Thankfully you can, as companies like System76 and Dell sell laptops and desktops with Ubuntu or Ubuntu-based operating systems. Another option? Buy a Mintbox! This is a diminutive desktop running Linux Mint — an Ubuntu-based OS. Today, the newest such variant — The Mintbox Mini 2 — makes an appearance. While the new model has several new aspects, the most significant is that the Linux Mint Team has switched from AMD to Intel (the original Mini used an A4-Micro 6400T).
  • Porting L4Re and Fiasco.OC to the Ben NanoNote (Part 3)
    So, we find ourselves in a situation where the compiler is doing the right thing for the code it is generating, but it also notices when the programmer has chosen to do what is now the wrong thing. We must therefore track down these instructions and offer a supported alternative. Previously, we introduced a special configuration setting that might be used to indicate to the compiler when to choose these alternative sequences of instructions: CPU_MIPS32_R1. This gets expanded to CONFIG_CPU_MIPS32_R1 by the build system and it is this identifier that gets used in the program code.
  • Linux Software Enables Advanced Functions on Controllers
    At NPE2018, SISE presents its new generation of multi-zone controllers (MV3). Soon, these controllers will be able to control as many as 336 zones. They are available in five sizes (XS, S, M, L and XL) with three available power cards (2.5 A, 15 A and 30 A). They are adaptable to the packaging, automotive, cosmetics, medical and technical-parts markets.

Linux Foundation: Microsoft Openwashing,, OCP, Kernel Commits Statistics

  • More Tips for Managing a Fast-Growing Open Source Project [Ed: Microsoft has infiltrated the Linux Foundation so deeply and severely that the Foundation now regularly issues openwashing pieces for the company that attacks Linux]
  • improves Kubernetes networking in sixth software release, one of Linux Foundation’s open source projects, has introduced its 18.01 software release with a focus on improving Kubernetes Networking, Istio and cloud native NFV.
  • Bolsters Kubernetes, NFV, and Istio Support With Latest Release
    The Fast Data Project ( released its sixth update since its inception within the Linux Foundation two years ago. While the update list is extensive, most are focused on Kubernetes networking, cloud native network functions virtualization (NFV), and Istio.
  • Linux Foundation, OCP collaborate on open sourcing hardware and software
    The virtualization of network functions has resulted in a disaggregation of hardware and software, increasing interest in open source projects for both layers in return. To feed this interest, the Linux Foundation and Open Compute Project (OCP) recently announced a joint initiative to advance the development of software and hardware-based open source networking. Both organizations have something to offer the other through the collaboration. The Linux Foundation’s OPNFV project integrates OCP as well as other open source software projects into relevant network functions virtualization (NFV) reference architectures. At the same time, OCP offers an open source option for the hardware layer.
  • Kernel Commits with "Fixes" tag
    Over the past 5 years there has been a steady increase in the number of kernel bug fix commits that use the "Fixes" tag.  Kernel developers use this annotation on a commit to reference an older commit that originally introduced the bug, which is obviously very useful for bug tracking purposes. What is interesting is that there has been a steady take-up of developers using this annotation: