[Geany-Devel] ANN: Scope

Dimitar Zhekov dimitar.zhekov at gmail.com
Fri Dec 7 18:56:00 UTC 2012


Since the end of the world is coming soon [1], here [2] is a little
something to play with. Note that it currently reads data/scope.glade
on startup (no "make install" yet), so geany must be started from the
directory where you unpacked scope. Please read scope.html, TODO and
notes before asking questions. Of course, there are two questions that
I must answer properly first:

1. Why do we need another gdb front-end?

Don't know about you. I needed something that runs under win~1, has
decent Locale support and the abilities to change values and execute
gdb commands at any time.

2. Is it possible to merge debugger and Scope?

No more that we can merge SciTE and Geany. They are both editors,
based on Scintilla and using gtk+ under *nix, but that's about it.


Now about the plugin symbols etc.

"project-before-save" signal: highly recommended. When a program is
started, Scope marks all source files as read-only (unless they are
already). When saving a Geany session (file list) while a program is
running, Scope temporarily re-marks the source files as read-write,
to avoid them being saved in the session with read-only mark. For
the default session, "save-settings" does the job, but for project
session, an extra signal is required. The signal can also be used for
plugin project preferences which are not part of the project dialog.
Currentry, no such preferences can be created.

ui_setup_open_button_callback() - recommended. Several plugins
define their own version of this, and we had a short discussion in
the ML, which ended with the "conclusion" that the button/entry
must be properly g-objectified, which nobody is willing to do.

[3] - recommended. Without it, the toolbar looks funny.

editor_get_default_selection() - optional. There should be other
plugins defining their own version, but I haven't checked.

utils_str_replace_all() - optional. utils_string_replace_all() and
several utils_str_*() functions are accessible, so why not this one?

ui_add_config_file_menu_item() - maybe unnecessary. Used to add
scope.conf to Tools -> Configuration files. Must be modified to
return the menu item created, so the plugin can remove it on

stash_tree_{setup,display,update}() - maybe unnecessary. Used to
create a stash tree with the global Scope preferences (except for
colors etc.) in Plugin Preferences. Not sufficient, since the color
and alpha definitions are missing, but looks nice. :)

Note that Scope _will_ run on unmodified Geany 1.22 or later.
2012-08-07 or later is recommended due to changes in scintilla.
scope.glade was created with 3.6.7, but mostly edited manually.


[1] http://www.greatdreams.com/end-world.htm



E-gards: Jimmy

More information about the Devel mailing list