Archive

Posts Tagged ‘hack’

Pidgin in ThinkPad-ova lučka za osvetlitev tipkovnice

July 21st, 2009 3 comments

Thinkpad laptopi imajo nad displayem vgrajeno lučko za osvetlitev tipkovnice.  Ker je v R seriji oranžne barve, je precej neuporabna (sicer pa, kdo pa še gleda pod prste med tipkanjem?). In potem ma pidgin 'tam doli' v trayu ikonco, ki v neaktivnem stanju kaže status (available, away,...) in ko dobiš novo sporočilo, se le-ta obarva oranžno.  Če gledaš film iz postelje, in če je zvok v filmu glasen (glasno posnet), se pidginovega piskanja sploh ne sliši, ikonica v trayu je pa seveda prekrita s filmom. Tedaj bi si človek zaželel kakega drugega načina notifikacije o neprebranih sporočilih.... in jaz sem se odločil uporabiti prej omenjeno lučko za osvetlitev tipkovnice.

Patch spodaj spada med grde hacke (TM), in za razliko od mojih one-line patchev... je tukaj potrebo dodati kar celi (pazi dvojina!) dve vrstici (pazi dvojina spet)! Seveda zaradi oklepajev in zaklepajev, to število naraste kar na magičlnih 4 vrstic spremebe v kodi :) ) Zakaj pa grd hack? Zaradi system()-a, pa še česa... sj bi se dalo lepše to narest, brez klicev zunanjih programov, a ker sem len... naj gdo drug popravi :) ) Patch je tudi thinkpad-specific, a se ga da enostavno prilagoditi.

Evo patch:

diff -Naur pidgin-2.5.8/pidgin/gtkdocklet-x11.c pidgin-2.5.8-l/pidgin/gtkdocklet-x11.c
--- pidgin-2.5.8/pidgin/gtkdocklet-x11.c	2009-06-28 04:05:26.000000000 +0200
+++ pidgin-2.5.8-l/pidgin/gtkdocklet-x11.c	2009-07-19 17:18:13.000000000 +0200
@@ -115,10 +117,14 @@
 		default:
 			icon_name = PIDGIN_STOCK_TRAY_AVAILABLE;
 			break;
+
 	}
 
-	if (pending)
+	if (!pending) system("echo off > /proc/acpi/ibm/light");
+	if (pending) {
 		icon_name = PIDGIN_STOCK_TRAY_PENDING;
+		system("echo on > /proc/acpi/ibm/light");
+	}
 	if (connecting)
 		icon_name = PIDGIN_STOCK_TRAY_CONNECT;

Seveda je ukaz znotraj system("tole tle mislm") mogoče spremeniti po želji, in lahko z recimo "eject /dev/cdrom" ejecta cdrom ob čakajočem sporočilu, in z "eject -t /dev/cdrom" spet injecta(?) ko ni več čakajočih sporočil.

Patch worksForMe(TM) na pidginu 2.5.8. Seveda če se zaradi patcha vaš računalnik samovžge, eksplodira, ali pa iz njega skočijo škratki ki začnejo štrajkati, nisem jaz nič kriv, in me sploh ni blo zraven.

Have fun!