Language Selection

English French German Italian Portuguese Spanish

GNOME

Norbert Preining: Switching from KDE/Plasma to Gnome3 for one week

Filed under
KDE
GNOME

Honestly, I can’t agree more. I have tried Gnome3 for over a year, again and again, and it feels like a block of concrete put onto the feet of dissidents by Italian mafia bosses. It drowns and kills you.

Read more

GNOME 3.36.5 Desktop Update Released with Various Improvements and Bug Fixes

Filed under
GNOME
Security

Coming about a month after the release of the GNOME 3.36.4 update, GNOME 3.36.5 is here as the latest stable bugfix release for the GNOME 3.36 desktop environment series. As expected, the new update is packed with updated core components and apps to keep GNOME 3.36’s stability and reliability at the higher standards.

Highlights of the GNOME 3.36.5 update include Firefox Sync improvements for the Flatpak version of the Epiphany (GNOME Web) web browser, along with a fix for the way newly created tabs are ordered when closing new tabs, as well as a fix for a drag-and-drop crash in File Roller that occurred when cancelling the file overwrite process.

Read more

GNU, GTK/GNOME, and More Development News

Filed under
Development
GNU
GNOME
  • GNU Emacs 27.1 Adds HarfBuzz Text Shaping, Native JSON Parsing

    GNU Emacs 27.1 is the latest feature release for this very extensible text editor. With Emacs 27.1 there is support for utilizing the HarfBuzz library for text shaping. HarfBuzz is also what's already used extensively by GNOME, KDE, Android, LibreOffice, and many other open-source applications.

    Emacs 27.1 also adds built-in support for arbitrary-size integers, native support for JSON parsing, better support for Cairo drawing, support for XDG conventions for init files, the lexical binding is now used by default, built-in support for tab bar and tab-line, and support for resizing/rotating images without ImageMagick, among other changes.

  • Philip Withnall: Controlling safety vs speed when writing files

    g_file_set_contents() has worked fine for many years (and will continue to do so). However, it doesn’t provide much flexibility. When writing a file out on Linux there are various ways to do it, some slower but safer — and some faster, but less safe, in the sense that if your program or the system crashes part-way through writing the file, the file might be left in an indeterminate state. It might be garbled, missing, empty, or contain only the old contents.

    g_file_set_contents() chose a fairly safe (but not the fastest) approach to writing out files: write the new contents to a temporary file, fsync() it, and then atomically rename() the temporary file over the top of the old file. This approach means that other processes only ever see the old file contents or the new file contents (but not the partially-written new file contents); and it means that if there’s a crash, either the old file will exist or the new file will exist. However, it doesn’t guarantee that the new file will be safely stored on disk by the time g_file_set_contents() returns. It also has fewer guarantees if the old file didn’t exist (i.e. if the file is being written out for the first time).

  • Daniel Espinosa: Training Maintainers

    Is not just help others to help you, is a matter of responsibility with Open Source Community. Your life have wonders and should change for better, so you will be lost opportunities or simple can’t work on your favorite open source project. Prepare your self to be a maintainer professor, change your mind for the beginning and help others, that is also a great contribution to open source software.

    Be kind. Your potential contributors will take over when required. Making sure they have the abilities and use best practices in the project, is not just good for your project, is good for all others out there; they will use them to help other projects.

  • nanotime 0.3.1: Misc Build Fixes for Yuge New Features!

    The nanotime 0.3.0 release four days ago was so exciting that we decided to do it again! Kidding aside, and fairly extensive tests notwithstanding we were bitten by a few build errors: who knew clang on macOS needed extra curlies to be happy, another manifestation of Solaris having no idea what a timezone setting “America/New_York” is, plus some extra pickyness from the SAN tests and whatnot. So Leonardo and I gave it some extra care over the weekend, uploaded it late yesterday and here we are with 0.3.1. Thanks again to CRAN for prompt processing even though they are clearly deluged shortly before their (brief) summer break.

  • Explore 10 popular open source development tools

    There is no shortage of closed-source development tools on the market, and most of them work quite well. However, developers who opt for open source tools stand to gain a number of benefits.

    In this piece, we'll take a quick look at the specific benefits of open source development tools, and then examine 10 of today's most popular tooling options.

    [...]

    Git is a distributed code management and version-control system, often used with web-based code management platforms like GitHub and GitLab. The integration with these platforms makes it easy for teams to contribute and collaborate, however getting the most out of Git will require some kind of third-party platform. Some claim, however, that Git support for Windows is not as robust as it is for Linux, which is potentially a turnoff for Windows-centric developers.

    [...]

    NetBeans is a Java-based IDE similar to Eclipse, and also supports development in a wide range of programming languages. However, NetBeans focuses on providing functionality out of the box, whereas Eclipse leans heavily on its plugin ecosystem to help developers set up needed features.

  • Andre Roberge: Rich + Friendly-traceback: first look

    After a couple of hours of work, I have been able to use Rich to add colour to Friendly-traceback. Rich is a fantastic project, which has already gotten a fair bit of attention and deserves even more.

    The following is just a preview of things to come; it is just a quick proof of concept.

  • Growing Dask To Make Scaling Python Data Science Easier At Coiled

    Python is a leading choice for data science due to the immense number of libraries and frameworks readily available to support it, but it is still difficult to scale. Dask is a framework designed to transparently run your data analysis across multiple CPU cores and multiple servers. Using Dask lifts a limitation for scaling your analytical workloads, but brings with it the complexity of server administration, deployment, and security. In this episode Matthew Rocklin and Hugo Bowne-Anderson discuss their recently formed company Coiled and how they are working to make use and maintenance of Dask in production. The share the goals for the business, their approach to building a profitable company based on open source, and the difficulties they face while growing a new team during a global pandemic.

Epiphany History Selection Mode

Filed under
GNOME
Web

Since my last blog post I have been working on implementing a selection mode for Epiphany’s History Dialog. The selection mode is a pretty common pattern seen throughout GNOME applications. It’s used to easily manipulate a set of selected items from a list or grid. I’ve used the selection mode from GNOME Boxes as a reference when implementing it in Epiphany.

[...]

Activating the selection mode reveals the action bar at the bottom which can be used to delete the selected items from history or open them in new tabs in the main browser window.

Another new change is the addition of the Copy URL button located to the right of each history row. The button is used to copy the item’s URL to clipboard. This change is not directly related to the selection mode, but it was added in order to remove the right-click popover menu which was previously used to open history items in new tabs and copy URLs to clipboard.

Read more

The archaeology of GNOME accessibility

Filed under
GNOME

There are many people in the world who cannot make full use of their computers without some sort of accessibility support. Developers, though, have a tendency not to think about accessibility issues themselves; they don't (usually) need those features and cannot normally even see them. In a talk at the 2020 GUADEC virtual conference, Emmanuele Bassi discussed the need for accessibility features, their history in GNOME, and his effort to rethink about how GNOME supports assistive technology.

He began by defining "accessibility" as usability by people with disabilities; this usability is often provided through the use of assistive technology of some sort. When one thinks about who benefits from accessibility, it is natural to picture people like Stephen Hawking, who clearly needed a lot of assistive technology. But that is not what the most common consumers of assistive technology look like; instead, they look like his parents, who are active people in their late 60s. They are computer-literate, but they are getting older and need more affordances than they once did.

[...]

Much of the accessibility implementation is maintained outside of the GTK source tree, which brings problems of its own. The end result is that GNOME's accessibility support never worked all that well. But it lets managers check the "accessibility" box, which is all many of them need. Unfortunately, accessibility is not a box that can be checked and forgotten about; it is a process that must be constantly kept up with. But the GNOME project ended up mostly forgetting about it.

In the intervening years the world has changed. CORBA has been replaced by D-Bus, for example. Patience for out-of-tree modules is mostly gone. The move to Wayland is creating problems for existing assistive technology, as is the sandboxing that is increasingly being used for GNOME applications.

AT-SPI has been ported to D-Bus, he said, but the architecture of the accessibility subsystem as a whole is the same. It remains in the X11 world, where every application expects to have access to the entire system. This is a design that dates back to the days when applications were installed by the system administrator and could (hopefully) be trusted; they certainly were not acquired from random places on the Internet.

The world has changed, he said, so accessibility support in GNOME needs to change with it. The system is "stuck" and needs a redesign. But this is hard because, unlike the situation with other desktop features, it is not possible to ask users of assistive technology to contribute. To a great extent, they simply cannot perceive what is not available to them, so it's hard to even ask them to report regressions.

The first thing that needs to happen is to consolidate the various pieces, many of which have been untouched for years. Some new functionality has been added, mostly to match new features provided by browsers, but as a whole GNOME accessibility support just doesn't really work. The abstraction layer doesn't really abstract anything, so changes typically have to be made in many places. The toolkit needs to be simplified; as things stand now, application developers expect GTK to take care of everything, but that is not the case. There is also a need for funding; this work is not trivial and it's not reasonable to expect it to be done by volunteers.

Read more

Epiphany History Selection Mode

Filed under
GNOME

Since my last blog post I have been working on implementing a selection mode for Epiphany’s History Dialog. The selection mode is a pretty common pattern seen throughout GNOME applications. It’s used to easily manipulate a set of selected items from a list or grid. I’ve used the selection mode from GNOME Boxes as a reference when implementing it in Epiphany.

This is how the History Dialog looked like before...

Read more

Identifying Operating Systems in GNOME Boxes

Filed under
GNOME

One secret sauce of GNOME Boxes is libosinfo. It basically is an umbrella for three components: libosinfo, osinfo-db-tools, and osinfo-db.

libosinfo offers programmatic means to query for information about OSes. osinfo-db-tools is a set of tools that help manipulate and extract information from OS images (such as ISO files). osinfo-db is a database of operating system information describing requirements for virtualized installations as well as virtual drivers and devices that work with each OS in the database.

Read more

Linux App Summit Goes Online in November

Filed under
KDE
GNOME

Once again, KDE and GNOME are teaming up to bring you THE conference for people interested in establishing Linux as a great end-user platform. At the Linux App Summit we work on making app creation for users easy and worthwhile.

Since travel is complicated nowadays, we decided to make LAS 2020 a virtual conference. The event will open Thursday, 12th November and we'll wrap up on Saturday, 14th November. Our goal is to engage people in multiple time zones and make the content available online after the conclusion.

The Call for Talks is now open! Please take a look at the suggested topics and send in your ideas. We encourage new speakers, so don’t hesitate to submit a proposal!

Save the date on your calendar and we look forward to seeing you at LAS 2020!

Read more

Also: KBibTeX 0.10-alpha2 aka 0.9.81

KDE and GNOME: QML, MyPaint Brush Engine, Daniel van Vugt and Pitivi Summer of Code

Filed under
KDE
GNOME

  • QML Online - Can be everywhere!

    A new feature of QML Online is already available, allows it to run in any site/blog with minimal js/html code!

    Hopefully, our experience with QML examples, tutorials and documentation should change in the near future.

  • MyPaint Brush Engine [Final Phase]

    Coming to my project, it is almost complete apart from some finalisation related stuff that still is remaining. Perhaps, some review changes that my mentors shall give me once my current patch has been reviewed are also remaining.

    [...]

    I don't know why, but I always seem to have this feeling at the back of my head that something will come up that will be tough to handle and ruin my project. Though this has been happening even before GSoC started. That scares me a bit Sad Anyways.

  • Ubuntu's Prolific GNOME Developer Is Looking To Tackle Deep Color Support

    GNOME could soon be playing nicely with deep color displays that aim to offer more realistic color reproduction thanks to the greater bit depth for each color component. 

    Canonical's Daniel van Vugt who has led many of the Ubuntu GNOME performance optimization initiatives and countless bug fixes for GNOME since Ubuntu switched back to using it as the default desktop is now looking at plumbing deep color support. Daniel recently has been working on better graphics clock frequency scaling as part of optimizations to improve the GNOME 4K experience particularly when using Intel graphics. The latest area he started dabbling with is deep color support. 

  •        

  • Vivek R: Pitivi: Object Tracking

    I’ve been selected as a student developer at Pitivi for Google Summer of Code 2020. My project is to create an object tracking and blurring feature.

    In this post, I introduce a feature in development which allows the user to track an object inside a video clip.

GNOME and GTK: Devs, Themes and Declaration of Digital Autonomy

Filed under
GNOME

            

  • Diego Escalante Urrelo: A minimal jhbuild GNOME session in Debian

    I recently setup a GNOME development environment (after about seven years!). That meant starting from scratch since my old notes and scripts were completely useless.

    My goal for this setup was once again to have the bare minimum jhbuild modules on top of a solid base system provided by my distro. The Linux desktop stack has changed a bit, specially around activation, dbus, and systemd, so I was a bit lost on how to do things properly.

  •         

  • Molly de Blanc: busy busy

    I’ve been working with Karen Sandler over the past few months on the first draft of the Declaration of Digital Autonomy. Feedback welcome, please be constructive. It’s a pretty big deal for me, and feels like the culmination of a lifetime of experiences and the start of something new.

    We talked about it at GUADEC and HOPE. We don’t have any other talks scheduled yet, but are available for events, meetups, dinner parties, and b’nai mitzvahs.

  •        

  • Linux themes update – August 2020

    Customization plays a big part when it comes to Linux. Users around the world are using different kind of distribution and most of them really like to make their desktop look just amazing. In this monthly article, you will get to know about the new trending themes for Linux.

    So without further let’s get down to the business.

    Note: All the themes are GTK based so they shall apply on most of the desktop environments.

  •        

  • libhandy: project update

    Since the last update, we have progressed a lot in achieving a significant milestone; that is handling multiple rows in our widget. For me working through this implementation involved understanding the GtkGrid implementation, then developing an idea around it to add the adaptive factor to our brand new widget.

    One issue that has been lingering for a while was to find a way for accepting column weights through XML layouts.

    The issue persists in the latest code, but for the time being, this is our workaround: currently, we have a weight property for every child widget (which defaults to 0) and then the column’s weight is derived from the widgets belonging to that column.
    So if widgets belonging to the same column have different weights defined in XML (or assigned programmatically), its unpredictable what weight the column will end up having. So, it is to be taken care that every widget belonging to the same column don’t have different weights.

    That does not sound good, but thankfully, Adrien recently came up with a suggestion of keeping a property which accepts comma-separated values. We will be implementing this in the coming days. This will remove the unpredictable weight issue with our current approach (Yay!).

Syndicate content