Introduction

This is a collection of my free software patches. Each patch is accompanied by a short description and related links to external resources, if any.

If you don't know how to apply a patch, please see the wiki manual or the man page.

Vim

debian_fix_466088.patch is a Vim patch. It fixes the following issue:

When using a maximized gvim (GTK2), changing the font size does not cause the window to re-evaluate its size in order to stay maximized.

Related bugs: Ubuntu, Debian.
This patch is already included (svn@1642) in the Vim version 7.2.283 and later.

vim_geom.patch is another Vim patch, which fixes the following issue:

GTK2: when using the -geom argument with an offset from the right edge and the size is smaller than the default, the Vim window is not positioned properly.

This patch is already included (svn@1613) in the Vim version 7.2.263 and later.

vim_unmax.patch is another Vim patch. It fixes the following issue:

GTK2: When the Vim window is maximized setting 'columns' or 'lines' doesn't work.

This patch is already included (svn@1614) in the Vim version 7.2.264 and later.

SDL

sdl-fbcon-rotation.patch is an SDL patch. It adds the SDL_VIDEO_FBCON_ROTATION environment variable to control output orientation on the framebuffer console.

Valid values are:

  • not set - Not rotating, no shadow.
  • NONE - Not rotating, but still using shadow.
  • CW - Rotating screen clockwise.
  • UD - Rotating screen upside down.
  • CCW - Rotating screen counter clockwise.

This patch is already included (svn@4874) in the SDL version 1.2.14 and later.

fbpanel

tclock_font.patch is an fbpanel patch. It allows user to select font for tclock plugin:

Plugin {
    type = tclock
    config {
        ClockFmt = %R
        TooltipFmt = %A %x
        Font = Liberation Sans 16
    }
}

The alternative way is to set a font style in gtkrc, for example:

style "fbpanel-tclock"
{
       font_name="Desired Font"
}
widget "*.tclock.*" style "fbpanel-tclock" 

REminiscence

reminiscence-0.1.9-64bit-fix.patch is a REminiscence patch. It fixes the version 0.1.9, which fails to unpack CT data on 64-bit systems with the following message:

ERROR: Bad CRC for collision data!

ePDFView

epdfview-svn-345_dual-pages.patch is an ePDFView patch. It implements a dual page mode.

Related bugs:

The patch should be applied to svn@345.

Text::MultiMarkdown

MultiMarkdown-1.000033-crossrefs.patch is a patch for the Text::MultiMarkdown perl module. It fixes support of the cross-references supplied by a optional label. Here is an example:

Header One [h1]
===============

[Reference to the header one][h1]

Related CPAN bug #60067.
The patch should be applied to the version 1.000033.

Linux

shoulderized-fn-layout.patch is a Linux patch, which changes layout of the Pandora keyboard. It maps Fn to the right shoulder button and does few additional swappings. See this sheet for details.

This patch won't be merger to the Pandora Kernel Repository since it contradicts the official keymap.
Should be applied to the version 2.6.27.

xf86-video-omapfb

pandora_backlight_dim_v2.patch is another Pandora-related patch. It implements Pandora-specific screen blanking in the xf86-video-omapfb driver. The functionality is similar to the pandora_backlight_dim.patch, but is not dependent on user environment and works faster since it does not run shell script.

The related OpenPandora bug report.
The patch should be applied to the version 0.1.1.

Empathy

Here is a list of various Empathy bug fixes. All of them are already available in the version 3.1.1 and later.

Telepathy

Here is a couple of Telepathy bug fixes.

  • bug_30298.patch fixes #30298 - shows wrong date for some messages. Not yet included in the master branch.
  • bug_30414.patch fixes #30414 - Unable to search terms with special characters in logs. Already committed.

GNUnet

gnunet-0.9.0pre1_expand-hostlistfile.patch is a GNUnet patch. It makes the HOSTLISTFILE configuration parameter $-expand. Included in GNUnet 0.9.0pre2 and later.

Related bug #1607.

The following patches implement a simple chat application, which is a port of the 0.8 version plus P2P layer: gnunet-svn@14186-chat.patch, gnunet-svn@14325-chat-update.patch, gnunet-svn@14557-chat-update.patch and gnunet-svn@14325-chat-indentation-fix.patch. All the patches are included in the SVN repository.

Related bugs #1644, #1657, #1665.

xrick

xrick-021212-exit.patch is an xrick patch. It fixes incorrect fullscreen mode when the display aspect ratio is higher than 320/200 = 1.6. For example, it makes xrick choose 640x400 instead of 320x200 when the screen resolution is 840x480. It's probably related to "[bug?] not sure fullscreen runs ok on laptops" in the Bugs'n Things to Do list.

xrick-021212-fullscreen.patch fixes freezing on exit when joystick is enabled. Probably related to "[bug?] does xrick segfaults on exit? I can't reproduce this" the Bugs'n Things to Do list.

Related bug #351672 in the Gentoo bug tracker.

fancontrol

In certain circumstances it's useful to configure fancontrol to obtain temperature of a sensor from output of a command rather than from a /sys-file. In particular, it is useful for NVIDIA video chips, which shows their temperature via nvidia-settings with ease, but it's not a big change to make lm_sensors read the sensors. [fancontrol-cmds.patch][patch] implements the feature. It sould be applied to the version 0.70.

Here is an example of the configuration format:

01 INTERVAL=10
02 DEVPATH=hwmon0=devices/platform/it87.656 hwmon1=devices/platform/coretemp.0
03 DEVNAME=hwmon0=it8718 hwmon1=coretemp
04 FCTEMPS=hwmon0/device/pwm1=hwmon1/device/temp1_input hwmon0/device/pwm2=CMD0
05 FCFANS=hwmon0/device/pwm1=hwmon0/device/fan1_input hwmon0/device/pwm2=hwmon0/device/fan2_input
06 MINTEMP=hwmon0/device/pwm1=60 hwmon0/device/pwm2=55
07 MAXTEMP=hwmon0/device/pwm1=70 hwmon0/device/pwm2=80
08 MINSTART=hwmon0/device/pwm1=170 hwmon0/device/pwm2=150
09 MINSTOP=hwmon0/device/pwm1=55 hwmon0/device/pwm2=75
10 CMDS=/usr/local/bin/gpu-temp.sh

At the line 4 of the config file, CMD0 is specified as the source of temperature. CMD0 is the first command in the list of commands. The full list is defined in the variable CMDS (at the line 10). Each command should print temperature of the sensor in Celsius.

The executable file /usr/local/bin/gpu-temp.sh may look like this:

#!/bin/sh
# Shows temperature of NVIDIA chips in Celsius
# Shows always 100 if X-server is not running
if [[ -z `pgrep xinit` ]]
then
    echo 100
    exit
fi
DISPLAY=":0.0" /usr/bin/nvidia-settings -q [gpu:0]/GPUCoreTemp\
| grep "Attribute" | sed -e "s/.*: //g" -e "s/\.//g"