xpra icon
Bug tracker and wiki

Opened 4 years ago

Last modified 16 months ago

#1429 assigned enhancement

partial line scrolling

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: major Milestone: future
Component: encodings Version: trunk
Keywords: scroll Cc:


Split from #1426.

We can hash lines into chunks so that we can detect scrolling even when the edges of the area don't scroll (ie: where the scrollbar would normally be).
Each line could be split as: first ~32 pixels, middle bit, last 32 pixels.
We can either continue to also calculate the hash for the whole line, or just always use the middle bit for calculating the scroll distances.

When sending scroll data, we use the distance values and try to add the edges to it (comparing their own hashes against the scroll distance specified is fast).
Hashes that don't match will get sent as non-scroll areas.

Change History (5)

comment:1 Changed 3 years ago by Antoine Martin

Milestone: 2.13.1
Status: newassigned

comment:2 Changed 22 months ago by Antoine Martin

Milestone: 3.14.0

Milestone renamed

comment:3 Changed 21 months ago by Antoine Martin

This would help with #2248.

comment:4 Changed 21 months ago by Antoine Martin

This is HARD.
Not having to split lines allows us to take shortcuts and ensures we always get rectangles - which is important for splitting the window into regions.
Splitting the line into 3 hashes doesn't just use 3 times more memory, it also complicates the code dramatically.

comment:5 Changed 16 months ago by Antoine Martin

Milestone: 4.0future
Note: See TracTickets for help on using tickets.