Since the license is a huge piece of text expected to possibly scroll
horizontally, and since most themes display the background of text
views in a different color than the default widget background color,
adding a shadow makes the edges more visible and the UI neater.
If the 'default' style isn't set to a named style, then probably the
filetype styles have been overridden with manual colors and may not
work properly with color schemes.
Note: HTML-based filetypes won't show a warning because they don't
have a 'default' style (they use 'html_default' instead).
This is a simple heuristic, but is worth having to avoid some
spurious bug reports when using the color schemes dialog.
Current color scheme was applied upon color scheme selection dialog
display because the GtkTreeView::cursor-changed signal is emitted when
the tree view is initially shown (since it actually gets the focus for
the first time), uselessly re-applying the current color scheme.
This is a performance issue because when many documents are open
updating the color scheme can take a few seconds.
Now we watch for the GtkTreeSelection::changed signal on the tree
view's selection, which is only emitted when the selected item actually
changes. We also connect to that signal after filling the tree so we
don't get notified on the initial selection setup.
Now there is a dialog instead of a menu for selecting the color
schemes, the item under View->Editor can be created with Glade like the
rest of the menu.
This allows the user to define a label to be displayed in the menu in
place of the command to be run. This can be very useful if e.g. a
custom command is too complex to be easily read in the menu, or if two
custom commands are so similar could be confounded.
Split ctags and tagmanager sources, as follows:
tagmanager/ctags: the parsers, more or less upstream CTags;
tagmanager/mio: local MIO library copy;
tagmanager/src: actual tagmanager sources.
On GNU X86-64 systems the predefined macros are required
to choose the correct headers, so tag definition fails with
-undef. Removed it from hardcoded, systems that need it can
add it to CFLAGS.
Don't simply split the the extra options string on spaces to build the
grep argument list but rather split it in a shell-style fashion.
This is probably more intuitive for most users, is more consistent with
e.g. custom commands, and allows for spaces in an option or its
argument.
Closes#3516263.
Rename use of C++ `template` keyword in plugin API function argument
and add `G_BEGIN_DECLS` and `G_END_DECLS` to public header files to
make them easier to include in C++ code. TagManager and Scintilla
headers already have these `extern "C"` blocks so they shouldn't
require any modifications.
The Autotools build system already adds in a `dummy.cxx` to hint
Automake into C++ linking to support Scintilla, which is quite
convenient for dynamically loading of C++ plugins at run-time into
the otherwise C-only program. The other build systems seem to also
use the correct linking.
Write an empty keybindings.conf for new users to prevent the workaround
for old defaults being written.
Also remove generated comment in keybindings.conf, this file doesn't
need an explanation as it is generated by Geany.
This provides a workaround so existing users who upgrade should now
be unaffected.
The default changed for these in commits
82769a046c6394d073cc8a32677d8d4794c12c4c and
9ae71ab6cc3bb8185939e1536ffba41beb896686, but this may be
confusing/annoying for existing users who have not edited any
keybindings.
Those commit messages were wrong about never affecting existing
users. Thanks to Lex for raising this.