Xfce: Classic panel layout in the style of Gnome 2 or Windows XP

Xfce gives you a million options to configure your panels. Together with Xfce's sometimes arcane configuration UI, this can be a huge time waster and super-annoying if you need to get work done the same day.

This card describes how to setup a classic panel layout as you might be used to from Gnome 2 or Windows (see screenshot below). You can use this to quickly get productive in Xfce, and as a starting point for further customization.

  • [One task bar on the bottom of each monitor](…

Switch from Compiz to Xfce's native window manager

If you tried out Compiz on top of Xfce and found it to be a world of pain like me, you can get to Xfce's native window manager by saying:

xfwm4 --replace

Xfce: Configure multiple monitors

If you don't want to mess around with arcane incantations inside xorg.conf, you can use the graphical arandr tool:

sudo apt-get install arandr

If all your monitors are stacked in the same space, the space is not wide enough and you can't really move them, you need to switch to a proprietary driver. If it works with the open source driver for you, do not bother using another one.

For ATI cards:
  • install fglrx and fglrx-amdcccle
  • reboot
  • run the ATI configuration tool (amdcccle; if the binary is unavail…

How to find out a pixel's transparency with Gimp

If you have a PNG and want to know a pixel's alpha channel value, you can use Gimp:

  • Use the color picker tool
  • Hold the Shift key while clicking the pixel

A window will appear, containing color information, including the alpha channel.

Gimp color information

External content


Freetile is a plugin for jQue­ry that en­ables the or­ganiza­tion of web­page con­tent in an ef­ficient, dynamic and re­spon­sive layout. It can be applied to a con­tain­er ele­ment and it will at­tempt to ar­range it's childr­en in a layout that makes opt­im­al use of scre­en space, by "pack­ing" them in a tight ar­range­ment

Capybara 2.0 has been released

The gem author Jonas Nicklas highlights in a Google Groups post that the release

  • is not backwards compatible to 1.x versions of Capybara
  • does not support Ruby 1.8.x anymore
  • removes confusion with Rails' built in integration tests (you put capybara rspec integration tests into the spec/feature/... folder) and the :type metadata has been changed from :request to :feature
  • throws exceptions when trying to interact with an element whose identifier is…

Xfce: Configure global keyboard shotcuts

Global keyboard shortcuts can be configured in two separate panels in the Xfce Settings manager:

  • Shortcuts related to managing windows (e.g. "Show Desktop" or "Switch to Workspace 2") are unter Window Manager / Keyboard
  • Shortcuts to launch applications (e.g. Meta+T for Terminator) are under Keyboard / Application Shortcuts

Ubuntu: Fix missing sound after a version upgrade

If you can now longer hear or record sounds after upgrading Ubuntu, you probably need to re-tell Ubuntu which devices to use for playback/recording.

Fix sound output

  • Open the PulseAudio Volume Control (pavucontrol). If you don't have that application, install it with sudo apt-get install pavucontrol.
  • Start playback of an MP3 so you can see when changes take effect.
  • Under "Output devices" use the "Mute" buttons to figure our which output device is the correct one. When you found it, also set it as the fallback dev…

Xfce: Take a screenshot with the "Print" key

  • Go to Settings Manager / Keyboard / Application Shortcuts
  • Add a shortcut for the Print key that calls xfce4-screenshooter -f

This may be configured for you by default.

How to change the mouse pointer in Xfce

Unlike in Gnome, there is no graphical tool to set a mouse cursor in Xfce. Run this on a terminal instead:

sudo update-alternatives --config x-cursor-theme

You need to sign out and back in for your changes to have an effect.

Zeus promises to make rails development faster

I am talking about development speed. When your application starts growing and you start adding gems, it starts to take really long to start up, be it the server, console or just running a single spec.

Zeus is smart, you don’t have to put it in your Gemfile or run it with Bundler, all you need to do is create a JSON config file via zeus init and then start the server zeus start.

After that, you’re ready to go, all you need to do is prefix every command with zeus. That means rails server becomes zeus server, `rails console…

Andand and SimpleDelegator

The very useful andand gem does not play very nice with Ruby's SimpleDelegator (or vice versa).

This following will not work:

class MyDecorator < SimpleDelegator
  def foo

The reasons are a bit subtle, basically SimpleDelegator will "force" some methods to be delegated, so the andand method is called on the wrapped object, not the delegator.

You can fix it like this:

class Decorator < SimpleDelegator
  def an...

When Nautilus/Thunar file manager sorts case-sensitively

When your file manager sorts file case-sensitively after a distribution upgrade, you probably need to reconfigure your locale settings as described here.

Xfce: Separate task bars for each monitor

So you have multiple screens under Xfce and want to have one task bar on each screen, only showing applications on that screen. Here you go:

  • Create one panel for each monitor. Panels can be created from the panel preferences of another panel (yeah…).
  • Unlock each panel by going to Right click / Panel / Panel preferences… and uncheck "Lock panel". You now see a grip that you can use to drag one panel to the bottom of each monitor.
  • Again go into the panel preferences, and under Items add a single item "Window buttons". In the ite…

Rails 2: Calling instance_eval on a scope will trigger a database query

In Rails 2, when calling instance_eval or instance_exec on a scope, the scope will fetch its records from the database.

This has been fixed in Rails 3+.

External content

imgAreaSelect - image selection/cropping jQuery plugin

imgAreaSelect is a jQuery plugin for selecting a rectangular area of an image. It allows web developers to easily implement image cropping functionality, as well as other user interface features, such as photo notes (like those on Flickr).

A jQuery plugin for producing bar charts from tables.

As the title says: this jQuery plugin creates bar charts from HTML tables. It comes in some different flavors.

Check the examples page:

External content

Using sets for many-to-many relationships

A technique to vastly reduce the number of join model records that need to be stored in the database.

The technique is only effective when there is a high redundancy in your data, e.g. combinations of the same 20 tags are used to label thousands of books.

The technique is also limited in that your join models cannot have additional logic, such as attributes or callbacks.

Ther has-many-with-set gem is an implementation of this technique.

3267 cards