Image of XSLT 2.0 and XPath 2.0 Programmer's Reference (Programmer to Programmer)
Image of Operating System Concepts
Image of Linux Kernel Development (3rd Edition)
Image of Modern Operating Systems (3rd Edition)

Install Cinnamon on Fedora 17

This post assumes that you have already installed Fedora 17 and that all software packages are current, i.e. yum update has been run. As root, create a new text file called fedora-cinnamon in the /etc/yum.repos.d subdirectory containing the following lines: [fedora-cinnamon] name=Cinnamon user interface baseurl=$releasever/$basearch/ enabled=1 skip_if_unavailable=1 gpgcheck=0 [fedora-cinnamon-source] name=Cinnamon user interface – Source baseurl=$releasever/SRPMS enabled=0 skip_if_unavailable=1 gpgcheck=0 You can check that the fedora-cinnamon repo is available to yum as follows: # yum repolist Loaded plugins: langpacks, presto, refresh-packagekit repo id repo name status fedora Fedora 17 – x86_64 26,893 fedora-cinnamon Cinnamon provides core user interface functions for the 1

How to Install Cinnamon Themes

This post assumes that you already have the Cinnamon shell installed on your computer and you want to install new Cinnomon themes for your personnal use rather than for global use. If you do not already have a ~/.themes subdirectory, you need to create it. The default permissions are fine. You can either use the Cinnamon Settings tool (Menu->Preferences->Cinnamon Settings) to preview, select and download a new theme, or you can download a theme directly from here. Themes files are compressed and packaged as a single zip file. Move the downloaded zipped theme file to ~/.themes and unzip it. A

Controlling a GNOME Shell or Cinnamon Extension using D-Bus

In my last post, I discussed how you could use D-Bus object introspection to enumerate the methods, signals and properties of the GNOME or Cinnamon Shell, and showed how you could enable, disable or list extensions using a command line utility that used D-Bus to talk to the Shell. In this post, I demonstrate how you can add D-Bus support to a Shell extension and allow a command line utility to control the operating characteristics of the extension via a command line utility. The Shell extension I shall use for demonstration purposes is a simple Cinnamon extension that adds a

D-Bus, Cinnamon and the GNOME Shell

Many people are unaware of the fact that both the GNOME Shell and Cinnamon provide a D-Bus ((Desktop Bus) interface. D-Bus is a form of inter-process communications (IPC) which provides a mechanism for applications running on a single platform to “talk” to each other. In this post, I will show you how to enumerate the available methods and properties and how to enable and disable extensions via the session D-Bus using a command line tool. D-Bus is a system for low-latency, low-overhead IPC using messages rather than byte streams. The core protocol is a 2-way, asynchronous, binary protocol. A message

Retrieving a Property using Python and GDbus

The documentation on retrieving or setting an D-Bus object’s properties using Python is pityful and mostly inaccurate. Recently GDBus has replaced dbus-glib as the preferred way to interface with D-Bus on GNOME platforms. The central concepts of D-Bus are modelled in a very similar way in dbus-glib and GDBus. Both have objects representing connections, proxies and method invocations. However there are some important differences: dbus-glib uses the D-Bus libdbus reference implementation, GDBus does not. Instead, it relies on GIO streams as transport layer, and has its own implementation for the the D-Bus connection setup and authentication. dbus-glib uses the GObject