[Lcdproc] [Patch] Synchronised scrollers

Steve Hill steve@nexusuk.org
Tue Sep 19 19:02:01 2006


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323328-967715572-1158692451=:6629
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


Multiple scrollers on the same screen are not synchronised with eachother 
- some may be scrolling in the opposite direction to others.  I find 
that this makes the display look messy and harder to read.

The attached patch addresses this problem by ensuring the scrollers are 
all going in the same direction.  All scrollers on the screen now wait 
once they reach the end of their travel until the longer scrollers catch 
up.

At the moment this has not been done as an autoconf option - I'm not sure 
what the consensus is on whether this sort of thing should be optional or 
not?

-- 

  - Steve
    xmpp:steve@nexusuk.org   sip:steve@nexusuk.org   http://www.nexusuk.org/

      Servatis a periculum, servatis a maleficum - Whisper, Evanescence

--8323328-967715572-1158692451=:6629
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=lcdproc-syncscrollers.patch
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.64.0609192000510.6629@rivendell.nexusuk.org>
Content-Description: 
Content-Disposition: attachment; filename=lcdproc-syncscrollers.patch

SW5kZXg6IHNlcnZlci9yZW5kZXIuYw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KLS0tIHNlcnZlci9yZW5kZXIuYwkocmV2aXNpb24gNzgpDQorKysgc2Vy
dmVyL3JlbmRlci5jCShyZXZpc2lvbiA3OSkNCkBAIC0xNzYsNiArMTc2LDcg
QEANCiAJaW50IGxlbmd0aCwgc3BlZWQ7DQogCWludCBzdHJfbGVuZ3RoID0g
QlVGU0laRS0xOw0KIAlpbnQgcmVzZXQgPSAxOw0KKwlpbnQgbWF4X3Njcm9s
bGVyX2xlbiA9IDA7DQogDQogCWRlYnVnKCBSUFRfREVCVUcsICIlcyggbGlz
dD0lcCwgZnNjcm9sbD0nJWMnLCBsZWZ0PSVkLCB0b3A9JWQsICINCiAJCQkg
ICJyaWdodD0lZCwgYm90dG9tPSVkLCBmd2lkPSVkLCBmaGd0PSVkLCBmc3Bl
ZWQ9JWQsIHRpbWVyPSVkICkiLA0KQEAgLTIwMiw2ICsyMDMsMjcgQEANCiAJ
CS8qIFRPRE86ICBGcmFtZXMgZG9uJ3Qgc2Nyb2xsIGhvcml6b250YWxseSB5
ZXQhICovDQogCX0NCiANCisJLyogbG9vcCB0aHJvdWdoIHRoZSB3aWRnZXRz
IGJlZm9yZSBzdGFydGluZyB0byByZW5kZXIgdG8gcHVsbCBvdXQgZGF0YSB3
ZSBuZWVkIGJlZm9yZSBzdGFydGluZyAqLw0KKwlMTF9SZXdpbmQgKGxpc3Qp
Ow0KKwlkbyB7DQorCQlXaWRnZXQgKncgPSAoV2lkZ2V0ICopIExMX0dldChs
aXN0KTsNCisJCWlmICghdykNCisJCQlicmVhazsNCisJCQ0KKwkJc3dpdGNo
ICh3LT50eXBlKSB7DQorCQkJY2FzZSBXSURfU0NST0xMRVI6DQorCQkJCS8q
IGxlbmd0aCBpcyByZWFsbHkgZGlyZWN0aW9uKCEpICovDQorCQkJCWlmICh3
LT5sZW5ndGggPT0gJ2gnKSB7DQorCQkJCQlsZW5ndGggPSBzdHJsZW4ody0+
dGV4dCkgKyAxOw0KKwkJCQkJaWYgKG1heF9zY3JvbGxlcl9sZW4gPCBsZW5n
dGgpDQorCQkJCQkJbWF4X3Njcm9sbGVyX2xlbiA9IGxlbmd0aDsNCisJCQkJ
fQ0KKwkJCQlicmVhazsNCisJCQlkZWZhdWx0Og0KKwkJCQlicmVhazsNCisJ
CX0NCisJfSB3aGlsZSAoTExfTmV4dChsaXN0KSA9PSAwKTsNCisJDQogCS8q
IHJlc2V0IHdpZGdldCBsaXN0ICovDQogCUxMX1Jld2luZCAobGlzdCk7DQog
DQpAQCAtMzQzLDEzICszNjUsOSBAQA0KIAkJCQkJCQkvKiBpdCBmaXRzIHdp
dGhpbiB0aGUgYm94LCBqdXN0IHJlbmRlciBpdCAqLw0KIAkJCQkJCQlkcml2
ZXJzX3N0cmluZyAody0+bGVmdCwgdy0+dG9wLCB3LT50ZXh0KTsNCiAJCQkJ
CQl9IGVsc2Ugew0KLQkJCQkJCQlpbnQgbmVjZXNzYXJ5VGltZVVuaXRzID0g
MDsNCi0JCQkJCQkJDQogCQkJCQkJCWlmICh3LT5zcGVlZCA+IDApIHsNCi0J
CQkJCQkJCW5lY2Vzc2FyeVRpbWVVbml0cyA9IGxlbmd0aCAqIHctPnNwZWVk
Ow0KIAkJCQkJCQkJb2Zmc2V0ID0gKHRpbWVyICUgKGxlbmd0aCAqIHctPnNw
ZWVkKSkgLyB3LT5zcGVlZDsNCiAJCQkJCQkJfSBlbHNlIGlmICh3LT5zcGVl
ZCA8IDApIHsNCi0JCQkJCQkJCW5lY2Vzc2FyeVRpbWVVbml0cyA9IGxlbmd0
aCAvICh3LT5zcGVlZCAqIC0xKTsNCiAJCQkJCQkJCW9mZnNldCA9ICh0aW1l
ciAlIChsZW5ndGggLyAody0+c3BlZWQgKiAtMSkpKSAqIHctPnNwZWVkICog
LTE7DQogCQkJCQkJCX0gZWxzZSB7DQogCQkJCQkJCQlvZmZzZXQgPSAwOw0K
QEAgLTM4MCwyOCArMzk4LDM5IEBADQogCQkJCQkJCWRyaXZlcnNfc3RyaW5n
ICh3LT5sZWZ0LCB3LT50b3AsIHctPnRleHQpOw0KIAkJCQkJCX0gZWxzZSB7
DQogCQkJCQkJCWludCBlZmZMZW5ndGggPSBsZW5ndGggLSBzY3JlZW5fd2lk
dGg7DQotCQkJCQkJCWludCBuZWNlc3NhcnlUaW1lVW5pdHMgPSAwOw0KKwkJ
CQkJCQlpbnQgbWF4ZWZmTGVuZ3RoID0gbWF4X3Njcm9sbGVyX2xlbiAtIHNj
cmVlbl93aWR0aDsNCisJCQkJCQkJaW50IHdhaXRsZW4gPSBtYXhlZmZMZW5n
dGggLSBlZmZMZW5ndGg7DQogDQogCQkJCQkJCWlmICh3LT5zcGVlZCA+IDAp
IHsNCi0JCQkJCQkJCW5lY2Vzc2FyeVRpbWVVbml0cyA9IGVmZkxlbmd0aCAq
IHctPnNwZWVkOw0KLQkJCQkJCQkJaWYgKCgodGltZXIgLyAoZWZmTGVuZ3Ro
ICogdy0+c3BlZWQpKSAlIDIpID09IDApIHsNCisJCQkJCQkJCWlmICgoKHRp
bWVyIC8gKG1heGVmZkxlbmd0aCAqIHctPnNwZWVkKSkgJSAyKSA9PSAwKSB7
DQogCQkJCQkJCQkJLyp3aWdnbGUgb25lIHdheSovDQotCQkJCQkJCQkJb2Zm
c2V0ID0gKHRpbWVyICUgKGVmZkxlbmd0aCAqIHctPnNwZWVkKSkNCisJCQkJ
CQkJCQlvZmZzZXQgPSAodGltZXIgJSAobWF4ZWZmTGVuZ3RoICogdy0+c3Bl
ZWQpKQ0KIAkJCQkJCQkJCQkgLyB3LT5zcGVlZDsNCisJCQkJCQkJCQlpZiAo
b2Zmc2V0ID49IGVmZkxlbmd0aCkNCisJCQkJCQkJCQkJb2Zmc2V0ID0gZWZm
TGVuZ3RoIC0gMTsNCiAJCQkJCQkJCX0gZWxzZSB7DQogCQkJCQkJCQkJLyp3
aWdnbGUgdGhlIG90aGVyKi8NCi0JCQkJCQkJCQlvZmZzZXQgPSAoKCh0aW1l
ciAlIChlZmZMZW5ndGggKiB3LT5zcGVlZCkpDQotCQkJCQkJCQkJCQkJICAt
IChlZmZMZW5ndGggKiB3LT5zcGVlZCkgKyAxKQ0KKwkJCQkJCQkJCW9mZnNl
dCA9ICgoKHRpbWVyICUgKG1heGVmZkxlbmd0aCAqIHctPnNwZWVkKSkNCisJ
CQkJCQkJCQkJCQkgIC0gKG1heGVmZkxlbmd0aCAqIHctPnNwZWVkKSArIDEp
DQogCQkJCQkJCQkJCQkJIC8gdy0+c3BlZWQpICogLTE7DQorCQkJCQkJCQkJ
aWYgKG9mZnNldCA8PSB3YWl0bGVuKQ0KKwkJCQkJCQkJCQlvZmZzZXQgPSAw
Ow0KKwkJCQkJCQkJCWVsc2UNCisJCQkJCQkJCQkJb2Zmc2V0IC09IHdhaXRs
ZW47DQogCQkJCQkJCQl9DQogCQkJCQkJCX0gZWxzZSBpZiAody0+c3BlZWQg
PCAwKSB7DQotCQkJCQkJCQluZWNlc3NhcnlUaW1lVW5pdHMgPSBlZmZMZW5n
dGggLyAody0+c3BlZWQgKiAtMSk7DQotCQkJCQkJCQlpZiAoKCh0aW1lciAv
IChlZmZMZW5ndGggLyAody0+c3BlZWQgKiAtMSkpKSAlIDIpID09IDApIHsN
Ci0JCQkJCQkJCQlvZmZzZXQgPSAodGltZXIgJSAoZWZmTGVuZ3RoIC8gKHct
PnNwZWVkICogLTEpKSkNCisJCQkJCQkJCWlmICgoKHRpbWVyIC8gKG1heGVm
Zkxlbmd0aCAvICh3LT5zcGVlZCAqIC0xKSkpICUgMikgPT0gMCkgew0KKwkJ
CQkJCQkJCW9mZnNldCA9ICh0aW1lciAlIChtYXhlZmZMZW5ndGggLyAody0+
c3BlZWQgKiAtMSkpKQ0KIAkJCQkJCQkJCQkgKiB3LT5zcGVlZCAqIC0xOw0K
KwkJCQkJCQkJCWlmIChvZmZzZXQgPj0gZWZmTGVuZ3RoKQ0KKwkJCQkJCQkJ
CQlvZmZzZXQgPSBlZmZMZW5ndGggLSAxOw0KIAkJCQkJCQkJfSBlbHNlIHsN
Ci0JCQkJCQkJCQlvZmZzZXQgPSAoKCh0aW1lciAlIChlZmZMZW5ndGggLyAo
dy0+c3BlZWQgKiAtMSkpKQ0KLQkJCQkJCQkJCQkJCSAgKiB3LT5zcGVlZCAq
IC0xKSAtIGVmZkxlbmd0aCArIDEpICogLTE7DQorCQkJCQkJCQkJb2Zmc2V0
ID0gKCgodGltZXIgJSAobWF4ZWZmTGVuZ3RoIC8gKHctPnNwZWVkICogLTEp
KSkNCisJCQkJCQkJCQkJCQkgICogdy0+c3BlZWQgKiAtMSkgLSBtYXhlZmZM
ZW5ndGggKyAxKSAqIC0xOw0KKwkJCQkJCQkJCWlmIChvZmZzZXQgPD0gd2Fp
dGxlbikNCisJCQkJCQkJCQkJb2Zmc2V0ID0gMDsNCisJCQkJCQkJCQllbHNl
DQorCQkJCQkJCQkJCW9mZnNldCAtPSB3YWl0bGVuOw0KIAkJCQkJCQkJfQ0K
IAkJCQkJCQl9IGVsc2Ugew0KIAkJCQkJCQkJb2Zmc2V0ID0gMDsNCkBAIC00
NDAsMTMgKzQ2OSwxMSBAQA0KIAkJCQkJCQkJCQlkcml2ZXJzX3N0cmluZyAo
dy0+bGVmdCwgdy0+dG9wICsgaSwgc3RyKTsNCiAJCQkJCQkJCQl9DQogCQkJ
CQkJCQl9IGVsc2Ugew0KLQkJCQkJCQkJCWludCBuZWNlc3NhcnlUaW1lVW5p
dHMgPSAwOw0KIAkJCQkJCQkJCWludCBlZmZMaW5lcyA9IGxpbmVzX3JlcXVp
cmVkIC0gYXZhaWxhYmxlX2xpbmVzICsgMTsNCiAJCQkJCQkJCQlpbnQgYmVn
aW4gPSAwOw0KIA0KIAkJCQkJCQkJCS8qZGVidWcoUlBUX0RFQlVHLCAibGVu
Z3RoOiAlZCBzdzogJWQgbGluZXMgcmVxOiAlZCAgYXZhaWwgbGluZXM6ICVk
ICBlZmZMaW5lczogJWQgIixsZW5ndGgsc2NyZWVuX3dpZHRoLGxpbmVzX3Jl
cXVpcmVkLGF2YWlsYWJsZV9saW5lcyxlZmZMaW5lcyk7Ki8NCiAJCQkJCQkJ
CQlpZiAody0+c3BlZWQgPiAwKSB7DQotCQkJCQkJCQkJCW5lY2Vzc2FyeVRp
bWVVbml0cyA9IGVmZkxpbmVzICogdy0+c3BlZWQ7DQogCQkJCQkJCQkJCWlm
ICgoKHRpbWVyIC8gKGVmZkxpbmVzICogdy0+c3BlZWQpKSAlIDIpID09IDAp
IHsNCiAJCQkJCQkJCQkJCS8qZGVidWcoUlBUX0RFQlVHLCAidXAgIik7Ki8N
CiAJCQkJCQkJCQkJCWJlZ2luID0gKHRpbWVyICUgKGVmZkxpbmVzICogdy0+
c3BlZWQpKQ0KQEAgLTQ1OCw3ICs0ODUsNiBAQA0KIAkJCQkJCQkJCQkJCSAq
IC0xOw0KIAkJCQkJCQkJCQl9DQogCQkJCQkJCQkJfSBlbHNlIGlmICh3LT5z
cGVlZCA8IDApIHsNCi0JCQkJCQkJCQkJbmVjZXNzYXJ5VGltZVVuaXRzID0g
ZWZmTGluZXMgLyAody0+c3BlZWQgKiAtMSk7DQogCQkJCQkJCQkJCWlmICgo
KHRpbWVyIC8gKGVmZkxpbmVzIC8gKHctPnNwZWVkICogLTEpKSkgJSAyKSA9
PSAwKSB7DQogCQkJCQkJCQkJCQliZWdpbiA9ICh0aW1lciAlIChlZmZMaW5l
cyAvICh3LT5zcGVlZCAqIC0xKSkpDQogCQkJCQkJCQkJCQkJICogdy0+c3Bl
ZWQgKiAtMTsNCg==

--8323328-967715572-1158692451=:6629--