[Geany-Devel] splitwindow2

Steven Blatnick steve8track at xxxxx
Thu Oct 10 14:05:43 UTC 2013


Out of curiosity, do you plan to be able to split a single document, or 
only two separate ones, or both?  It sounds like this is for showing two 
different documents at once, as loading a single document with two views 
of it would probably have it's own problems associated with it.

On 10/10/2013 04:03 AM, Thomas Martitz wrote:
> Hello,
>
> I just wanted to let you know that I'm working on a new splitwindow 
> implementation and I would like to have early input. But, also as a 
> warning, I'm progressing only slowly because I'm at the final phase of 
> my master thesis which currently needs more attention that Geany hacking.
>
> Anyway, we all know about the limitations of the splitwindow plugin. 
> They include (not a complete list):
> - the other view can only have one document
> - you cannot undo/redo: you need to select the tab in the main 
> notebook to do that
> - state is not saved/restored across Geany restarts
> - it's completely awkward because the other view shows a doc that's 
> also in the main view, editing in the other view will change the main 
> view at the same time.
> - you cannot toggle between the views with a keybinding (e.g. ctrl+tab)
> - weird focus behavior
> - more...
>
> My plan is to reimplement splitwindow using a different approach: by 
> having two real, independemt notebooks, one primary and one seconary.
>
> New docs will be opened in the primary one by default, but can be 
> moved to the secondary one at will. This means that no document can be 
> shown in both at the same time which makes it a loss less awkward. It 
> also lets us lift the other limitations:
> - undo/redo will work
> - state can be saved across restarts (config file format will probably 
> need some changes for this)
> - toggling with keybindings between views can work
> - you can arbitrarily assign docs to views using different methods
>
> The nice things about splitwindow that should be probably be kept:
> - chose between horizontal and vertical split
> - automatic sizing of the views
> - anything else?
>
> Unfortunately Geany's core is pretty hardcoded as to assume one (and 
> only one) notebook for documents. This means that for this various 
> changes to Geany core are necessasry, some of which may be difficult 
> to do without breaking the plugin API/ABI. Some are gonna hate this 
> but I'm not currently planning do this as a plugin because the core 
> needs a lot of changes anyway for breaking the single notebook 
> assumption. But I'm very open for discussion which is why I'm writing 
> this early.
>
> I already have an experimental version up and running that doesn't 
> even require all that much changes[1] and it seems to work nicely. See 
> this[2] screenshot.
>
> So, any opinions?
>
> [1]: https://github.com/kugel-/geany/tree/splitwindow2
> [2]: http://www.alice-dsl.net/simonemartitz/default/splitwindow2.png
>
> Best regards.
> _______________________________________________
> Devel mailing list
> Devel at lists.geany.org
> https://lists.geany.org/cgi-bin/mailman/listinfo/devel



More information about the Devel mailing list