On 28.05.05, Dag Wieers wrote:
On Tue, 17 May 2005, Joerg Lehmann wrote:
On 13.05.05, Dag Wieers wrote:
Another set of comments:
+ The interface feels a bit sluggish and I think that is because if you 'tab' between the 2 windows there is a visible refresh. I've been looking to get rid of it one way or the other but I struggle with ncurses.
Hmm, logging the calls of the doupdate function of the curses library shows only on call after pressing the TAB key.
After reading some curses documentation, they do explain that it's necessary to make all updates first on the virtual screen before calling doupdate(). But I'm not sure doupdate() is the problem here, is it possible something else is causing this ? Is the virtual terminal playing back operations instead of showing the result ?
It should not. The doupdate() call should just copy the changed lines of the windows from the virtual screen to the actual screen. update_panels() on the other hand updates the said virtual screen for all existing panels. Actually it's a misnomer, since it does what wnoutrefresh() does for single windows, namely just updating the virtual screen. You can also call update_panels() more than once before the doupdate() call, but this should not change the result. Hence, I do not understand what your patch really does...
What I see happening is that when pressing TAB to switch between the filelistwin and the playlistwin, the destination window (the one I'm switching to) is being cleared (the complete area) and redrawn.
The frame of the window is touched when changing the focus (its attributes are changed). So maybe that's the reason, why the whole window is being redrawn. You may want to try changing in the config file the attributes of the activated window to be identical to the ones of the non-activated window.
I tested it with several terminal programs to ensure this was not a xterm problem. Am I the only one seeing this ? Because I think it's very disturbing (it makes pytone feel as slow and sluggish).
Here, I really do not see any sluggishness neither using konsole and xterm (on a four-year old notebook).
After a lot of trial and error I found a solution to the refresh even though I have no clue why this fixes it. I added the small patch to this mail. You may want to verify this and fix the real issue when found :)
As said above, I do not understand why this changes anything. Maybe somebody else has an idea. On the other hand, adding this call also doesn't harm, so...
Furthermore I have also seen cases where the initial screen is corrupted in the center of the screen. (something that is 2 chars high is removing part of the left border of the playlistwin) Pressing tab fixes the problem.
Hmm, does this come from a particular string (album/song title)?
Can we expect a new (temporary) release that fixes these (and previous reported) issues ? Maybe with some contributed plugins inside the pytone tarball (shouldn't be a problem since you have to opt-in on each manually).
Look here: http://www.luga.de/pytone/download/PyTone-2.2.3+.tar.gz Altough currently there is only one plugin (yours :-)). I have another nice plugin lying around on my computer, namely the AudioScrobbler interface posted some time ago by Nicolas Évrard. I did however not include it in the distributin, because I wanted him to specify the license of his code. Unfortunately, his email gateway seems to have some problems, so I did not yet get any answer from him. So Nicolas, if you're listening... Jörg