Fedora 19 Review Part 2 – App Love

Despite having several different spins, Fedora’s flagship spin is the one that ships with GNOME as the default desktop environment. Admittedly a lot of what I’m going to be covering here pertains to apps which are specific to GNOME rather than Fedora itself. However since this is effectively the face of Fedora, it needs some discussion. Some of the apps that are going to be covered here are only going to get touched on briefly while a few others I’m going to nail down into quite hard. So without further ado, let’s get started!

Files

Files, previously known as Nautilus, is the default file manager for the GNOME desktop. There isn’t really too much to say here since there’s not a whole lot different in this version from the previous one. Two things are worth mentioning though.

The new design for the GNOME icons is something to behold. Compared to the original design that was present in just the previous iteration, for the first time I don’t feel the need to jump out to gnome-look.org and find another icon theme to replace the gaudy looking one that was there to begin with. That original theme really just didn’t age well. What we have now is far better. I think I remember them having a little more of a reddish tone in the Beta RC that this but they still look great.

Shiny new GNOME icon theme
Shiny new GNOME icon theme

The other thing worth mentioning is the location of the global preferences for Files (or any app for that matter). In the top-left near the Activities hot corner is the icon for the app. If you click on that, it will bring down your pseudo “File” command from a traditional menu bar. I made note of this before in my previous post going over tips and tricks in Fedora 18. It’s really important that you start paying attention to this area since this could be a serious area of interest for federating these types of options that previously existed in a menu. Recognizing this fact could save you a lot of frustration in the long run.

The menu location in GNOME
The menu location in GNOME

Documents

Documents is one of those really strange apps that have cropped up out of the GNOME Team which I’m having a bit of difficulty putting my finger on what its purpose actually is. It feels like it sits between a file browser and a document viewer but doesn’t really satisfy either job 100%. According to the official project page on GNOME Live, Documents is a “document manager application designed to work with GNOME 3.” Not very precise and it actually sounds like it collides with Nautilus in some way. Let’s let photos speak for the app.

Documents showing available files in Grid View
Documents showing available files in Grid View

Supposedly Documents manages documents from both local and cloud storage. I qualified with supposedly because the only proof I’ve seen of local storage is the default “Getting Started with Documents” PDF that’s available from the start and I currently don’t have local files stored. However the cloud storage synchronization works because my files in Drive pulled down instantly. Well, some of them. But I’m getting ahead of myself.

There are two layouts that Documents will display documents in: grid and list. The grid view is shown above and the list view is shown below. List view is slightly more verbose being that it will display the storage source as well.

Documents in List View
Documents in List View

The Reading view is actually pretty nice. Documents with multiple pages are aligned horizontally and navigation between those pages is in the same direction. This is different from most every other document viewer where pages are stacked vertically. To facilitate this directional change, page navigation is triggered by a set of buttons that appear contextually on either the left or right sides of the screen or by using a scrub bar that’s sensitive to mouse clicks. Documents is also capable of handling custom bookmarks in a document and supports a table of contents as well but I’ve yet to see this be populated into the app to try and use the feature.

Reading View with the Scrub Bar and navigation buttons.
Reading View with the Scrub Bar and navigation buttons.

That’s about where it ends with this really and where the drawbacks start.

The first thing I noticed is that Documents doesn’t display anything other than, well, documents. Both of my Drive accounts are full of images, compressed files and web forms. None of these show up in the listing. My first hope was that this would be the Drive client for Linux that we were wanting but this instantly disqualified that thought. Another hitch is that Documents displays files in a flat-hierarchy format. You can see this being done in the screenshots above. My Drive accounts have several folders each. Each folder contains files therein. Documents will see these folders as “Collections” and allocate space in the view for them. However when you open them up, nothing shows. If I scroll though all of the files that Documents knows about, I can see files that clearly belong under certain folders in Drive. It’s a dumb recognition of the existence of a folder (or “label” in the case of Drive).

Additionally, there doesn’t appear to be a way to sort or organize the arrangement of the files that are being displayed. Instead they’re haphazardly placed in any way that Documents deems necessary. This really becomes a headache if you have multiple cloud accounts with document storage synchronized because you can’t filter by account from within Documents. So all of your files essentially get mixed together with other files from other services and it just gets messy. There doesn’t appear to be any general filter at all other than a search function.

Overall I think we’re seeing the makings of a good document viewer but it should focus more on the viewing portion itself and not so much the file aggregation portion. That’s what Nautilus is for.

Weather

This is a nifty little program that does precisely what you would imagine it would do: gives you the current weather conditions for your metro area delivered GNOME 3 style. I don’t really see this app being useful since it would be easier to just open a tab in your browser and it doesn’t appear to integrate with notifications at all but it looks good and it works.

All of your locations are managed. From the home screen you can add new locations and those locations will be displayed in the large area that makes up the entire portion of the window. It feels a little weird adding a location since there’s no real indication as to which type of data is required and what it won’t understand. It prompts you to enter a city so I entered the city that I live in and it couldn’t find it. So then I had to think of what the nearest most well-known metro area would be and I came up with Canton (there’s an airport there). No dice. So I went a little further and tried Akron. That worked.

Managed locations in Weather
Managed locations in Weather
Attempting to add a new location
Attempting to add a new location

The weather is displayed in a style that’s similar to the lock screen: large text in the center in front of a predefined backdrop that the text contrasts off of nicely. The bottom of the window contains an extended forecast and if you open the right side of the window with the arrow button, you can get an irregularly patterned almost-hourly forecast for the current day.

Location Detail
Location Detail
Almost-Hourly forecast
Almost-Hourly forecast

I haven’t been able to figure out if there’s a way to change the temperature format between Fahrenheit or Celsius and I’m thinking, or hoping, that this may be dependent on the locale settings for your computer. I haven’t tested this yet.

Clocks

Clocks looks really cool. You go along always thinking that you’ll never need a comprehensive timing program and then that day comes when you need a stopwatch or countdown timer in the house and you can’t find one. Enter Clocks.

Managed Global Clocks
Managed Global Clocks

The home screen shows all of your managed global clocks. These clocks display the time from various places around the world and are arbitrary. You can add or remove as many as you’d like. You can click on each one to see a modest detail view displaying the current time in larger text and the sunrise and sunset times in the bottom center. There’s just so much wasted space with this detail view that it loses its novelty after the second or third time of seeing it. Why this couldn’t have been incorporated into the grid view on the home screen is beyond me.

Location detail showing the sunrise and sunset times
Location detail showing the sunrise and sunset times

The Stopwatch feature lets you set splits and counts those splits incrementally as they happen. When a split occurs, it records the time at which it happened. All of the splits are listed below the counter. Once you stop the timer, you have the option to clear it or restart from the position you stopped at.

Stopwatch showing some splits
Stopwatch showing some splits

Then there’s the countdown timer. What you do here is set the upper limit for the timer, click the start button and let it go. The timer will countdown to 00:00:00. Once it reaches that time, both an audible and visual notification will play/appear. While it’s counting down, you can pause or reset the timer before it reaches the end.

Countdown Timer
Countdown Timer

Finally, the alarm lets you set a time at which an audible and visual alarm notification goes off. You have the ability to stop or snooze the alarm from either in the app or within the notification that appears itself so near-headless interaction with the alarm clock is possible.

Management for active alarms
Management for active alarms

Settings

The Settings app provides you with a gateway to changing some basic configurations in your computer. There are some changes to this iteration to cater to new features in GNOME and those are the ones that I wanted to touch.

The push for apps to integrate with notifications could possibly make for a noisy desktop if you’re not careful. There appears to be a central registration point for apps to issue changes though notifications and that point is exposed through the Notifications section in Settings. Here you can toggle notification visibility entirely and even toggle which apps can push notifications through. This is really nifty and I’d like to see more apps do this in the future.

Configuring Notifications
Configuring Notifications

In the first part of this review I’d mentioned the integration of cloud services using the Welcome dialog. This dialog is simply a watered-down front for what is contained in Settings. From the Online Accounts section you can add/remove services but then you can take it a step further and control which aspects of those services you want synchronized with your computer. The big positive here is that a Google account tends to be federated itself in that a single Google account carries data from several services like Calendar, Gmail, Talk/Hangouts and Drive. You can specify which of these individual services you want to use though this panel. These changes will be reflected though the appropriate apps on your computer. If you stop synchronizing your Gmail, Evolution won’t be able to fetch mail from that account anymore.

Online Accounts Configuration
Online Accounts Configuration

Another big push recently is to be able to provide users with the data they want faster. Programs like zeitgeist are supposed to aid in accomplishing this goal but they can appear to be extremely intrusive. Yanking it out of your system can be a chore and configuring what it monitors can be just as hard as well. You can toggle this feature and a few others through the Privacy section. It’s pretty straightforward here.

Privacy Configuration
Privacy Configuration

Finally, GNOME Shell enables you to search through certain app providers that expose data to find the files and programs you want faster. This is similar to what’s existed in Unity Dash for some time. These providers appear to register themselves like the apps do for notifications and you can toggle the ability to search these providers though the Search section. What you’ll do here is simply toggle on or off on a listed app and that will instruct GNOME that it either can or can’t search though it when looking for something in desktop searches. I’ve never really found these searches to be all that accurate especially if you’ve got files with names that have some type of schema that involves sequential numbering at the end of the file name.

Search Configuration
Search Configuration

My Callouts

Fedora 19 comes with a lot of additional software other than what I’ve listed here. We’re getting LibreOffice 4.0 which has some really nice improvements such as integration with CMS and cloud storage using the CMIS standard. Evolution and Firefox are still your default email and browser clients respectively. The virtualization client Boxes has received some much needed improvements with regard to display performance and I want to cover that but I think I’ll reserve that for a whole other post or video on its own. I threw Boxes under the bus when I first encountered it for a number of reasons. I also wonder why GNOME Tweak Tool isn’t installed out of the box. There’s almost no reason why it shouldn’t be installed by default at this point.

EDIT: The other thing I wanted to point out as well was the growing disparity in the colours used in app themes. If you noticed above, Weather uses the Adwaita Dark theme by default while most every other app uses the Adwaita Light theme. Shotwell and Totem are bad about this too. And there’s no way to enforce the Light theme on them either (or at least not that I’m aware of). My point here is that if I want to use the Adwaita Light theme, I want ALL of my apps to adhere to that theme and not just the ones that feel like it.

The next section will take a look at some of the tool updates that happened under the hood. These will be geared more toward terminal tools that administrators or developers will find useful.

Customizing GNOME Shell (As Far As I’ve Done)

I was really tossing up the idea of doing this over an audio tutorial or what but in the end I decided that it would be best if I just typed it out. I’ve had really bad luck with recording audio on Linux and it just doesn’t seem to get any better no matter what I do.

One of the things that I really like about using Linux is the modular nature of all of the software on the system. That especially applies to the look and feel of the desktop environment. To some degree, regardless of which DE you use (if any), you have some level of control over how you can personalize it. This is usually one aspect that I’ll spend an entire weekend on just because I can.

So if anyone hasn’t figured it out by now, I’m pretty partial to GNOME 3. Despite my angst against their documentation efforts for GTK, I think it’s a fantastic DE and most importantly I think it’s the best looking one out there. And that’s just judging by stock appearance with the Adwaita theme. At some point, however, you’ll probably get the itch to try and create a custom theme yourself. Ambitious to say the least. The problem is that it’s not exactly clear how to go about doing that. In fact, I’m still looking into how to do this for myself.

However all is not lost. For there do exist on the internet a vast collection of Shell themes, GTK3 themes, icon themes, fonts, sounds; literally everything you need to really make your desktop experience your own. What I wanted to do was share my current desktop and show you how I went about bringing it to that point. Be forewarned that the background image is NSFW and if you don’t like it, you can go fuck yourself.

Desktop Screen Capture
My default GNOME 3 desktop

Here’s a view of Nautilus

Nautilus Screen Capture
Nautilus using Tree View in the Sidepane

And here’s Rhythmbox (mainly to show off the GTK3 theme)

Rhythmbox Screen Capture
Rhythmbox

So here’s what we have going on here.

  • The GNOME Shell theme is Nord
  • The GTK3 theme is FlatStudio (there are four variants available; I’m using the Light version)
  • The icon theme is ALLBLACK
  • The font is Roboto (The same font used on modern versions of Android)

Let’s start the process.

Before you start downloading anything to customize with, you’ll need to get a few packages. You’ll want to download the gnome-tweak-tool package. It’s important that you check to make sure that when you download it that it brings along with it the gnome-shell-extension-common and gnome-shell-extension-user-theme packages; it usually does these days. If it doesn’t, you’ll have to manually install those packages.

GNOME Tweak Tool is a pretty nifty tool that will help you customize GNOME Shell/GTK with very little effort (which is what we want). The other two packages are for enabling the use of custom extensions with GNOME Shell and a specific extension that will allow you to use custom themes on the Shell. It’s pretty straightforward.

Once you have those installed, you can start downloading all of the themes, icons and fonts that you want. You just need to know where those assets need to go after they’re all downloaded.

Technically speaking, there are two places you can move your assets to so that they’re visible to GNOME. If you’re on a single-user computer, it really doesn’t matter where you put them. However if you’re on a computer that has multiple users, it will matter if you’re concerned about providing other users aside from yourself access to those assets so that they can customize their DE.

The “single-user” way (it may be more accurate to say this is the user-private way) is to simply move the assets into hidden directories under your home directory. There’s a good chance that these directories don’t already exist so you’ll have to make them. Here’s where things should go:

  • GNOME Shell/GTK Themes – ~/.themes
  • Icon Themes – ~/.icons
  • Fonts – ~/.fonts

Remember that in order to check to see if these directories exist, you’ll either need to use ls -a from bash or use Control+H in Nautilus.

The other method requires that you have root permissions. On a computer with multiple users, this should be an issue if you’re the administrator. If you’re not, then you can’t place those assets in these directories and you’ll have to resort to the user-private way.

  • GNOME Shell/GTK Themes – /usr/share/themes
  • Icon Themes – /usr/share/icons
  • Fonts – /usr/share/fonts

As I mentioned before, using this method will make these assets available to all users on a single computer. Or if you just feel more comfortable having these assets in a root-protected directory or if you’re running a self-imposed quota on your home directory, this would be where they’d go.

Once the assets are moved, they should immediately be available to GNOME thus making them available to the Tweak Tool. To open the Tweak Tool, you can go through Shell and type “Advanced Settings”. Or you can open it up through bash by using gnome-tweak-tool & (the & makes the process run in the background).

If this is the first time you’ve run the Tweak Tool, there’s a small process that you’ll need to go though before you can start customizing the Shell. By default, the use of Shell Extensions is disabled which we don’t want. The screenshot below shows the Shell Extensions section and while mine shows that it’s on, first timers will probably see that it’s off. You’ll need to toggle that on and then restart GNOME Shell (Alt+F2, type the letter ‘r’, then press Enter). You may want to restart the Tweak Tool as well just to be safe.

GNOME Tweak Tool - Shell Extensions Enabled
GNOME Tweak Tool – Shell Extensions Enabled

Now you’ll want to open the Tweak Tool again and if you check the Shell Extensions section, you should see that it’s toggled on. Now you can start making changes to your Shell/GTK themes under the Theme section. I have my current configuration shown below. See the very last combobox at the bottom labeled “Shell Theme”? If we hadn’t enabled the User Themes Extension in the previous step, this combobox would be disabled and you wouldn’t be able to use custom themes on the Shell. You still would’ve been able to make changes to GTK, fonts and the icons.

GNOME Tweak Tool - My Current Configuration
GNOME Tweak Tool – My Current Configuration

It really is as simple as that. Hopefully before too long I’ll be able to figure out how to go about creating a custom theme and can share those experiences here. Any questions, please feel free to leave them in the comments below!

Fedora 18 Post-Install Tips/Tricks

I wanted to share some things that I do after I install a Fedora system and some tips for getting by with your sanity intact. More specifically, these are steps that I follow after a fresh install and not an upgrade (I haven’t had a chance to use fedup yet).

Keep in mind that this list is entirely subjective to your particular needs. Being a developer/media junkie, the packages and steps that I’ll go over here may not be to your liking or even something that you’d want to do at all. However I’m hoping that the steps would somehow come in handy for certain people. These steps cover a GNOME Spin of Fedora. Some of the steps are specific to GNOME while some are more particular to Fedora.

The first thing I do, as anyone should really, is run updates. There’s a pretty good chance that you’re going to have updates in your software channels right after a fresh install. This is actually quite common especially when you’re installing a version of a distribution that’s dated even by a few weeks. This is doubly true with Fedora which tends to be the “bleeding-edge” distribution because it contains both pretty radical changes (in some cases) and usually runs the latest kernel whereas other distributions are typically a few versions behind. Fedora uses the YUM package manager and the RPM package format. You can check to see if your system has updates available by running yum check-update, as a non-privileged user, which will print a list of all packages that have pending updates in the channel. When you want to actually update, simply run yum update as root and you’re all set.

Here’s a quick tip while speaking of updates. Have you ever run updates and then have your system start acting flaky? I’m sure the issue here though is that you’ve installed a lot of updates and you’re not sure where to start to fix the problem. You could always drop out to a single-user recovery console and check the logs. But if you want to take the Draconian approach and just roll back the updates, there’s a really easy way to do this. YUM stores anything you do with it in a transaction history. These transactions are numbered starting from one and counting forward. To show a list of the twenty most recent transactions, use yum history list as root. From here, you can get some basic information about recent actions taken with YUM. You can view details about specific transactions by using yum history info followed by the number of the transaction you wish to examine. This can help you pinpoint exactly which transaction it was that you ran the updates on. Finally, to roll back to the point before the updates, use yum history undo followed by the transaction number as root. This will undo all of the changes listed in that transaction. Keep in mind that it does this in what’s known as “leaf style” so any packages that were installed as dependencies will also be removed.

The people over at the GNOME project have a pretty interesting mess on their hands (despite them probably not thinking so). Admittedly, I’m a GNOME guy myself (always have been frankly) but even I can admit that things are getting a little out of control with this desktop environment. Don’t get me wrong, I still think it’s the best looking Linux DE available but they’re really stretching the idea “less is more” to a point where it’s going to end up being “less is actually just less”. GNOME 3.6.x takes this to a new extreme with Nautilus, their default file manager. While it’s definitely trimmed down quite a bit to look nicer, astute users will notice that missing from the button lineup is any way to access the preferences for Nautilus itself. Instead, they’ve elected to tuck it away under the application’s global menu located in the top-left of the screen next to the hot corner. So if you were looking for a way to customize Nautilus, or to get your single-click functionality back, this is where it’s been this whole time.

nautilus-preferences-location
The magical location for the Nautilus Preferences

Sure stock GNOME looks nice but it isn’t immediately welcoming to customization. Some things you’ll want to customize for sure. Maybe the clock at the top-center isn’t showing as much information as you’d like. Maybe Cantarell isn’t your favorite font and you want your windows to use Liberation Sans. Maybe the sub-pixel smoothing isn’t high enough or isn’t using the proper smoothing method. I know that everyone wants to change those bloody gaudy-looking default icons right out of the gate (they don’t event go well with Adwaita!). Anyway, the point here is that if you want to make even the most subtle of tweaks to the GNOME experience, you’ll need to get the GNOME Tweak Tool (named, oddly, gnome-tweak-tool in Fedora’s channels). This package is a must-have for making your GNOME truly unique since it permits you to change a number of things. It even integrates with GNOME Shell Extensions so you can skin GNOME Shell as well as GTK. There are some really amazing skins for both of these utilities and they can be found at gnome-look.org.

Screenshot from 2013-02-13 06:57:45
GNOME Tweak Tool

Media playback on Linux is still a touchy subject since many media formats require proprietary software to playback properly (try playing a MP4 file on a fresh install because it’s not happening). Your open formats will typically work without a hitch (OGG, WebM, FLAC) but there’s a pretty good chance that your existing media isn’t encoded in one of these formats. Most software that’s required for this case isn’t located in the default channels that are registered with Fedora. What that means is that you’ll have to find a third-party channel that contains these packages. Thankfully, there’s a really great one from the folks over at RPMFusion.org. Setting up their channel is quite easy since they provide both a graphical way and the command to issue on the terminal to do it. Once added, you’ll want to update the system using yum update to make sure it integrates okay. From that point on, you can search your channels using YUM and it will pull down results from the RPMFusion channels you added. These channels contain additional Gstreamer packages that help for playing back files in formats like MP4 or videos encoded in H.264 as well as the media essentials like ffmpeg, lame, mencoder, transcode, and libavc. Trust me on this one because you’ll start to like Totem a lot more after you’ve done this.