Messages in this thread Patch in this message |  | | Date | Sat, 26 Oct 1996 14:08:05 +1000 | Subject | Re: noblink | From | Tony Nugent <> |
| |
Vincenzo Capuano <vcapuano@esoc.esa.de> wrote in linux-kernel:
[Cc'ed to the linux-console and linux-ggi lists.]
> With the introduction of the new kernels 2.1.x the noblink patch > doesn't work anymore.
Really? This is a VERY interesting comment!
> Does anybody have new patches against 2.1.x ?
Yes, I do. (Attached below).
I *REALLY* like noblink, and would be keen to see it become part of the mainstream kernel. But it's not nearly mature enough yet for that to happen.
[For those that have never tried it, it turns the cursor into a coloured block - which is *SO* much more pleasant to work with - a case of love at first sight! :-) It can also be easily switched on and off by sending vt-like codes to the console. It also works in an xterm.]
The current noblink package can be found on sunsite:
ftp://sunsite.unc.edu/pub/Linux/kernel/patches/console/noblink-1.7.tar.gz
But this version is getting aged and needs updating (see below).
There's a long story about this patch - it's actually two patches in one.
The first patch is to switch between 8 background colours with blinking, or 16 background colors without blinking.
The second patch is the noblink (software cursor) patch itself (which uses the extended background colour patch for its own purposes).
Sander van Malssen <svm@kozmix.ow.nl> has been the "official" maintainer for noblink for quite a while, but he's now handed it over to me to look after.
I've been retaking the patch for the various 2.0.x kernels, and have a working one for 2.0.23 that I want to tidy up and put onto sunsite and tsx-11 sometime soon once I have some time to do it. (I've also rewritten the `cursor' program that comes with it that is used to easily change the cursor colour/blinking etc).
Note that there's a very minor but annoying bug in the noblink patch as it currently is for 2.0.x. Try doing this (as root) with noblink enabled:
% t=`tty|cut -dy -f2` ; cat /dev/vcsa$t >/dev/vcsa$t
You'll see the bug immediately. Do the same thing to make things right again. I also see this happen with midnight commander (which uses its own mcslang term library to produce a similar effect). I have some ideas on what the problem might be (that is, if it isn't fixed already...)
Sander has only very recently emailed me his noblink patch for 2.1.5, but this time he's made two patches, dividing it up into the two functions described above. (I've got no idea if this bug still persists in these patches, and I would appreciate any feedback on this. From what Sander has said to me, it just might be).
What I want to do at this point is work on the 2.0.23 patch and divide it in the same way Sander has, then clean it all up. I've not yet gone to the 2.1.x kernels, but once I'm happy with what I've done for 2.0.x (with noblink-2.0.tar.gz sitting on sunsite) I'll make the switch to 2.1.x and keep up maintenance of the patch up to date. (Besides, I should have a system upgrade by then, which will make development work a lot less tiresome than working on a 386 - where a full kernel build can take just over 3 hours :)
Ok, enough of my waffle :) Below here are the patches for 2.1.5. Be warned - there are are THREE of them - two uuencoded, and the last one is a late change to fix a little bug that Sander found soon after he made the two diffs.
FIRST apply ext-bg-colour.diff THEN apply noblink-2.1.5.diff THEN apply the last little patch
I've NOT tried these patches. (Nor have I even had time to look at them!). But I do welcome any feedback (to T.Nugent@sct.gu.edu.au).
Meanwhile, noblink isn't dead - it's alive and active, and will be coming to a kernel near you real soon! :-)
However, what may complicate things considerably in the very near future is that Manish Vachharajani <mvachhar@hardees.rutgers.edu> is working on an almost complete rewrite of the console code "to allow for better integration of different console devices", so I'll need to keep in touch with that. And there's also the GGI (general graphics interface) group (http://synergy.caltech.edu/~ggi/) who are working on things in this area as well...
Cheers Tony
========8<-----------cut-here------------>8====================
begin 644 ext-bg-colour.diff.gz M'XL(".8F;S("`V5X="UB9RUC;VQO=7(N9&EF9@"E56EOXS80_2S]BBD6*&S+ MM@['1QRX39`$NT&/7;1!@*(H!!V43%@F#9+R)NAF?WN'E&S)B9T670.R),Z\ MX>.;0X/!``K*RD<W%71+A'23923<A#/)"S),AE_]K];]LH2/B8+@#+Q@/O+G MO@?^^?G$=ASG3?1+Y'@^]BODY24,_/&H/P%'WZ9P>6D#>51$,"B9I#DC*12< MY8#!0O6T(2%E5'4.;'UME`KTIM#K=2_V(2A3((D*<[R2=;1I<)5O7WN<\,\X M4T?]=R"G!FTY30T*W\,X#Q-><-'1H9)2"$U-[V"#VX,;(A-!-XIR!CP#M22` M<=//D2`@J2HC8^FY-AQL;&UI2K@Y_H5E89Q[?-(!4BHW1?0$,:$H42E):B'8 MB.I[GE'5]_P^YDGK:N$O)4FRA@6@FCS++JI%31ZY2J3=IJQ-L2#1"L^*CTDD M"6#6+4,!><)B`?X$8IT</++4Q+6CU1:BV<N@LDRC9N!`C!6STK1WJ%<2MK@X M+2ZPXX)'].8534$V7*APS5&#_8[P(P0P!^_P*%J=()B<:W6"8'I6%YW9'K.S M)NM.IAF8VNV#9Y301BYH3EG+N+?4VAU8G-?G.8(L2"H[YBWAZTVI2"B7-%-2 M18I4ZP5/5G@B/,3@>(]N\^A_]J=!OD"=S>:C\Z8WQ[-I?P2.O@7C2B=!5(E5 M/[B]^_7AZF>D^(ZPE&8V/-N.[;@]VP$L4)[G!69HXLZJXH`U3XDNFN]U#0RU M$Z;=M([MO-T\MO,WJDDSV!<$?+>`1DSX\@7JQS`N(K;"KL&E;6*VQ&K[Z29\ M_]O5IP]WU[]W=255)[C0=$W8IKNT]\/=S>W'\/Z/3[?AP_NKZR[HW8U?FV*] M;%$6AYN.]SA*H[I,>:GJ):\/D5*"XBL6YW\R/P,IL(*_.?;L6&S\P^OY5"'M M-)1*E(D:+K]EYN^#O`PPG9]-F_(:3747XG_=@P=CW=HFH1E7UAQ\,SVN39_! M`Y4TQKSK.7D40AO('9-$*/A%E\))?\QH@YAYKC\*X)H7Y9KM@<YK8+L<&K2K M)V*4K'+!2Y:V)B-H<Y44['/(BBB7)RAA^1-<4T\8-C!AO<4R*K)!C"-HB1\@ M?\&X6$=%'X)%S(OT1!PD0`0FB1AZ]7?!KSX+0:WYNY1DZ`&5TE8'83J'?^YZ M[:]A.OAAEXGN@3_]%W_ZPM_(_.8&Z(`=NH,<"'P2=]"5S7Z,D#3\+*+-:>3> DI05;1E)_!7B!D_DTLNW5`J\P)3BOWT+N7;KV/XROED5T"0`` ` end
begin 644 noblink-2.1.5.diff.gz M'XL(".A";S("`VYO8FQI;FLM,BXQ+C4N9&EF9@#%&FMSVT;NL_PKD-Y<*D4/ MDY0LZU$[<1SG<4WBC./VVFDS'(I<2:PI4B4IRVJ3_O8#L,NG*-E]S)PFL2@N M%HO%&]AMM]O@N?[J[M`)W5L11H?VW`H/[<"/`D^841RN[+@S[_RA_U&[GJ_@ MTH[!Z(%FC+K'H]XQZ,-A_Z#9;#X$21Z!KH^.!J.COD3P[!FT#:/5AR;^'<*S M9P=06_F1._.%`U[@SVJWMAD'RQ9^38(X#A;C*H@HMF)1.>(OK9`FX]=/[S^< M77T:'S0S***6H.Q5&"5(=@W;@1>$E<.!YT@0*X[#2BIN74<$YD(L:)$P'M<. MG\!'>H)@"CP(5V?O:K4GA_MG"]_AN1>^4Y@)]2A@9(T=*"+K5CCFW9@9/C@F MA@\UQ?!_.6+J^@+N:K4Z;1:%]Q-N)Z2'3QVG?8HO[QH9W&8/W"8'E\AE-S0/ M-PZ:R8Q,#+OG9##EB2R@>R8R3&YB072[YQ;`<ELD[=K##1K.0>\'+L+^NA+1 M'F`:;ARTJVWX=F9U[`K#[0U&W>%>P^69!6LU1MIPU.UFUJIK_=8`FO2E]UA_ MX`E\6,40SZ4<@A!^644Q3,0F0#6EUT*J*STZ;K3TK`U8CK6,$12U.@@W'<*" MBGL;N,Y!>XYJ;4I4=7J#\LJ_<OT8$GX@QWY'DW2G4,\4`QZ#=F=H#1[BL?)@ M#P<?/]Z:,]`::E(MLD-S';JQF-0+PF]!O6#_\*117P914V\TQCPQA_($ZG]L MK_"YO&KWI9SZ!?]\`>%%`FD``+3SZ[D;`?WSQ73JVJ[PXQ:LD<_!RG,DFY=% MUELQ8ISBIT4H\#/!\:4(Y]8RD@(0R/X(G)6`..`W&7(;Y1(*6$5BNO)@&H0* M1Q0L!.!FG34.=SH=DA7K@G[4,M"5Z(:.RJ!)]QVLXHFYK!,5C^OUS'?%(ERT MLY\3*Q*-T]-AHR7=F+E$#V;>6EYCG"%!_/G14,SRHP]<0J]:`EE]`/A/Z1Q$ M(MZI7R5_"E//FD5;D0#F(J3P<=!DP:42L0.'61KEW!M8B`E%::%AY-ZBI!V7 M2'5@M42YQ,%!$]F_=(4MH@Z\Q@6^CF`]MZ3()VZ,$X(1`SUW8SB&-EAV[`8^ MTPB`_D%#-71":ZW(:8&.+U9^[A74_6""SN`&%DAJ(\761VQ>8-^X:LN$#??A MD-[<"+&$O%$V(++0;>%G![8CQ$9O%&4I;8E:%>B+@FF<>YDBZ2$2<1>C/R&F MDR]/T`SDSTC.U_OJ9SJS"S^GSP;`SRQA-*?R^H#J@::AL"*MT9SV/R%&0(I! M1^MD$4CH*1E>!HS<%:''(=`*712\(Y9(,@T%?HI#0Q2,(\8=02@P8UJQZ(A+ M'?@N6EF>MV';6Y-JH4.-UT+X*!=2&[W;.6B2ST3U5.Z/-18>(=DS4Z5@\/DS M)-G8Q+/\&^0;OKJU610G)_#M"_/5U=F'UV_./S82;_FHPI<VV!^]"/ROT;-; MK@=H@[SODJC8-T"M%HIX%?IC19R)IFMY9A"Z,]<G"DWUW"!8TR3KDR^*H&BH M[1KE+B;;7)W_-L9@>VZ]D2!WA&TO<LY^5R#@0?35^)-R*-17-]Z@Z0J4+!)- M$%7ST673UO]+`D#N*U'@UL73=!KA^U%$(_;&$PL18M``BA<N^E_120%!?7:& M%X6/`.\)-#45*5("W@<C(%X5UVXQ3<AU7ZRK*"HY,812Z&N\TQ,F%47B3.KW M$50K;(5L6WI$'E-?'(T9,_'V)?(6E3"7FJ4;*D%J+QFRKB*JM/W34^@UDN%& M,K%&.TUCKX1,%ON<`M544E`<9XP)R<SA,E:BJ)90]!ER^"K62S"E87W_WAZ\ MM?MV]L=?WAI4;FW/SM1W3J$1V[U94C*/ZB"!A<LJS,*E'X>!)X-LJJ7%K*HJ MK4K(E?;U><N,CY&-^)IR/TD"4U`0S#Y'DV8DO<J,I)22X%X?G.K<D^L\!'-E MAM-6F\.'6B%2$U8,-YA]EW:[E80V]_&D642;9DP\L@L_HO\B4R2,@T_@S/,H MG74"Z58Q_\%(P$$Q22(X6\"$XS<1!E`/IM,&1S\%QDC*$7PNW-D\IDES>A-O ME@+J,H#C:!J<&SRY_=SU/'I"1:-,$-6(%ZY.!IN_<_C&3T$A2ZKVXN4X`4MD MJ[6V1%N$**LKFF!K.VG-\X[LILRE`'..>N"C.BR"6['%&60?VBE&,49`?`R% ML[*1\9A(9FPC7G=V<4<M^5?Y\YDC\A9_JJRJ"/)WZHG28D?_U&+Z`Q:[5_)( MSGY!7P>S&69R>O]0);DRC\9,\3%)M%.4#R:3TE,71-.B:@*GF&1!+":.0>J% MRIU\N?6N8TDC3IG1U5I4I]K:_O=Y,9_@@,Z>-N]-_L(2@UU+/*8E+EYFKU5\ M.F%G+[$4\I'\2,D/S42A$(C86LAQ*-ZFP0RY>-!$:'.^5A9@$EC2IJ!-*M*' M%7)763'4)1]*8F>[US'TML$8J^*T4'CNZO>H!+^RY],]&AWI#VG6;O5]]/ZH M:V1]G[Y&34/\JVM)U^>[2(1MV:]R,"5&7QX%Z%Y;G&JBAR:C2>-Y)'Y="1_K M6/8[RQ`Y><-8T`6YH9!5ZV0#[ZPPQFP5OQ#TF\4OSVZZ7:,S%9[3L6]7<<?^ M[12):K\/;MO#(T(@G6&Q"B$+B0@;^2_X8*T\@.ZAH1T.>PS^S6P>.,^<<&-; M4<?V5I..;7?LQ:J#[O"4(<Y5>;BPD%#\+\(1?+0H=F!11^1Y4835P#?1[>+9 M3?#;PKWK!.N.[_%LU<W*NGG/WYZ]_Y:\NF9HLG-B](F=.JJ](?F92CJ:4ROW M";5'[7"RFO[T[NP'\_V5>7[Y_N/EVXN/GU`W9&,=RSA0#4*H@LI"Q?EW5Q_/ M+]]>7B7B2'I!4V1-7*[AI)?I`,]]*V:6)^O<B+I#(]X@C6`%2Q^LM9&Y!CWV M!OBGWP,8R"$8]B6(;L@96()B%)Y0S3RC.`3V!IF)&H!\GB&[+=B@&@5K6,\Q ME4Q7NL[1ZD9R<#M`95W=W'YY:7(8K@UY*\YR`VK9@()@'XHLHH(T<G\3]6+C M)PS6Z$F+[Y!7E-H4,*!07"PNZX4%E9V5YS-.RO.(4=NHI>-V`M/VA!4V9`-? M[PY;QZ@]1\?X1<J37WP6Q,'=IL+[HU6:=]GCIDPUIWHXI1C3$8@Z+NBU)-". M/AGFFWFPK1;NF"-3Y7AYN3Q-Z`1P07(DKF]Y%9O*<:9`IYQX:Q=E0/M6<BA/ MN(VES!2US.:C(S;2XVY+UYG/:@*A(O04"*9H4.5BATGC/U7LHP@]F54$Z0;; M;!Y\=ZI5XN>^K*P$^H`$(9M1X-ZNN,<61-TA@1[+7;(G5^W^-*A&;KRR>(0\ M8^D(C>,@VR)7A->4L2."Y*Q@(KBK%@FG5I@L#[<*29E$\!R?LO,Q><3`AVLD MU9XQ)'$V>T=&2^_*GC4WROEX$;-5B=%?+4PJ$Z*Q&E=VE3$,;8EMB$=3XRG4 M0:5,F+.B<VU,S%H'X4V$PK#%$AVY&[D33["/D`TTCOXU4A?D*>Z@GO7T,"'B M97--LVQ0=LPR(RV,4-)7AT?IJ5(VN'VZEO;.N/FP`R-MI%QD^$)@[`T%5JIN M*G`N.3GWT3BU(4$,]2&?0_9Z+5VZ,2KT272]X8A_U&1*=T(]OFFN_S"E?@=U M'\4LI(QC+*$GH;!NU"D,H=$U;03R"9,9]=0UDJ?>8)2#[?>2]X-TUC"996`^ ME#8L4&?]63%6%OL4"=5TYNQ^PG0."5%MCS*)AC%(EN@E!!C]A`#CN)\CT1@F MI'>U9%;72&9U>UI&8M8CSQ$9[>MRZEK29'K@%HCC*B8K87%[5<*?GB"-=,*F M?G^#OX\;$BP5*G^;L86*_Y.$:W>U3^J0<8A&:J#OU;M'K>1DJ;BXY,G1B#=\ MK@I<_Q#]EVI!$WVV318MW=HXVWQEAUO.R6EZWB]7+=[51Y+=J.34P,-,:#++ M\9HGY;U]1@K/0DI/Z.2B*?T\.;EDUE:<V$%+JARDUKE/QA)N?!QF1Q)Y'4CK MP=IVCZW$H*SEE^L<WC<C[2!^+J1;.1641Q8GA2,+5)M'I3,+.0<'U,'%H\+! M!<^HE*A<OQ`:BWVJ"D9V"QK%<P^3/DL%\]*F[OY#F(05%8<QR=#N0YDM7E<U MG+;:NGNW7>I(_Y^(3[M!6\27$IHM\K=\4>+Q->6-*`!A8;T(,&]([0Z>@@$C MCD&YZ3*E[G&!J_>T7LN0%QMJ54%=G3DE::<*_W;DFO_)<@.#<Z)F+6M`GE1E M3[R;W*67DUS'<KN#W=4R>'G7Y217Z=`05D!(G)X<""4E4^X\5=9)#Y#'G[-/ MV&6:K`%[9(D4D]2W*4ZSBGLH+O5;`?Y)PO>2[3ON5'5IL,R6.G0\X+JLU]=4 M859+*O5878;#PIZV5]]^WXCC3?M4MF9,QXJM,:=-V5X06-XJ6BTHR:.-[B1] MY^!N7PD[8]^7&E+"&^QI76DD@Z/DMEZ9WY'P3'5S`HV2;`2+:4_V=^JRPMEQ M2EO*,PO\AAH6`Y0IF)-Y7?4XS.>OV1[7<Q>%6W_$_(OB8+EDN:*W6F$!QO<W M:L*OG,R;&O1TWM30Z"=2H_2;_^^8U]R9)J@LUU<-/%Y@J$G7,AST\UR[640S M,^E^245DSIF6AS$;&>.40#`+DW+*Z<06Q%_G,"=&VS2D4(J5:*;N`I-[6;'( MA$6V\^I?)=;%OT>`$H%_4W$:0XH/GC[]V?^JE1:>33V1P_"8[R4:6C^5P]SR MIC)SDA^JG[3!6"8XLU!LY/JW<>F67/MT:46Q,->62]:FJ2.O?"LAJ^-R+82= M<F4S_YM-(GG95>NR,F!%D;92:UQZ8R5GWB&QEU=O7ID_C/.O-\GK'UFZZ.31 M40)JY$M\]_'BZLW96_/B_/4ETQ^ZEF<*>Q[(?D9NV/QP>75-NY3.BY/$+1S2 MX4(-:T[<7_UQ(E+IF+#V;`%M.I@F+@R%K`8;;`'%"9V%-4.>G<#U]8_FBZLW MWU]<F>_.7KTYKP#UK05Y]Z\0XU=2)PS,_^7E8"UI=5&XM0#)GPINT%+_)2DQ M6>W(8.D*4*;4D#48R$-]_^;%Q:5Y_>.'"_/[5V?G?!]F%\`%`J@0?P_8N[T` MU[00V>[O:E]2^K@QG7I,TNDD%_X6W/.`:#4)EK&[L#R^Q(<#%D36E"\"H:7/ M`EB[\1S<6!FA7#RR+5\V+M)6!K'(5,=[3RK:&P?MW1K5KCU(I=KWJ50[[R;. MI=Q'\&_/@67@*C&V^#=M("(7D31%\;.UC^3<+=LMZ]X7Q=V!3G'8,(Z-UB"Y M5,X1/[F"=`+R89QJ^KK.S2R,PWG`EFS=,RW&DQ+K<K_1P%<+V08M'[8W5<7Y M9YHNC?+I>J&-`UN)>"'-:<H@`$6AGGUXIV[;&T?,G*Y^3"4V<V<;GS;>W7ZB M8V01[^U!)1G(P[=<D2B6,&8%RVXHV-/[^J+<`0>"()QMWSV3DL_NGH'BV'&7 MKCP;W6,M[1CR31-J!N$"?+(5>YM67@IK.GFRO#5=MD5CSN(?&^L_W-B#[8;! M'G'DNN!_2A[%[OE.@93!\E27Q[XHTCWA1'6EVHOE"D-W-'>G,5,DW_/]#=;+ *_P'A)MP;NC(``/E. ` end
--- linux/drivers/char/console.c.~1~ Thu Oct 24 12:16:32 1996 +++ linux/drivers/char/console.c Thu Oct 24 16:44:37 1996 @@ -952,7 +952,7 @@ case 228: case 244: case 260: case 276: case 292: case 308: case 324: case 340: /* extended cursor colors */ - if (curs_state & 0x10) + if (ext_bg_color) curs_color = par[i] - 100; break; default:
|  |