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.
OpenBox
openbox-3.6_stop_hidden.patch is an OpenBox patch. It implements 'stop_hidden' configuration option for applications.
This option lets user to stop application processes automatically when all the application windows are hidden from the user. A window is considered hidden when it's iconified or shaded or does not belong to the current desktop.
This option in intended for minimization of CPU usage and power consumption. Some modern applications (like Web browsers) tend to consume significant amount of CPU resources even when hidden.
There are three possible values of the option:
no
- do not stop application when it hides (default value)process
- stop just the process the hidden window belongs togroup
- stop whole process group the application belongs to; some complex applications (like web browsers) emerge multiple child processed, so in order to stop such applications it's not enough just to stop one process.
Example:
<application class="Firefox">
<stop_hidden>group</stop_hidden>
</application>
Please note that Firefox does not create a new group for its child
processes. You need to run it via setsid firefox
in order to have a separate
group for all Firefox processes.
Related GitHub pull request: Pull Request #34 · danakj/openbox · GitHub
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 ePDFView enhancement ticket.
- The feature request from the Debian bug tracker.
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.
- bug_532832.patch fixes #532832 - Spelling propositions when multi language support
- bug_550775.patch fixes #550775 - Can't add words to dictionary in empathy
- bug_573283.patch fixes #573283 - Most options should be disabled when right clicking on in a chatroom
- bug_594145.patch fixes #594145 - should enable accounts after import
- bug_609942.patch fixes #609942 - URLs are split at apostrophes
- bug_612205.patch fixes #612205 - Ctrl-C not working in the topic
- bug_614319.patch fixes #614319 - Search bar shouldn't resize the chat window
- bug_616339.patch fixes #616339 - Problem with & symbol from status messages links in tooltips
- bug_619858.patch fixes #619858 - contacts list should autoscroll when drag-n-dropping
- bug_619961.patch fixes #619961 - Drag and drop should work onto a collapsed group
- bug_625745.patch fixes #625745 - Tabs not displayed in chat text in theme
- bug_625780.patch fixes #625780 - Not attaching to minimized window
- bug_629261.patch fixes #629261 - Shouldn't allow jid without domain
- bug_631101.patch fixes #631101 - Enforce a format for birthday
- bug_632024.patch fixes #632024 - Be able to start contact search using menu
- bug_633481.patch fixes #633481 - AccountChooser filters should be asynchronous
- bug_634688.patch fixes #634688 - Search bar is not visible
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
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"
Wallpaper Slideshow
Wallpaper Slideshow is an Android live wallpaper. It cycles through user defined directory of images. android-wallpaper-slideshow-crop.diff does the following:
- It adds a new option to disable cropping: "Crop photos to make them fill whole screen";
- It enables large heap in order to get rid of "out of memory" exceptions on high resolution devices;
- If the image is larger than the screen size, the original Wallpaper Slideshow downscales images to the size smaller or equal to the screen size (in order to minimize memory comsumption) and upscales it afterwards to the actual screen size. This patch makes the live wallpaper application not to downscale images to the size smaller then the screen size. So essentially the patch makes quality of displayed images slightly better.
The patch should be applied to svn@9.
Trebuchet
Trebuchet is the default Android launcher application in CyanogenMod
9+. trebuchet-0.2_allapps_btn_visibility.diff adds a new boolean
option named ui_homescreen_all_apps_button
. The option controls whether to
show the all apps button in the top right corner of the homescreen. If the
option is disabled, user can invoke the all applications screen through long
press on empty space of the homescreen.
The patch should be applied to git@bb74ce8b22f683522aae793ca11bcb957c2872f5.
Android Terminal Emulator
Android Terminal Emulator is one of the most popular terminal emulators for Android. Unfortunatelly, Android 4.3 introduces a serious issue, affecting the terminal running a superuser process: the size of the terminal may become incorrect. The issue itself and the proposed solution is described here. Android-Terminal-Emulator-1.0.63-su-pty.patch is the patch implementing this solution.
The patch sould be applied to version 1.0.63.
Netsurf
netsurf-3.2-segfault.patch fixes a Netsurf segfault. In certain circumstances Netsurf crashes when user closes the preferences window. The problem is described here. Still no reply from the upstream developers.
The patch sould be applied to version 3.2 or 3.3.
VirtualBox
vboxvideo-4.3.38-dpi.patch fixes a bug in the X11 video driver of VirtuaBox. When X11-server is configured to use a custom DPI setting, vboxvideo driver just ignored this value and used hard-coded DPI=96. The bug is reported in the bug tracker: Ticket #15704.
The patch sould be applied to version 4.3.38. The bug is fixed in version 5.1.2.