Language Selection

English French German Italian Portuguese Spanish

GNOME

Events: Akademy 2019, GUADEC 2019, SUSE, Linux Plumbers Conference

Filed under
KDE
OSS
GNOME
  • Akademy 2019: Talk Schedule is out!

    On day one (Saturday, September 7), the teams that have been working on the community goals over the last two years will discuss how things worked out and what has been achieved (spoiler: a lot). As many of the procedures and processes developed for the goals have now been worked into the everyday ways the KDE community operates and builds things, it is time to look for new goals. That is precisely what will be happening next, when the panel unveils what the community has decided to work on in the next two years.

    Apart from goals, there will also be time for the bleeding-edge tech KDE is so well-known for. You will find out from Aleix Pol how developers managed to make a complex graphical environment like the Plasma desktop start up faster, and Marco Martin and Bhushan Shah will show us how Plasma can work everywhere, including on embedded devices. Taking things a step further still, Aditya Mehra will demonstrate how the open source Mycroft AI assistant can be the next great thing to assist you while you drive your car.

  • Felipe Borges: Newcomers workshop @ GUADEC 2019

    This year’s GUADEC is approaching and I can already feel people’s excitement while talking about our annual conference. It is important that we benefit from having so many GNOMies together in the same location to help the next generation to get started in our project. For this reason, we are planning a workshop during the first day of the BoFs (check our wiki page for more info).

    The Newcomers Workshop aims at helping newcomers solve their first Gitlab issue. Historically, Carlos Soriano has championed the initiative (thank Carlos when you see him) and I have participated, guiding dozens of people in the universities here in Brno. In the past, other community members were organizing the workshop all over the world. We plan to expand the initiative by having even more GNOME contributors organizing similar events at a local level.

  • Webinar – Multimodal OS: SUSE Linux Enterprise 15 Service Pack 1
  • Customize your Cloud Foundry UI through Stratos extension framework

    At the recent Cloud Foundry Summit in Philadephia, Troy Topnik of SUSE and Bo Yang of IBM discussed how to use the open source Stratos UI’s extension framework to add new features such as autoscaling policies, allowing users to view and query application metrics and scaling events in the Stratos application dashboard with a consistent user experience. This is a great opportunity to learn about how Stratos and how it can be easily customized for Cloud Foundry deployments.

  • Linux Plumbers Conference: Power Management and Thermal Control Microconference Accepted into 2019 Linux Plumbers Conference

    We are pleased to announce that the Power Management and Thermal Control Microconference has been accepted into the 2019 Linux Plumbers Conference! Power management and thermal control are important areas in the Linux ecosystem to help improve the environment of the planet. In recent years, computer systems have been becoming more and more complex and thermally challenged at the same time and the energy efficiency expectations regarding them have been growing. This trend is likely to continue in the foreseeable future and despite the progress made in the power-management and thermal-control problem space since the Linux Plumbers Conference last year. That progress includes, but is not limited to, the merging of the energy-aware scheduling patch series and CPU idle-time management improvements; there will be more work to do in those areas. This gathering will focus on continuing to have Linux meet the power-management and thermal-control challenge.

A Merge Proposal to ‘Drop Snap Support’ from GNOME Software Hints at Deeper Divisions

Filed under
GNU
Linux
GNOME
Ubuntu

As you probably know, Ubuntu Software, the default software app Ubuntu ship with, is based on GNOME Software. It’s mostly the same app save for a few Snap-specific tweaks (which we’ve mentioned before) and shipping with the Snap plugin by default.

In short, the “Snap” support it offers isn’t particularly egregious or wide-reaching.

But word on the street is that Ubuntu is prepping a brand new app store exclusively tailored to Snap apps for use in a future release (but separate from the Snap’d Snap Store snap)

This has made some devs who work on GNOME Software a little …twitchy.

Kalev Lember, the dev behind the merge request to nuke the 4000 or so lines of Snap support in GNOME Software, explains:-

“Ubuntu is switching to a new snap-store app for installing and removing snaps. This commit drops the snap backend from gnome-software to avoid maintenance overhead.”

Reasonable. Why should they shoulder the burden of working around Snap-specific code if Ubuntu, the only distro making use of it, don’t plan to use it longterm?

Read more

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

Syndicate content

More in Tux Machines

CAN-Bus HAT for Raspberry Pi 4 offers RTC and wide-range power

Copperhill’s third-gen, $65 “PiCAN3” HAT features Raspberry Pi 4 support and a SocketCAN-ready CAN-Bus 2.0B port. The HAT has an RTC and is powered by a 3A, 6-20V Switch Mode Power Supply that can also power the Pi. Copperhill Technologies has launched a CAN-Bus HAT for the Raspberry Pi 4 Model B designed for industrial and automotive applications. Like the PiCAN2. which we briefly covered last year as part of our report on Network Sorcery’s UCAN software for CAN-equipped Raspberry Pi boards, the HAT is equipped with a Microchip MCP2515 CAN controller and MCP2551 CAN transceiver. Read more

Android Leftovers

FreeBSD 12 & DragonFlyBSD 5.6 Running Well On The AMD Ryzen 7 3700X + MSI X570 GODLIKE

For those wondering how well FreeBSD and DragonFlyBSD are handling AMD's new Ryzen 3000 series desktop processors, here are some benchmarks on a Ryzen 7 3700X with MSI MEG X570 GODLIKE where both of these popular BSD operating systems were working out-of-the-box. For some fun mid-week benchmarking, here are those results of FreeBSD 12.0 and DragonFlyBSD 5.6.2 up against openSUSE Tumbleweed and Ubuntu 19.04. Back in July I looked at FreeBSD 12 on the Ryzen 9 3900X but at that time at least DragonFlyBSD had troubles booting on that system. When trying out the Ryzen 7 3700X + MSI GODLIKE X570 motherboard on the latest BIOS, everything "just worked" without any compatibility issues for either of these BSDs. Read more

How to break out of a hypervisor: Abuse Qemu-KVM on-Linux pre-5.3 – or VMware with an AMD driver

A pair of newly disclosed security flaws could allow malicious virtual machine guests to break out of their hypervisor's walled gardens and execute malicious code on the host box. Both CVE-2019-14835 and CVE-2019-5049 are not particularly easy to exploit as they require specific types of hardware or events to occur. However, if successful, either could allow a miscreant to run malware on the host from a VM instance. CVE-2019-14835 was discovered and reported by Peter Pi, a member of the Tencent Blade Team. It is found in the Linux kernel versions 2.6.34 up to version 5.3, where it is patched. Read more