Language Selection

English French German Italian Portuguese Spanish

GNOME

GNOME: Bolt, GTK and Rust, GNOME Image Viewer

Filed under
GNOME
  • Bolt 0.8 update

    Christian recently released bolt 0.8, which includes IOMMU support. The Ubuntu security team seemed eager to see that new feature available so I took some time this week to do the update.

  • Gtk-rs tutorial

    Leonora Tindall has written a very nice tutorial on Speedy Desktop Apps With GTK and Rust. It covers prototyping a dice roller app with Glade, writing the code with Rust and the gtk-rs bindings, and integrating the app into the desktop with a .desktop file.

  • Battle of the Bilerps: Image Scaling on the CPU

    I’ve been on a quest for better bilerps lately. “Bilerp” is, of course, a contraction of “bilinear interpolation“, and it’s how you scale pictures when you’re in a hurry. The GNOME Image Viewer (née Eye of GNOME) and ImageMagick have both offered somewhat disappointing experiences in that regard; the former often pauses noticeably between the initial nearest-neighbor and eventual non-awful scaled images, but way more importantly, the latter is too slow to scale animation frames in Chafa.

    So, how fast can CPU image scaling be? I went looking, and managed to produce some benchmarks — and! — code. Keep reading.

GNOME Settings: new Search pane

Filed under
GNOME

I haven’t been working on GNOME Settings for quite some time now. Currently, I am focusing mostly on GNOME Boxes, Usage, and Fedora Silverblue. To be fair I still have some love for Settings and I enjoy context-switching once in a while to hack on code bases which I don’t face daily. Unfortunately I can’t do this more often.

A few years ago I pushed a WIP version of the Settings “Search” panel that never got merged because we were in a moment of transition in the project and at the time we thought that introducing Drag & Drop capabilities to GtkListBox would make sense still in gtk3. Fast forward, we are far from even starting to port Settings to gtk4, but people got to use the panels! For this reason, I rebased and iterated a bit over the Search panel in order to make it identical to the mockups. The final result is previewed below and will be available in our next stable release, 3.34.

Read more

GNOME: Adwaita Theme For Mozilla Firefox and Richard Hughes on ODRS

Filed under
GNOME
  • The Ultimate Adwaita Theme For Mozilla Firefox

    A new Firefox theme helps the browser integrated more clearlnyl with the desktop environment’s default theme.

    The suitably titled ‘Firefox GNOME Theme‘ for Firefox 60 (and up) adheres strictly to the look laid out by the ‘new’ Adwaita theme found in GNOME 3.32 and up.

    We’re talking the same gradients, colours, and button shapes. It supports Adwaita’s standard beige look and the optional (and soon to be more accessible) dark mode.

  • Richard Hughes: Fun with the ODRS, part 2

    For the last few days I’ve been working on the ODRS, the review server used by GNOME Software and other open source software centers. I had to do a lot of work initially to get the codebase up to modern standards, but now it has unit tests (86% coverage!), full CI and is using the latest versions of everything. All this refactoring allowed me to add some extra new features we’ve needed for a while.

    [....]

    For the last few years it’s been mostly me deciding on the ~3k marked-for-moderatation reviews with the help of Google Translate. Let me tell you, after all that my threshold for dealing with internet trolls is super low. There are already over 60 blocked users on the ODRS, although they’ll never really know they are shouting into /dev/null…

    One change I’ve made here is that it now takes two “reports” of a review before it needs moderation; the logic being that a lot of reports seem accidental and a really bad review is already normally reported by multiple people in the few days after it’s been posted. The other change is that we now have a locale-specific “bad word list” that submitted reports are checked against at submission time. If they are flagged, the moderator has to decide on the action before it’s ever shown to other users. This has already correctly flagged 5 reviews in the couple of days since it was deployed. If you contributed to the spreadsheet with “bad words” for your country I’m very grateful. That bad word list will be available as a JSON dump on the ODRS on Monday in case it’s useful to other people. I fully expect it’ll grow and change over time.

KDE and GNOME Leftovers

Filed under
KDE
GNOME
  • Calamares CVE

    Two CVE’s were files against Calamares this week, but I’ll only write about lax file permissions on initramfs images here. See the CVE database for more details.

    The issue comes down to this: when creating an initramfs (which is done as root), a sensitive file is read. The initramfs file (a cpio archive) is created with lax permissions, and so any user who can read the initramfs file can then extract the contents of the sensitive file.

    From the point of view of Calamares, the solution is to make sure that the initramfs is created with less lax file permissions. Simple, hey?

    In principle, the umask is responsible for masking out file permissions bits, so a umask of 077 (octal!) would prevent group and other users (i.e. all the non-privileged users) from reading the initramfs. So all Calamares needs to do is set up a good umask before calling the tools, right?

    If only it were that simple.

  • Implementing a derivated class of kis_brushes_pipe

    I am still working on the change of the brush index, so far I've been confused with the classes, because I am not sure why somethings are implemented and then overriden or why somethings are where they are, and I am not sure exactly when or why to do this.

    I've been working all week, instead of trying to deliver a feature I tried to write and organize the whole class, and then slowly write all the small functions, this is because I've had problem with classes and objects, but I understand functions, so I to tried work with my strengths.

    This is a little analysis of the things I've been trying implement based on kis_imagepipe_brush.h and kis_brushes_pipe.h.

  • A week in Valencia

    From 19th to 25th of June, all the Plasma team gathered in Valencia, graciously hosted by the Slimbook people in their office. This was a special sprint, as it was co-located with the Usability sprint together with some VDG members. While some of the time each team was occupied in their own discussions, there were a big margin of overlap, allowing us to have a lot of discussions about the design and usability of our beloved Plasma desktop shell.

    We now have plans in the coming months for several improvements across the board, including further improvements on the new shiny notification framework by Kai Uwe.

    Also, we talked (and worked on) plans for further improving our Wayland support, including middle mouse button clipboard, and screen rotation for phone, tablets and 2 in 1 laptops).

  • Nuritzi’s Travel Sponsorship Guide for GUADEC 2019

    This week, I had the opportunity of helping some GNOME newcomers apply for travel sponsorship, and I wanted to blog about some of the questions that came up along the way. I hope this helps anyone else who is trying to better understand how to apply for sponsorship under the new travel policy.

Material Shell Is A New Tiling Shell For Gnome (Beta)

Filed under
GNOME

Material Shell is a new tiling shell replacement for Gnome Shell that's currently in beta. It's tagline mentions that this extension proposes "a performant and simple opinionated mouse/keyboard workflow to increase daily productivity and comfort", while also following the Material Design guidelines.

The extension adds a new panel on the left-hand side of the screen, which has (from top to bottom) an Activities Overview button, application categories buttons (Internet, Development, Social, etc.), and a tray at the bottom.

What's more, Material Shell replaces the top bar with its own bar that lists each running application for a particular category, a + button that allows opening another application from that category, and a button to switch between tiling layouts (only 2 are available for now) for the applications in that particular category.

Also, window titlebars for applications that don't use client side decorations are removed, being replaced with the application name in the top panel added by Material Shell. A close button is also there, for easily quitting applications, though you can also use Super + Q to quit an app.

Read more

Also: Initial Fun with the Open Desktop Ratings Service: Swearing!

GNOME Shell Might Soon Respect Your Font Settings

Filed under
GNOME

Have you ever wanted to change the GNOME Shell font only to learn you can’t, not without editing a hidden .css file?

If so, GNOME developers have heard you and are finally working on a fix for this overlooked and long-standing issue.

Florian Müllner has contributed the code necessary to make GNOME Shell respect your font settings (which can be configured using the GNOME Tweaks tool).

Read more

Python and GNOME/GTK Programming

Filed under
Development
GNOME
  • Functional Programming in Python

    In this course, you’ll learn how to approach functional programming in Python. You’ll start with the absolute basics of Functional Programming (FP). After that, you’ll see hands-on examples for common FP patterns available, like using immutable data structures and the filter(), map(), and reduce() functions. You’ll end the course with actionable tips for parallelizing your code to make it run faster.

  • Episode #137: Advanced Python testing and big-time diffs
  • PyCoder’s Weekly: Issue #375 (July 2, 2019)
  • PyCharm: What We Did At PyCon 2019: A Wrap-up

    PyCon 2019, Cleveland…heck of an event and kudos to Ernest Durbin for a most memorable edition in his delightful city.

    We at PyCharm did some memorable things at PyCon, with some weird ideas that turned out nicely. Some time has passed: let’s do a retrospective.

  • DjangoCon US 2019 Schedule Is Live

    We are a little over two months away from DjangoCon US in San Diego, CA, and we are pleased to announce that our schedule is live! We received many excellent proposals, and the reviewers and program team had a difficult job choosing the final talks and tutorials. Thank you to everyone who submitted a proposal or helped to review.

  • Constraint layouts

    Systems of linear equations can have one solution, multiple solutions, or even no solution at all. Additionally, for performance reasons, you don’t really want to recompute all the solutions every time.

    Back in 1998, the Cassowary algorithm for solving linear arithmetic constraints was published by Greg J. Badros and Alan Borning, alongside its implementation in C++, Smalltalk, and Java. The Cassowary algorithm tries to solve a system of linear equations by finding its optimal solution; additionally, it does so incrementally, which makes it very useful for user interfaces.

    Over the past decade various platforms and toolkits started providing layout managers based on constraints, and most of them used the Cassowary algorithm. The first one was Apple’s AutoLayout, in 2011; in 2016, Google added a ConstraintLayout to the Android SDK.

    In 2016, Endless implemented a constraint layout for GTK 3 in a library called Emeus. Starting from that work, GTK 4 now has a GtkConstraintLayout layout manager available for application and widget developers.

    The machinery that implements the constraint solver is private to GTK, but the public API provides a layout manager that you can assign to your GtkWidget class, and an immutable GtkConstraint object that describes each constraint you wish to add to the layout, binding two widgets together.

  • Pitivi – Making a Nest

    Pitivi is an open source video editing software for Linux. It provides creatives with a simple and elegant interface to edit and bring their videos to realisation. As with every other great software, Pitivi’s development community is always striving to add newer and better features. This year I participated in the Google Summer of Code to add the ‘Nesting’ Feature to the platform. I am currently working on this with my mentor Thiblahute Saunier. In this blog I chart out our current progress and the future tasks at hand.

    [...]

    In the past few weeks I’ve learnt and improved a lot. In the beginning I was a bit reserved and shy to tell my problems but after talking and getting to know my mentor, I think I’ve overcome that fear. The guidance of my mentor has been crucial in this journey. Until now he has done all of the heavy-lifting for the back-end all the while helping me to get up to speed. Hopefully now I will be able to take the reins and at the same time be able to learn more from him. I look forward to an amazing summer and the work we have in front of us.

  • Removing rsvg-view

    I am preparing the 2.46.0 librsvg release. This will no longer have the rsvg-view-3 program.

    [....]

    Rsvg-view requires GTK. But GTK requires librsvg, indirectly, through gdk-pixbuf! There is not a hard circular dependency because GTK goes, "gdk-pixbuf, load me this SVG file" without knowing how it will be loaded. In turn, gdk-pixbuf initializes the SVG loader provided by librsvg, and that loader reads/renders the SVG file.

    Ideally librsvg would only depend on gdk-pixbuf, so it would be able to provide the SVG loader.

    The rsvg-view source code still has a few calls to GTK functions which are now deprecated. The program emits GTK warnings during normal use.

Cinnamon 4.2 Early Testing

Filed under
GNOME
Slack

it's been a while since posted a post here, but that's because of my work load which was way so hectic, so i didn't have time to post an update on Slackware or other things related to Slackware, but for today, i will make an exception since it's time to play with Cinnamon 4.2, the latest release of Cinnamon, which is yet to be announced, but the tarballs are already released on their github project page.

There's no news yet on their blog, but i'm guessing they will release it soon after they mark it as stable. It took several minor releases to ensure stability and compatibility in Cinnamon based on past track records. We had some minor issue dealing with cinnamon-settings-daemon for Slackware-Current since they moved to support newer UPower 0.99 API while in Slackware, we still use the old UPower 0.9.23. In the end, upstream patched a bit, but i'm not really sure the power management component works best since i haven't tried it yet on a laptop (desktop is fine).

Read more

Also new: Cinnamon 4.2.0

Another Attempt At Reducing GNOME's Mutter Input Latency

Filed under
GNOME

Prolific GNOME contributor Daniel Van Vugt of Canonical working to optimize the desktop stack for Ubuntu continues his great upstream-focused work on enhancing the performance of various key components. This past week he posted a new merge request that seeks to lower the input latency further for the Mutter compositor / window manager.

Mutter MR #661 is Van Vugt's latest input latency reduction work for Mutter. This is designed as a replacement to his nearly one-year-old unmerged patches for delivering input events sooner when possible but ended up having technical limitations.

Read more

Also: Network and Disk sources

Why Gnome 2 Continues to Win the Desktop Popularity Contest

Filed under
GNOME

Gnome 2.0 was first released on June 26, 2002. Seventeen years and a couple of reincarnations later, it remains one of the most popular and longest-lived desktop environments for Linux.

A handful of window managers, like IceWM and Ratpoison, are older than Gnome, but less widely used. Similarly, Trinity, the successor fork to KDE 3, is a year younger and much used by a few aficionados. Gnome 2, though, has a recognizable descendants in Gnome 3’s fallback mode, extensions through which it can be closely duplicated, and in Linux Mint’s Mate, which began as a fork of Gnome 2’s last release.

Exactly how many use one of these descendants has never been tallied, but the total is likely enough to place them as a group among the half dozen leading desktop environments today. Looking at this continued popularity, I have to wonder why, and the possible answers suggest what a majority of users look for in a desktop environment.

Read more

Syndicate content

More in Tux Machines

Neon: A Wannabe Linux Distro For KDE Lovers

KDE Neon is a bit of an oddball Linux thing. Linuxland has an impressive collection of oddball things. Neon looks and feels much like a Linux distribution, but its developers assert quite openly on their website that Neon is not a real Linux distro. It just installs and functions like one -- sort of. That can make deciding to use it a little confusing. Neon appears to be a Linux operating system. It boots your computer. It displays a full desktop environment. It runs *some* applications so you can go about your computing tasks much like using any other -- ahh -- real Linux distribution. That last part is a clue to what makes KDE Neon different. Getting somewhat technical for a minute, KDE Neon is more of a specialty offering than a fully endowed operating system. Other distros support a wide range of applications from the same software format type. For example, Ubuntu runs .Deb formatted packages from the Debian Linux family. All .Deb packages will run on Ubuntu- and other Debian-based distros. Which desktop environment is used does not matter, be it KDE, Xfce, GNOME or whatever. Ditto for RPM-based Linux distributions, like Fedora and Red Hat. All you need is a package management tool or knowledge of the commands for apt, yum or pacman, depending on the distribution's Linux family. However, that is a skill set that lots of Linux users never had to learn. Not so with KDE Neon. Neon runs only a specific category of KDE applications: the latest. Neon's developers assert that their "pseudo" distro does not support most other software. In fact, non-KDE packages most likely will not even install on Neon. Read more

Hardware With GNU/Linux

  • Linux Foundation ? where do thou go? ? Stay out of the Desktop and you shalt be paid
  • Acer Chromebook R 11 C738T
  • Samsung Chromebook 3 - XE500C13-K02US
  • Acer Chromebook 14
  • HP Chromebook 11 G5 - X9U02UT
  • Acer Chromebook Spin 15
  • HP Chromebook x2
  • ASUS Chromebook Flip C213SA
  • Samsung Chromebook Plus - XE513C24-K01US
  • Samsung Chromebook Pro - XE510C25-K01US
  • ASUS Chromebit CS10
  • ASUS Chromebook Flip C434 - C434TA-DSM4T
  • Lenovo Chromebook S330 - 81JW0001US
  • Data in a Flash, Part IV: the Future of Memory Technologies

    As it relates to memory technologies, the future looks very promising and very exciting. Will the SSD completely replace the traditional spinning HDD? I doubt it. Look at tape technology. It's still around and continues to find a place in the archival storage space. The HDD most likely will have a similar fate. Although until then, the HDD will continue to compete with the SSD in both price and capacity.

  • Jonathan McDowell: Upgrading my home server

    At the end of last year I decided it was time to upgrade my home server. I built it back in 2013 as an all-in-one device to be my only always-on machine, with some attempt towards low power consumption. It was starting to creak a bit - the motherboard is limited to 16G RAM and the i3-3220T is somewhat ancient (though has served me well). So it was time to think about something more up to date. Additionally since then my needs have changed; my internet connection is VDSL2 (BT Fibre-to-the-Cabinet) so I have an BT HomeHub 5 running OpenWRT to drive that and provide core routing/firewalling. My wifi is provided by a pair of UniFi APs at opposite ends of the house. I also decided I could use something low power to run Kodi and access my ripped DVD collection, rather than having the main machine in the living room. That meant what I wanted was much closer to just a standard server rather than having any special needs. The first thing to consider was a case. My ADSL terminates in what I call the “comms room” - it has the electricity meter / distribution board and gas boiler, as well as being where one of the UniFi’s lives and where the downstairs ethernet terminates. In short it’s the right room for a server to live in. I don’t want a full rack, however, and ideally wanted something that could sit alongside the meter cabinet without protruding from the wall any further. A tower case would have worked, but only if turned sideways, which would have made it a bit awkward to access. I tried in vain to find a wall mount case with side access that was shallow enough, but failed. However in the process I discovered a 4U vertical wall mount. This was about the same depth as the meter cabinet, so an ideal choice. I paired it with a basic 2U case from X-Case, giving me a couple of spare U should I decide I want another rack-mount machine or two.

New Releases of GNU/Linux: Clonezilla, EasyOS and ARCOLINUX

OSS Leftovers

  • Kubernetes: The retro-style, Wild West video game

    The Kubernetes API is amazing, and not only are we going to break it down and show you how to wield this mighty weapon, but we will do it while building a video game, live, on stage. As a matter of fact, you get to play along.

  • Celebrating Kubernetes and 5 Years of Open Source

    5 years ago, Kubernetes was born and quickly became one of the most important open-source platform innovations. Today, its Github repository boasts 55,384 stars and 2,205 contributors! We?re not just celebrating Kubernetes and how much easier it makes our lives, but we?re also celebrating the open-source community that added to the container management tool; making it what it is today. When you have an entire community working together to innovate and improve, the possibilities are endless.

  • Public Statement on Neutrality of Free Software

    F-Droid won’t tolerate oppression or harassment against marginalized groups. Because of this, it won’t package nor distribute apps that promote any of these things. This includes that it won’t distribute an app that promotes the usage of previously mentioned website, by either its branding, its pre-filled instance domain or any other direct promotion. This also means F-Droid won’t allow oppression or harassment to happen at its communication channels, including its forum. In the past week, we failed to fulfill this goal on the forum, and we want to apologize for that.

  • What open-source culture can teach tech titans and their critics
                   
                     

    Yet Mozilla turns out to be much more consequential than its mixed record and middling numbers would have you believe. There are three reasons for this.  

  • Request Travel Support for the openSUSE.Asia Summit

    The Travel Support Program (TSP) provides travel sponsorships to openSUSE community who want to attend the openSUSE.Asia Summit and need financial assistance. openSUSE.Asia Summit 2019 will be in Bali, Indonesia, at Information Technology Department, Faculty of Engineering, Udayana University on October 5 and 6. The goal of the TSP is to help everybody in and around openSUSE to be able to attend the openSUSE.Asia Summit!

  • An Indian research university has assembled 73 million journal articles (without permission) and is offering the archive for unfettered scientific text-mining

    The JNU Data Depot is a joint project between rogue archivist Carl Malamud (previously), bioinformatician Andrew Lynn, and a research team from New Delhi's Jawaharlal Nehru University: together, they have assembled 73 million journal articles from 1847 to the present day and put them into an airgapped respository that they're offering to noncommercial third parties who want to perform textual analysis on them to "pull out insights without actually reading the text."

    This text-mining process is already well-developed and has produced startling scientific insights, including "databases of genes and chemicals, map[s of] associations between proteins and diseases, and [automatically] generate[d] useful scientific hypotheses." But the hard limit of this kind of text mining is the paywalls that academic and scholarly publishers put around their archives, which both limit who can access the collections and what kinds of queries they can run against them.

  • The plan to mine the world’s research papers [iophk: this is the kind of collection that Aaron Swartz died over, effectively killed]