Language Selection

English French German Italian Portuguese Spanish


33 Excellent GNOME Desktop Extensions (Updated 2020)

Filed under

Freedom of choice is a central plank of open source software. It should be the user who decides how their computer is configured. That’s very relevant when choosing and configuring a desktop environment. One of Linux’s best features is its modularity.

Extensibility relates to the ability to customize a desktop environment to an individual’s preferences and tastes. This flexibility is offered by themes, extensions, and applets. The principle provides for enhancements without impairing existing system functions.

GNOME ships with a System Settings tool which isn’t as diverse as some of its peers. There’s still useful options such as a simple way to enable remote access and file sharing. If you’re serious about customizing GNOME, you’ll need the Tweaks (previously known as GNOME Tweaks) utility. It’s not an official GNOME app, but it offers some advanced tinkering for GNOME Shell. But when it comes to micro-configuring the GNOME desktop to your preference, Tweaks is not a complete solution. Fortunately, there’s an awesome range of extensions that provide additional functionality.

Read more

Implementing Gtk based Container-Widget: Part — 1

Filed under

The widget that I’ll be implementing will go into the GNOME’s new widget library, Handy. Handy is a library that packs widgets for developing adaptive applications.

The name of the widget is not yet final, so for now, I’ll call it NewWidget. This NewWidget is a container widget for managing layout; therefore, its implementation starts by sub-classing GtkContainer.
A container widget is something which can take in other widgets as its child and based on the properties the widget has to handle their sizes and positions of the children, among other things.

Read more

KDE and GNOME Leftovers

Filed under
  • OSM Indoor Maps for KDE Itinerary

    In the previous post I briefly mentioned ongoing work about adding interactive train station and airport maps to KDE Itinerary. Here are some more details on what this is about.

  • Cantor in GSoC 2020

    KDE is once again taking part in Google Summer of Code program and this time Cantor has 2 internships working to improve the software and bringing new features. Both projects are supervised by Alexander Semke and Stefan Gerlach.

    Nikita Sirgienko is polishing usability and developing several small features present in other mathematical REPL applications to improve the user experience in Cantor. In his words, “the idea of this project is not to implement one single and big “killer feature” but to address several smaller and bigger open and outstanding topics in Cantor”.

  • Calamares default branch

    There’s plenty of definitions for the word “master” – my Oxford English Dictionary lists over thirty – and most of them are unproblematic. That is, they do what they say on the tin. There’s also a meaning connected to slavery. Slavery is an evil that I’m glad is partly destroyed from the world, sad that it is only partly destroyed; like smallpox, it should be gone.

    We can talk about things that do not exist, and things that should not exist, and things that exist metaphorically. But we should be – when I say “we should be” I mean “I personally pledge to do”, as well as meaning “this is a moral imperative to all of us” – we should be careful to use words with the right etyomological, historical, and metaphorical baggage.

    I don’t want to use the word “master” with a meaning connected to slavery, unless it’s speaking specifically about slavery, the evil that it is, and its abolition.


    I checked: Calamares doesn’t deal with this level of detail, so this is a cheap commitment from me.

    But today I learned something new, about the history of the naming of git branches. Brendan O’Leary has a good write-up, though I found that from following Reginald Braithwaite. Brendan describes the history of, and the metaphorical baggage of, git’s “master” branch.

  • Community Engagement Challenge

    I think I speak for many when I say that each one of us in the FOSS world loves opportunities that give rewards and compensation for working on FOSS projects. And, it’s even better when these opportunities have little technical or conditional restraints.

    That’s why I’m excited for the inaugural GNOME Foundation 2020 Community Engagement Challenge which is a rare opportunity to participate in a FOSS contest and win prizes along the way (special thanks to Endless for the grant that supports this Challenge!)

    The GNOME foundation is giving you an exciting new opportunity to apply your creativity, ideas, and skills to help grow the FOSS community by submitting an idea which engages beginning coders with the free and open-source software (FOSS) community. Even better, selected ideas can win up to 21,000$ in cash and prizes along the way, including sponsorship to a future GUADEC and much support from the GNOME Community.

KDE and GNOME: Calamares, Cantor and Fractal

Filed under
  • Calamares extensions and out-of-tree modules

    Calamares is a universal Linux installer framework. It provides a distribution- and desktop-agnostic set of tools that Linux distributions (and potentially FreeBSD as well) can use to build an installer for Live media (that is, ISO images). It is broadly themable, brandable, configurable and tweakable – the core repository contains 54 modules for various parts of the install process.

    Even 54 modules can’t do justice to all the breadth of things-people-might-want for Linux, so Calamares encourages people to write their own modules to solve specific problems. Calamares is also an eager upstream, so if the problem is specific, but affects lots of people, or can be made generally useful, then Calamares is eager to incorporate those modules into the “core” of the software product.

    To help and support people developing modules, Calamares should provide all the necessary bits for development: it has a C++ API and some CMake stuff that needs doing, for instance, and module-developers will need that.

  • Cantor Integrated Documentation : Week 1 and 2 Progress

    Hello KDE people!! It's been almost couple of weeks of the coding period already, and it has been hectic already. I was mostly able to stick to the timeline I had proposed, just loosing couple of days here and there. None the less, I am here presenting my progress on the project.


    I have also tried customizing the official documentation. I personally did not liked the layout of the official documentation, so I tried to add some styling to it. Currently I am in process of doing it. Adding style to hundreds of HTML files was a challenge and tedious task to be completed manually. I again utilized Python's power and created a script to link the main CSS file to the HTML files.

  • Refactoring Fractal: Remove Backend (Sleepy

    After a week and a half of starting work on Fractal in the GSoC and figuring things out, I could remove all state from one half of the backend, or what is called in Fractal as Backend.

    Confusing, right? Let me explain further.

    Actually the core of the application is split between two structs: one called AppOp, where most of the data is managed, and another one called Backend, out of the app crate, in fractal-matrix-api, where the calls to the server are done. They communicate between through message passing, but Backend stores some state that isn’t present in AppOp, or it’s even duplicated. So there are two sources of truth for state.

    That makes the process of implementing multi-account support harder and more error-prone than it should be.

    There are two paths to the solution here: remove AppOp and move all data to Backend or do the same in the opposite direction. I chose the latter because I wouldn’t have to transfer as much state as in the former case. Moreover, this way I can remove both loops and spawn threads directly and call functions directly from it instead of passing messages and matching against them (while spawning new threads anyways). Beware that these threads are kernel threads, not green threads or coroutines (aka Futures), so this is a very grotesque way of doing network requests without blocking the GUI as it is currently. It’s something that will be tackled in the future, though.

Best 12 GNOME Themes of 2020

Filed under

Desktop appearance matters to me most and I regularly tweak appearance, icon, font themes, and backgrounds. It not only gives fresh look to my Ubuntu desktop but also gives me a feeling of freshness and motivation while working on projects.
When Ubuntu is clubbed with GNOME, it opens up the door to the large world of tweaking and customization. There is a large pool of themes available for GNOME users which will give your GNOME desktop fresh new look.

So, in this article, I’m going to share 12 best GNOME themes to give your GNOME desktop a whole new look.

Read more

15 Ways to Customize Your Desktop with the GNOME Tweak Tool

Filed under

Customizing your desktop is the best way to improve the look of your desktop and improve performance. I always like to customize the appearance of my desktop and perform tweaks to help me boost productivity.
To customize your desktop, the GNOME Tweak Tool is the best customization tweak you will ever get. GNOME users must be well familiar with this tool, which is popularly known as Tweaks.

This article will show you the 15 best ways to customize your desktop using the GNOME Tweak Tool. The customizations listed below are performed on Ubuntu 20.04 LTS Focal Fossa, running the GNOME desktop environment. If you have other distros, do not worry; these customizations will also work on other Linux distributions running the GNOME desktop environment.

Read more

GNOME Desktop and Development Leftovers

Filed under
  • Nour E-Din ElNhass: Wait, I See Some People

    In my previous post, I wrote about how I started and what kind of preparations were made during the community bounding period, well now we are one week later after the actual GSoC coding period has started and the good news is I can now fetch the EteSync address book successfully and see the contacts in Evolution \o/.

  • Alejandro Piñeiro: v3dv: quick guide to build and run some demos

    Just today it has published a status update of the Vulkan effort for the Raspberry Pi 4, including that we are moving the development of the driver to an open repository. As it is really likely that some people would be interested on testing it, even if it is not complete at all, here you can find a quick guide to compile it, and get some demos running.

  • Philip Withnall: Heap profiling of gnome-software

    The last week has been a fun process of starting to profile gnome-software with the aim of lowering its resource consumption and improving its startup speed. gnome-software is an important part of the desktop on Endless OS, so having it work speedily, especially on resource constrained computers, is important.

    To start with, I’ve looked at gnome-software’s use of heap memory, particularly during startup. While allocating lots of memory on the heap isn’t always a bad thing (caches are a good example of heap allocations being used to speed up a program overall), it’s often a sign of unnecessary work being done. Large heap allocations do take a few tens of milliseconds to be mapped through the allocator too. To do this profiling, I’ve been using valgrind’s massif tool, and massif-visualizer to explore the heap allocations. I could also have used heaptrack, or gobject-list, but they’re tools to explore another time.

WebKitGTK and WPE now supporting videos in the img tag

Filed under

Using videos in the HTML tag can lead to more responsive web-page loads in most cases. Colin Bendell blogged about this topic, make sure to read his post on the cloudinary website. As it turns out, this feature has been supported for more than 2 years in Safari, but only recently the WebKitGTK and WPEWebKit ports caught up. Read on for the crunchy details or skip to the end of the post if you want to try this new feature.

As WebKitGTK and WPEWebKit already heavily use GStreamer for their multimedia backends, it was natural for us to also use GStreamer to provide the video ImageDecoder implementation.

The preliminary step is to hook our new decoder into the MIMETypeRegistry and into the ImageDecoder.cpp platform-agnostic module. This is where the main decoder branches out to platform-specific backends. Then we need to add a new class implementing WebKit’s ImageDecoder virtual interface.

First you need to implement supportsMediaType(). For this method we already had all the code in place. WebKit scans the GStreamer plugin registry and depending on the plugins available on the target platform, a mime-type cache is built, by the RegistryScanner. Our new image decoder just needs to hook into this component (exposed as singleton) so that we can be sure that the decoder will be used only for media types supported by GStreamer.

Read more

GNOME Renders on Arm Mali-G31 Bifrost GPU with Fully Open Source Code

Filed under

We first wrote about Panfrost open-source Arm Mali GPU driver getting initial support for Mali-G31 Bifrost GPU in late April, when engineers at Collabora managed to run some basic demos.

Progress has been fast-paced as the company has now implemented support for all major features of OpenGL ES 2.0 and some features of OpenGL 2.1. That means hardware-based on Arm Mali-G31 GPU such as ODROID Go Advance (used for testing) can run Wayland compositors with zero-copy graphics, including GNOME 3, every scene in glmark2-es2 benchmarks, and some 3D games such as Neverball. All without any binary blobs.

Read more

GNOME 3.37.2 Released As Another Step Towards GNOME 3.38

Filed under

GNOME 3.37.2 is out as the latest development snapshot in the quest towards the stable GNOME 3.38 desktop environment this September.

With this newest development snapshot, GNOME 3.37.2 brings:

- GNOME Shell has the new capability for indicating apps that should always run on discrete GPUs via the new .desktop launcher file option.

- Mutter has support for the primary-selection protocol for Wayland, touch-mode detection for the X11 back-end, and various other fixes and improvements.

- The Epiphany web browser has seen a number of improvements including a redesigned password manager dialog, user script support, support for importing passwords from Chrome/Chromium, drag-and-drop from the download popover support, and various other improvements and fixes.

Read more

Syndicate content

More in Tux Machines

Intel mOS: Linux variant intended for for high-performance computing

Intel mOS aims to provide a high-performance environment for software, the operating system is based on the Linux kernel, modified by Intel to make it suitable for the HPC ecosystem. The media said that mOS is still in the early stages of research, but could already be used for supercomputers like ASCI Red, IBM Blue Gene, and so on. Intel’s goal is to develop a stable version of the Aurora supercomputer when it is ready. The Intel mOS system will continue to be based on Linux extensions, the latest version 0.8 uses the Linux 5.4 LTS kernel, but it has its own LWK lightweight kernel, the Linux kernel manages a small number of CPU cores to ensure compatibility, and the LWK kernel manages the rest of the system, similar to the Mutil-OS multi-OS. Read more

GIMIAS: An Open-source Modular Environment for Building Medical Imaging Applications

Building medical imaging applications has been evolving as the industry demands over the last decade. From creating the application from scratch to medical imaging specific frameworks, platforms and environments. Today's topic is about one of these specific tools: GIMIAS. GIMIAS is an open-source platform for creating medical imaging applications that can be used for clinical practice, research and medical simulation. It's introduced as "a workflow-oriented environment for solving advanced biomedical image computing and individualized simulation problems". GIMIAS is developed by dozens of scientists, researchers and scientific developers at CISTIB (Center for Computational Imaging & Simulation Technologies in Biomedicine). Read more

8 Best Free Vim-Like Text Editors

Fortunately, the days of Emacs vs vi flame wars fizzled out decades ago. But there’s still lots of friction when it comes to text editors. Vim is an enhanced version of the vi editor, with development dating back to 1976. Vim is a highly configurable, powerful, console-based, open source text editor. It’s efficient, letting users edit files with a minimum of keystrokes. Vim offers word completion, undo, shortcuts, abbreviations, keyboard customization, macros, and scripts. You can turn this into your editor for your environment. Why learn Vim? Read more

Photoflare – Simple Powerful Image Editor Inspired by PhotoFiltre

Photoflare is an open-source simple and powerful image editing software inspired by PhotoFiltre. Photoflare is written in C++ with Qt5 framework. It works on Linux, Windows, and Mac OS, and features basic image editing capabilities, paint brushes, image filters, colour adjustments and more advanced features such as Batch image processing. Besides the community version, the software also offers studio edition requires to pay for packages. Read more