Archive for the ‘General’ Category

GNOME 3

Thursday, April 7th, 2011

I am GNOMEGNOME 3 has been released! Congratulations to everyone involved in making this happen!

I’ve been using the prerelease versions and have found a few tips that are worth mentioning.

Learn shell: There are a lot of quick tips and shortcuts that make using shell even nicer. It’s worth taking a couple minutes to peruse the shell cheat sheet. It’s worth knowing that alt-tab works as expected (even across workspaces) and alt-` (or whatever the key is on your keyboard above tab) will cycle through windows of the current app. There are many other useful tidbits on the cheet sheet page.

Remap keys: In the control center, choose regions and language, select the layouts tab, and then click the options… button. A dialog will pop up. On my ThinkPad, the meta key (the one with a little Windows logo on it) is a bit small, so I remapped capslock to an “additional super” (which makes it switch into gnome-shell’s overview mode). Be sure to also set a compose key here (such as your right alt, for instance) too, for compose key goodness.

(Update: Remapping keys has since been moved to System SettingsRegion and LanguageLayoutsOptions…Compose key position → [select the key(s) you want for compose key])

(Update 2: Remapping keys in GNOME 3.6+ has since been moved to System SettingsKeyboardShortcutsTypingCompose key → [click and hold, and select the key you want for compose key from the dropdown])

Customize keyboard shortcuts: From the control center’s main view, select keyboard and then switch to the shortcuts tab. Here, you will find many actions that are available for mapping to your heart’s content. For instance, I map launching a terminal to F1 (because I’m a computer geek, and Trae McCombs got me hooked on that key shortcut years ago). I also remapped the shell action key plus a few keys for various window and desktop commands. You can do this too, as the shell overview mode only activates when you let go of the key, so if you do press the window key and some other key(s), then that keyboard shortcut will take precidence. For instance, I have it set so that the Windows/capslock (see above for key remapping) key on my laptop plus an arrow will switch the workspaces. (Normally, this is control+alt+up and control+alt+down. On my laptop, I can hit capslock+up and capslock+down. It’s a little easier to hit, given my keyboard.) I also have the same keyboard shortcut with the addition of shift for moving windows across workspaces. In addition, my computer is configured to do other window management with the super key (the win/capslock key) plus others. Super+m is maximize, super+v is maximize vertically, super+h is maximize horizontally, super+w is close window, super+f is fullscreen (which is great for Firefox, if you want it fullscreen with the tabs visible, versus its built-in fullscreen which is fullscreen for the content), etc.

Simply type & search: Once you’re in overview mode, you can immediately start typing and search will match apps. You can also hit down to cycle through matches and hit enter for the selected match. (Hitting enter will launch the top-left app match by default.) It’s also worth noting that there are buttons to perform Wikipedia and Google searches (on the web) at the bottom of every search.

Alt-F2 “run” dialog: If you’d like to quickly run a program and know the name you’d type in a terminal, hit alt-F2 and type. While the dialog looks very simple, it actually supports tab completion. The cheat sheet (mentioned above) lists a few additional hidden commands, such as “r”, which restarts gnome-shell.

Immediate app-to-workspace: If you middle-click (scroll wheel button) an app on the dash (the dock thing on the left), the application will open in its very own (new) workspace. This also works for apps in the application view and in search.

Switch to app across workspaces: When you switch apps via alt-tab or by clicking an icon of a running application in the dash, if the application resides on another workspace, you will be whisked to where the app resides.

Alt-tab with the mouse: While holding alt-tab (or hitting alt-tab and holding down alt after letting go of tab), you can select applications with your mouse. Of course, you could keep pressing tab while holding down alt to cycle through applications and windows.

Drag to the side or top: If you drag a window to the side of the screen, it will snap to fill half the screen. This is useful if you want to work on two things at once (such as referencing one document and typing in another window). If you drag to the top of the screen, it will maximize the window. If you drag away (after the window has been maximized), it will restore its previous size.

Anyway, these have been things I have found to be useful while using GNOME 3. You can download a live image for a CD or USB stick and try it even without installing. (You can also install; I know that the openSUSE version has a live installer — it’s how I installed GNOME 3 on my laptop. Just search for “live” in the overview mode and you should see it.)

Enjoy GNOME 3, and many congratulations to everyone involved!

Happy New Year, everyone!

Monday, January 3rd, 2011

…I’m gonna party like it’s 2011. (Because it is.)

One-click, part 2

Monday, June 21st, 2010

You may remember when I originally redesigned the one-click installer for hackweek in 2008. Well, for this recent Novell/SUSE hackweek, I spent some time to slightly redesign  and expanded on how the one-click installer should work. Will Stephenson also started working on an implementation, too.

Here’s my new one-click mockup (click on the picture to view at full size):

The text on the page should be pretty self-explanatory. Ideally, this would be implemented in a simple graphical client using PackageKit (and PolicyKit).

I believe the openSUSE Build Service (think of it as the “Open Build Service”, since it can produce packages for all the popular distros) even supports multiple repositories in one YMP (but I may be mistaken here), so using it with the OBS would be a fantastic way to easily build your software for multiple distributions (which you can do right now) and make it a snap click for everyone to install your software. Something like this could turn the entire web into an “app store” for Linux, and software could be easier to install than on any other platform, if implemented correctly.

Thoughts? Comments?

Oh, and you can also download the SVG source (to be edited in Inkscape). It uses the Droid Sans font — be sure to have it installed.

Jakub’s last day

Friday, June 4th, 2010

Today is Jakub’s last day at Novell / SUSE. It’s been great working with him at the same company on so many awesome projects (many of which he mentioned on his blog post) over the past six years.

He’s done amazing work during this time, and I look forward to whatever he does next too.

Some thoughts on “open source design”

Thursday, March 25th, 2010

On Facebook, Máirín Duffy, a fellow designer in the community, posted a link to “Can truly great design be done the open source way?” I commented with a string of thoughts on the topic. I’m posting my response here for a wider audience.

Pandas Forever: a photo I snapped in London's Design Museum

The following is (a slightly edited form of) what I quickly wrote:

First, two points in direct response to the link:

  1. Apple’s design isn’t fully consistent, if one looks close. It is consistently high quality, however.
  2. Rhetorical question: What is “the open source way”?

There are many ways open source software is made, and some of it isn’t necessarily out in the open.

It is always assumed in this sorts of discussions that people code and software is churned out… But really, there are talented people with a vision controlling what goes into a codebase in many successful projects. (Linus and the Linux kernel, for example.)

A comparison is usually made between an entire project and a single design. That’s always ridiculous, and this is one of the reasons why these discussions are not so useful.

I’ve never seen “community coding” done by contests and voting for individual source files. Imagine if programmers were treated like that. How many would stick around?

The phrase “design by committee” is always brought up in these sorts of discussions, but nobody ever stops to think about “programming by committee” (and, obviously, that doesn’t happen in the open source world). Often there are too many opinionated, amateurish cooks in the design kitchen, spoiling the broth.

The Tango project and its offshoots, such as the Tango-styled Gnome icon theme, are examples of where open source (visual, in this case) design works well. There’s a standard, shared vision and a handful of talented designers work toward that goal.

Essentially, for programmers and for designers, there are some talented people doing stuff and later releasing it. The difference is that everyone has an opinion on UI and visual design, even if they are no good at it themselves. Not everyone using software is so opinionated about its source code. (People do not refuse to use resulting software because of indentation (tabs vs # of spaces) and coding style in the source code, for example.)

Christkindlesmarkt photos

Thursday, December 24th, 2009

To celebrate this holiday season, here are a few photos I recently took of the Christmas Market (Christkindlesmarkt) in Nürnberg.

Nürnberg after the snow

Christmas market from above

minimalistic tree

horse touch

hot chestnuts

You can see the above in higher res on my Flickr stream (as well as all sorts of other photos), or see lots more Christmas Market pictures on my public Facebook gallery.

Have a Merry Christmas, and a happy New Years, Hanukkah, etc.!

git sucks‽

Saturday, February 21st, 2009

A few people on Planet GNOME are complaining about git, so I figured I should also post an example about git’s shortcomings when passing unexpected command line arguments.

$ git make me a sandwich
git: 'make' is not a git-command. See 'git --help'.

As a counter-point, let’s see how well bzr handles this…

$ bzr make me a sandwich
-bash: bzr: command not found

At this point it seems fairly obvious that version control systems (even distributed ones) are not good chefs — after all, that’s what sudo is for.