Sparkling gems and new releases from the world of Free and Open Source Software


If you've read the above description of the wonderful ddcutil, used to control various aspects of your display, you'll see that ddcutil is not a simple tool to use. To get the most out of it, you need to introspect your hardware and understand the values it accepts and returns. It's powerful but complicated, especially if all you need to do is change which input to display. Many of us will have more than one computer connected to a single screen, which will often have more than one HDMI or DisplayPort input. But if all you want to do is change the input, then qddcswitch is a much better option. This is a small graphical application that does away with needing to understand anything about your hardware or the ddcutil commands necessary to control it. Instead, it works out what's connected to your computer automatically and presents this information in an easy-to-interpret grid.

This grid is most useful if you have more than one screen connected, with more than one computer connected to those screens. Screens are automatically detected and presented in an Add a Display list from which you can choose which screens are included. This is a useful way of making sure you don't switch the screen with qddcswitch while you're managing other connections. Each screen has its own row in the grid, and each screen's inputs are listed to the right in columns. You can then easily switch between the various inputs of all your connected screens. It's a brilliant way to switch between inputs and much easier than using the typical menu system you find on most monitors. The only thing missing is builds for other operating systems so you can have qddcswitch running on any computer you own. But this is hopefully just a compile away.

Project Website

Alongside the simple Qt-based GUI, qddcswitch can also be driven by an equally easy-to-use command-line client.

Modern diff


There have been command-line tools for comparing files ever since there was a command line. The most famous is of course the venerable diff. This will, by default, compare two files and print output with annotated < and > symbols to show which lines have been removed and added. Other modes, such as the context format, can make this easier to understand and parse by other tools, including patch, but it always rigidly counts differences without any background context on what might cause those differences outside of an intentional edit. This is where Difftastic can help. It's a modern version of the same diff command that understands the context of the files it's looking at, hopefully reducing errors and making it easier to use.

Difftastic is run from the command line as difft and will take the same arguments as diff. Unlike diff, however, difft can specifically parse files written in over 20 programming languages. This means it can understand when differences are just whitespace in formatting rather than syntactical differences in a programming language. It can also understand nesting and whether line wrapping is meaningful for whatever languages it's checking for. Each of these examples would cause false positives from the original diff and make it considerably harder to see the real changes in the code, especially when dealing with pull requests written by different developers. There's also a side-by-side display option, as well as the normal diff output modes, and it will fall back to traditional difference tracking if it can't discern the languages or formats involved. It's a great alternative to the original diff if you're using one of the supported languages. If you're not, adding your language of choice to the project is a great way to contribute to open source.

Project Website

Difftastic is great as the default diff tool for Git and also for any CI system you may run because it makes it much easier to see any file differences.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • FOSSPicks

    This month Graham looks at wallabag, Read It Later, killport, F3D, Tenacity, Cataclysm: Dark Days Ahead, botany, and more!

  • Free Software Projects

    Even admins get bitten by the gaming bug. Frets on Fire lets you train for an air guitar competition. Or try the free business simulation clones Transport Tycoon, Simutrans, or OpenTTD.

  • Setting Up a Quake Server

    You don’t have to be an expert to set up your own Quake 3 game server.

  • 0 A.D.

    Steer the fortunes of ancient civilizations in the real-time strategy game 0 A.D. and revive history.

  • Retro Gaming

    Many computer games from the 1980s and 1990s enjoy cult status. Graphics and sound were not very advanced back then, which forced the producers to impress gamers with good ideas and a convincing level of design. Emulators let you run those classic games on a Linux PC.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More