On Sun, 5 Jul 2009 17:42:10 +0200 Enrico Tröger enrico.troeger@uvena.de wrote:
The entire Geany app. just frezz for a short while (and consumes a lot of CPU), I assume it is re-render some (editor ?) elements, but I can't see anything, other than CPU usage. The more files I have open, the longer the frezz gets.
No idea, sorry. First, I can't reproduce this assuming we are talking about switching from a workspace A to workspace B where Geany is running on B. And I'm not sure whether this is Geany's fault. At least Geany shouldn't do anything special when it gets the focus. Or maybe, it's related to the delayed colouring. Nick any idea?
The delayed colouring should only colour the document if it is needed, so just switching workspaces should not trigger this - it will trigger some signal handlers but they should be fast in this case.
It's possible there's a bug in determining when a document needs recolouring, but I think switching workspaces won't trigger it.
You can try running Geany in GDB, press Ctrl-C, then: -------------- Program received signal SIGINT, Interrupt. 0x00110402 in __kernel_vsyscall () (gdb) b sci_colourise Breakpoint 2 at 0x80d7612: file sciwrappers.c, line 623. (gdb) command 2 Type commands for when breakpoint 2 is hit, one per line. End with a line saying just "end".
call utils_beep() c end
(gdb) c Continuing.
Breakpoint 2, sci_colourise (sci=0x9be3290, start=0, end=-1) at sciwrappers.c:623 623 SSM( sci, SCI_COLOURISE, start, end); --------------
This beeps every time Geany recolours a document.
Could geany save its states on a more regular basis (only when needed of cause), like on the save-all function, this would eliminate the "need of restart" problem ?
Not sure what you mean here. I don't like something like 'regularly saving the config' as it Pidgin does. This is weird, to me. Why should we save our state on 'save all', this seems totally unrelated.
Yes, and it would be strange when using multiple instances of geany, e.g. 2 instances overwriting the config file with different settings.
Regards, Nick