[PATCH] Add a function to put the current line at the top of the screen

Fabienne Ducroquet <[email protected]> Tue, 17 Dec 2013 20:58:47 +0100
Newsgroups gmane.comp.web.elinks.user
Message-ID <20131217195847.GA7181@localhost>
U2lnbmVkLW9mZi1ieTogRmFiaWVubmUgRHVjcm9xdWV0IDxmYWJpZHVjQGdtYWlsLmNvbT4KLS0t
CgpMZSBtYXJkaSAxNyBkw6ljZW1icmUgMjAxMywgRmFiaWVubmUgRHVjcm9xdWV0IGEgw6ljcml0
wqA6Cj4gTGUgZGltYW5jaGUgMTUgZMOpY2VtYnJlIDIwMTMsIE1heXVyZXNoIGEgw6ljcml0wqA6
Cj4gCj4gPiBXb3VsZCBpdCBiZSBwb3NzaWJsZSB0byBtYWtlIGEgbW91c2UgZ2VzdHVyZSBzdWNo
IGFzIGNsaWNrIG9yIGRvdWJsZSBjbGljawo+ID4gb24gYSBsaW5lIHRvIG1ha2UgaXQgYmVjb21l
IHRoZSB0b3AgbGluZSBvZiB0aGUgdmlldz8KPiAKPiBJdCB3b3VsZCBub3QgYmUgZGlmZmljdWx0
IHRvIGRlZmluZSBhIGZ1bmN0aW9uIHRvIHB1dCBhIGdpdmVuIGxpbmUgYXQgCj4gdGhlIHRvcCwg
d2UganVzdCBuZWVkIHRoZSBsaW5l4oCZcyB5LXBvc2l0aW9uLiBIYXZlIGEgbG9vayBhdCAKPiBz
cmMvdmlld2VyL3RleHQvdmlldy5jLCBvciBqdXN0IGF0IGNvbW1pdCAKPiA2MjExYjhlNzI1Zjk1
YzNjMDg1MWUxM2E5M2RlYzRhZmRiNmMxZDRlIHdoZXJlIEkgYWRkZWQgdGhlIAo+IG1vdmUtaGFs
Zi1wYWdlLWRvd24vdXAgY29tbWFuZHMuCj4gCj4gVGhlcmUgYXJlIGFscmVhZHkgZnVuY3Rpb25z
IHRvIG1vdmUgdGhlIGN1cnNvciB1cCBhbmQgZG93biBldmVuIGlmIHRoZXJlIAo+IGlzIG5vIGxp
bmsgc28gdGhleSBjb3VsZCBiZSB1c2VkIHRvIHNlbGVjdCBhIGxpbmUgd2l0aCB0aGUgY3Vyc29y
IGFuZCAKPiBwdXQgaXQgYXQgdGhlIHRvcC4KPiAKPiBUaGVyZSBhcmUgZnVuY3Rpb25zIHRoYXQg
Z2l2ZSB0aGUgbW91c2UgcG9zaXRpb24gc28gSSBndWVzcyBpdCB3b3VsZCAKPiBiZSBwb3NzaWJs
ZSB3aXRoIHRoZSBtb3VzZSB0b28uCgpIZXJlIGlzIGEgcGF0Y2ggZGVmaW5pbmcgYSBmdW5jdGlv
biB0aGF0IHB1dHMgdGhlIGN1cnJlbnQgbGluZSAodGhlIGxpbmUgCndoZXJlIHRoZSBjdXJyZW50
bHkgc2VsZWN0ZWQgbGluayBpcyBvciB3aGVyZSB0aGUgY3Vyc29yIGlzKSBhdCB0aGUgdG9wIG9m
IAp0aGUgc2NyZWVuLiBJdCBjYW4gYmUgdXNlZCBvbmx5IHdpdGggYSBrZXlib2FyZCBzaG9ydGN1
dCAodW5kZWZpbmVkIGJ5IApkZWZhdWx0KS4KCkkgdHJpZWQgdG8gbWFrZSBpdCB3b3JrIHdpdGgg
dGhlIG1vdXNlIHRvbywgYnV0IHRoZSBwcm9ibGVtIGlzIHRoYXQgRUxpbmtzIApzZWVtcyB0byBz
dXBwb3J0IG9ubHkgc2luZ2xlIGNsaWNrcyB3aXRoIDUgYnV0dG9ucywgYWxsIHRoZSBtb3VzZSBl
dmVudHMgCmFyZSBhbHJlYWR5IGFzc29jaWF0ZWQgdG8gZnVuY3Rpb25zIGFuZCBpdOKAmXMgaGFy
ZGNvZGVkLiBJdCBtYXkgYmUgcG9zc2libGUgCnRvIGFzc29jaWF0ZSB0aGF0IGZ1bmN0aW9uIHRv
IG9uZSBjbGljayBpbiBhIHdheSB0aGF0IGRvZXNu4oCZdCBpbnRlcmZlcmUgCndpdGggdGhlIGFs
cmVhZHkgZGVmaW5lZCBtYXBwaW5ncywgYnV0IGl04oCZcyBub3QgcmVhbGx5IGludHVpdGl2ZSB0
byBoYXZlIAphIGxpbmUgbW92ZSB0byB0aGUgdG9wIHdoZW4geW91IGNsaWNrIG9uIGl0IHNvIEkg
ZG9u4oCZdCB0aGluayB0aGlzIHNob3VsZCAKYmUgaGFyZGNvZGVkLiBUaGlzIG1lYW5zIHRoYXQg
dG8gYWxsb3cgdGhlIGRlZmluaXRpb24gb2YgYSBtb3VzZSBnZXN0dXJlIAptYWtpbmcgYSBsaW5l
IHRoZSB0b3AgbGluZSwgaXQgd291bGQgYmUgbmVjZXNzYXJ5IHRvIG1ha2UgdGhlIG1hcHBpbmcg
b2YgCm1vdXNlIGV2ZW50cyBjb25maWd1cmFibGUgc28gdGhhdOKAmXMgbW9yZSB3b3JrIHRoYW4g
d2hhdCBJIGRpZC4KCiBzcmMvY29uZmlnL2FjdGlvbnMtbWFpbi5pbmMgfCAxICsKIHNyYy92aWV3
ZXIvYWN0aW9uLmMgICAgICAgICB8IDQgKysrKwogc3JjL3ZpZXdlci90ZXh0L3ZpZXcuYyAgICAg
IHwgNiArKysrKysKIHNyYy92aWV3ZXIvdGV4dC92aWV3LmggICAgICB8IDEgKwogNCBmaWxlcyBj
aGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvc3JjL2NvbmZpZy9hY3Rpb25z
LW1haW4uaW5jIGIvc3JjL2NvbmZpZy9hY3Rpb25zLW1haW4uaW5jCmluZGV4IGNiNmM2YmIuLjJl
OTBkZGMgMTAwNjQ0Ci0tLSBhL3NyYy9jb25maWcvYWN0aW9ucy1tYWluLmluYworKysgYi9zcmMv
Y29uZmlnL2FjdGlvbnMtbWFpbi5pbmMKQEAgLTUzLDYgKzUzLDcgQEAgQUNUSU9OXyhNQUlOLCAi
bHVhLWNvbnNvbGUiLCBMVUFfQ09OU09MRSwgTl9fKCJPcGVuIGEgTHVhIGNvbnNvbGUiKSwgQUNU
SU9OX1JFU1QKIEFDVElPTl8oTUFJTiwgIm1hcmstZ290byIsIE1BUktfR09UTywgTl9fKCJHbyBh
dCBhIHNwZWNpZmllZCBtYXJrIiksIEFDVElPTl9SRVFVSVJFX1ZJRVdfU1RBVEUpLAogQUNUSU9O
XyhNQUlOLCAibWFyay1zZXQiLCBNQVJLX1NFVCwgTl9fKCJTZXQgYSBtYXJrIiksIEFDVElPTl9S
RVFVSVJFX1ZJRVdfU1RBVEUpLAogQUNUSU9OXyhNQUlOLCAibWVudSIsIE1FTlUsIE5fXygiQWN0
aXZhdGUgdGhlIG1lbnUiKSwgMCksCitBQ1RJT05fKE1BSU4sICJtb3ZlLWN1cnJlbnQtdG9wIiwg
TU9WRV9DVVJSRU5UX1RPUCwgTl9fKCJNb3ZlIGRvd253YXJkcyB0byBwdXQgdGhlIGN1cnJlbnQg
bGluZSBhdCB0aGUgdG9wIiksIEFDVElPTl9SRVFVSVJFX1ZJRVdfU1RBVEUpLAogQUNUSU9OXyhN
QUlOLCAibW92ZS1jdXJzb3ItZG93biIsIE1PVkVfQ1VSU09SX0RPV04sIE5fXygiTW92ZSBjdXJz
b3IgZG93biIpLCBBQ1RJT05fUkVRVUlSRV9WSUVXX1NUQVRFKSwKIEFDVElPTl8oTUFJTiwgIm1v
dmUtY3Vyc29yLWxlZnQiLCBNT1ZFX0NVUlNPUl9MRUZULCBOX18oIk1vdmUgY3Vyc29yIGxlZnQi
KSwgQUNUSU9OX1JFUVVJUkVfVklFV19TVEFURSksCiBBQ1RJT05fKE1BSU4sICJtb3ZlLWN1cnNv
ci1saW5lLXN0YXJ0IiwgTU9WRV9DVVJTT1JfTElORV9TVEFSVCwgTl9fKCJNb3ZlIGN1cnNvciB0
byB0aGUgc3RhcnQgb2YgdGhlIGxpbmUiKSwgQUNUSU9OX1JFUVVJUkVfVklFV19TVEFURSksCmRp
ZmYgLS1naXQgYS9zcmMvdmlld2VyL2FjdGlvbi5jIGIvc3JjL3ZpZXdlci9hY3Rpb24uYwppbmRl
eCA0MDJjNGUxLi5kMzNhNGM4IDEwMDY0NAotLS0gYS9zcmMvdmlld2VyL2FjdGlvbi5jCisrKyBi
L3NyYy92aWV3ZXIvYWN0aW9uLmMKQEAgLTMzNSw2ICszMzUsMTAgQEAgZG9fYWN0aW9uKHN0cnVj
dCBzZXNzaW9uICpzZXMsIGVudW0gbWFpbl9hY3Rpb24gYWN0aW9uX2lkLCBpbnQgdmVyYm9zZSkK
IAkJCWFjdGl2YXRlX2JmdV90ZWNobm9sb2d5KHNlcywgLTEpOwogCQkJYnJlYWs7CiAKKwkJY2Fz
ZSBBQ1RfTUFJTl9NT1ZFX0NVUlJFTlRfVE9QOgorCQkJc3RhdHVzID0gbW92ZV9jdXJyZW50X3Rv
cChzZXMsIGRvY192aWV3KTsKKwkJCWJyZWFrOworCiAJCWNhc2UgQUNUX01BSU5fTU9WRV9DVVJT
T1JfVVA6CiAJCQlzdGF0dXMgPSBtb3ZlX2N1cnNvcl91cChzZXMsIGRvY192aWV3KTsKIAkJCWJy
ZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL3ZpZXdlci90ZXh0L3ZpZXcuYyBiL3NyYy92aWV3ZXIvdGV4
dC92aWV3LmMKaW5kZXggOGViNDIyZC4uOTQzYmQzMyAxMDA2NDQKLS0tIGEvc3JjL3ZpZXdlci90
ZXh0L3ZpZXcuYworKysgYi9zcmMvdmlld2VyL3RleHQvdmlldy5jCkBAIC0xMzgsNiArMTM4LDEy
IEBAIG1vdmVfaGFsZl9wYWdlX2Rvd24oc3RydWN0IHNlc3Npb24gKnNlcywgc3RydWN0IGRvY3Vt
ZW50X3ZpZXcgKmRvY192aWV3KQogCXJldHVybiBtb3ZlX3BhcnRfcGFnZV9kb3duKHNlcywgZG9j
X3ZpZXcsIGRvY192aWV3LT5ib3guaGVpZ2h0IC8gMik7CiB9CiAKK2VudW0gZnJhbWVfZXZlbnRf
c3RhdHVzCittb3ZlX2N1cnJlbnRfdG9wKHN0cnVjdCBzZXNzaW9uICpzZXMsIHN0cnVjdCBkb2N1
bWVudF92aWV3ICpkb2NfdmlldykKK3sKKwlyZXR1cm4gbW92ZV9wYXJ0X3BhZ2VfZG93bihzZXMs
IGRvY192aWV3LCBkb2Nfdmlldy0+Ym94LmhlaWdodCAtIHNlcy0+dGFiLT55ICsgMSk7Cit9CisK
IC8qISBAYSB0eXBlID09IDAgLT4gUEFHRV9VUDsKICAqIEBhIHR5cGUgPT0gMSAtPiBVUCAqLwog
c3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL3NyYy92aWV3ZXIvdGV4dC92aWV3LmggYi9zcmMvdmll
d2VyL3RleHQvdmlldy5oCmluZGV4IGY3MDMyZjIuLmQ1NjBiYjUgMTAwNjQ0Ci0tLSBhL3NyYy92
aWV3ZXIvdGV4dC92aWV3LmgKKysrIGIvc3JjL3ZpZXdlci90ZXh0L3ZpZXcuaApAQCAtMTQsNiAr
MTQsNyBAQCBzdHJ1Y3QgdGVybWluYWw7CiAgKiBCdXQgZG9lc24ndCBmcmVlKCkgdGhlIEBhIGRv
Y192aWV3LiAqLwogdm9pZCBkZXRhY2hfZm9ybWF0dGVkKHN0cnVjdCBkb2N1bWVudF92aWV3ICpk
b2Nfdmlldyk7CiAKK2VudW0gZnJhbWVfZXZlbnRfc3RhdHVzIG1vdmVfY3VycmVudF90b3Aoc3Ry
dWN0IHNlc3Npb24gKnNlcywgc3RydWN0IGRvY3VtZW50X3ZpZXcgKmRvY192aWV3KTsKIGVudW0g
ZnJhbWVfZXZlbnRfc3RhdHVzIG1vdmVfcGFnZV9kb3duKHN0cnVjdCBzZXNzaW9uICpzZXMsIHN0
cnVjdCBkb2N1bWVudF92aWV3ICpkb2Nfdmlldyk7CiBlbnVtIGZyYW1lX2V2ZW50X3N0YXR1cyBt
b3ZlX2hhbGZfcGFnZV9kb3duKHN0cnVjdCBzZXNzaW9uICpzZXMsIHN0cnVjdCBkb2N1bWVudF92
aWV3ICpkb2Nfdmlldyk7CiBlbnVtIGZyYW1lX2V2ZW50X3N0YXR1cyBtb3ZlX3BhZ2VfdXAoc3Ry
dWN0IHNlc3Npb24gKnNlcywgc3RydWN0IGRvY3VtZW50X3ZpZXcgKmRvY192aWV3KTsKLS0gCjEu
OC41LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmVs
aW5rcy11c2VycyBtYWlsaW5nIGxpc3QKZWxpbmtzLXVzZXJzQGxpbnV4ZnJvbXNjcmF0Y2gub3Jn
Cmh0dHA6Ly9saW51eGZyb21zY3JhdGNoLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VsaW5rcy11c2Vy
cwo=