On 10 October 2013 21:03, Thomas Martitz < thomas.mart...@student.htw-berlin.de> 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. > Breaks away from the thesis are good, or so I used to tell myself ;-) > > 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. > Yes please, editing .hpp and .cpp at the same time will be a great step forward. > > 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 > Whilst looking at two places of the same document is also a use-case of split windows, if this restriction allows the initial implementation of a proper split window system more easily then lets start with it. All I would say is try not to make it too hard to expand later. > > The nice things about splitwindow that should be probably be kept: > - chose between horizontal and vertical split > - automatic sizing of the views > So long as manual sizing is still available, fine, Geany is not smart enough to always know what width/height I need. > - 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. > Its gotta happen at some point, so long as the changes are sensible and for a good reason then its ok, but I would probably say that means make the change after the next release, so there is no rush on trying to get a big (well big relative to recent ones) API change tested and into the plugins. > > 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. > Will look at it and try it as soon as I can, but some guy on IRC keeps prompting for feedback :) > > So, any opinions? > For me this is second only to multiple windows as an editing feature that Geany needs, and I expect it is an important step towards multiple windows. Cheers Lex > > [1]: > https://github.com/kugel-/**geany/tree/splitwindow2<https://github.com/kugel-/geany/tree/splitwindow2> > [2]: > http://www.alice-dsl.net/**simonemartitz/default/**splitwindow2.png<http://www.alice-dsl.net/simonemartitz/default/splitwindow2.png> > > Best regards. > ______________________________**_________________ > Devel mailing list > Devel@lists.geany.org > https://lists.geany.org/cgi-**bin/mailman/listinfo/devel<https://lists.geany.org/cgi-bin/mailman/listinfo/devel> >
_______________________________________________ Devel mailing list Devel@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/devel