January 2, 2010

Start conky only after the root window loads

Every time I logged in, conky would start up before nautilus loaded the desktop. This caused conky to load as a floating window that stayed on top of all other windows. I have finally gotten around to fixing this problem.
Here is a simple python script that waits for nautilus to load the desktop before starting conky.
This script is probably very inefficient but it gets the job done.

November 15, 2009

Humanity Icon for Caffeine

For those who don't know, Caffeine is a small program for Linux that lets a user prevent his or her computer from entering a power save state. If a user wishes, he or she can even configure caffeine to automatically inhibit power-saving when watching a flash movie, or running VLC, Totem etc. For more information, visit its website here.

As a user of both Caffeine and the new Humanity icon theme (the default icon theme in karmic), I made a very basic gray-scale version of the Caffeine icon. You can download it here.

November 1, 2009

Service Manager for Karmic

Annoyingly, as karmic has mostly switched to Upstart, it does not include a service manager. While I hope that the gnome service-manager will be updated to include support for upstart soon I have, for the interim, written a very simple service manager.

Be warned: When I say "very simple" I mean "very simple, noob unfriendly, and potentially dangerous". While it should not harm your computer, I make no guarantees because it is my first PyGTK program and was written in my spare time over a couple of days.  A word of warning, the code is very messy and inefficient (understatement).

Link

September 24, 2009

New Desktop Theme

Just in case anyone is interested, here is my new desktop layout.
Image Hosted by ImageShack.us

This theme works with 1280x800 screens. (If you have a different size screen, you will have to modify it)
Download: theme-092409.tar.gz

Font: Droid Sans

Panel: tint2

  • Install from this PPA
  • the tint2rc file (from my theme package) to "~/.config/tint2/"
Background: custom (includes panel and conky backgrounds)
  • Either use my background (background.png) or replace the background layer in background.xcf with your own image and save it as a png.

Conky:
  • System Information and Calendar.
  • You can find them in the theme package.
  • To install:
    • Create a new folder "~/.conky/"
    • Copy "cal.conkyrc", "cal.py" and "system.conkyrc" to "~/.conky/"
    • Add a new startup item sh -c "conky -d -c ~/.conky/system.conkyrc; conky -d -c ~/.conky/cal.conkyrc"
Theme:

    August 14, 2009

    Write a file as root from a non-root vim.

    Problem:

    I often edit config files in vim, try to save them, and then realize that I ran vim as a normal user and the config file is in /etc.  In the past I would close vim and redo all of my changes as root (using sudo). This is a real pain especially if I had made a lot of changes.

    Solution:

    Add the following to your ~/.vimrc:
    cmap w!! w !sudo tee % >/dev/null<CR>:e!<CR><CR>

    A while ago I came across this post that describes how to save a file as root from a non-root vim by adding cmap w!! w !sudo tee % > /dev/null to my .vimrc.

    The problem is that, after running this command, vim will notice that the file has changed on disk and ask the user if he or she wants to reload it.  After a while this got annoying, therefore the multiple CRs (enters) and the :e! (reloads the file).

    August 6, 2009

    Apt Repository Permissions

    I just posted a solution to this idea but thought that I should share it here.
    Here is the problem: In order to get the latest features on Ubuntu, people are adding a lot of PPAs. For now there hasn't, as far as I know, been a case in which a PPA owner has uploaded a malicious package but this is a possibility. Uploading an end user application, such as shutter, with malicious code would be problematic but not devastating.  On the other hand, uploading a malicious sudo package would be devastating.  Here is my solution.

    Different repositories would "own" packages:
    1. Ownership would be set in a file such as /etc/apt/ownership/.list
    2. A special system packages file would be created that would designate system packages (sudo, pam etc...).

    Apt repositories would have permissions:
    0. Ultimate Trust: Update and Install packages from this repository regardless of ownership including system packages
    1. All: Update and Install new packages from this repository regardless of ownership (except system owned packages).
    2. Owned only: Update and install only owned packages.
    3. No Updates: Install owned packages from this repository but do not download updates from it.

    Flags:
    1. Warning: There would be a warning flag that a user could set on a repository that would warn when packages are updated or installed from that repository.
    2. System: There would be a system flag that could be set on security related packages (sudo, bash etc...) that would prevent all but "Ultimate Trust" repositories from installing/updating them.

    July 27, 2009

    Dark-Minimal Lock Dialog

    I finally uploaded my first contribution to gnome-look.org: Dark-Minimal Lock Dialog.

    Screenshot:

    Screenshot

    Download:

    Gnome-Look.org