Hi all,
I just made a test build of Geany Plugins 1.22 for Windows.
A little surprisingly for me, it all worked fine on the first attempt :).
I only had problems loading the Geany-Lua plugin with some strange error
message which I didn't investigate yet:
http://pastebin.geany.org/EUmwJ/
The error message occurs on plugin loading. I'm not sure whether it is
caused by my system or something else.
If anyone wants to test it, any feedback is appreciated.
The installer...
http://www.uvena.de/tmp/geany-plugins-1.22_setup_testbuild.exe
... requires an existing Geany 1.22 installation.
Regards,
Enrico
--
Get my GPG key from http://www.uvena.de/pub.asc
Hi All,
Its about that time of year when we have our annual discussion on
separating session data from config/project data :)
By session data I mean the list of currently open files and MRU list.
The advantages (that I can see):
1. Save config/project as its changed and not rushed at quit time (and
the quit save doesn't happen in the absence of a working, portable,
session management capability)
2. Save session data periodically, or as it changes, or whenever,
without touching the config/project files. So the config isn't at
risk if the session save goes wrong.
The only disadvantage for user config (that I can see) is that it adds
one file, say geany.session.conf alongside geany.conf
For project sessions just using another file in the same place as the
project file is more of a problem since project files can be in the
project tree and some people like to save them in VCS. So users would
have to make sure that their git.ignore (or whatever the other VCSes
use) is edited each time so that the session file isn't saved in the
VCS.
A better option, especially since sessions are inherently user
related, is to store them in the user config location (or subdirectory
thereof). But how to link these files to the project files?
The proposal is that each project gets a UUID generated when it is
created (or when its opened without one) which is saved in the project
file. This uuid is the name of the session file in the
${GEANY_CONFIG}/sessions directory. That way, when a project is
opened, it is easy to uniquely find the session file if it exists.
Using things like filenames, project names etc will always have
clashes. Libuuid is used by GTK so it will always be available on all
platforms we use and so making the UUID is one call. (Pity GTK doesn't
expose it though)
The number of session files can be left to grow like weeds, or can be
trimmed to a (configurable) maximum number deleting the oldest when
needed.
This proposal isn't about a proper session management capability,
there isn't one that works on enough platforms to be worth including.
Any thoughts welcome.
Cheers
Lex
Hi!
I saw this code in src/symbols.c at line 1917:
while (sci_get_style_at(sci, start) != fn_style
&& start < max_pos) start++;
If start >= max_pos then sci_get_style_at will be called (with out of
bounds value?) and then the loop will bail out.
I suggest that the condition is reordered as:
while (start < max_pos
&& sci_get_style_at(sci, start) != fn_style)
start++;
Then sci_get_style_at will only be called if start is less than max_pos.
It is just my humble suggestion.
Best regards,
Daniel
Hey all,
this topic has been brought up already a couple of times, for example on
[1].
What do you think about dropping Waf support in Geany and in the
Geany-Plugins project?
While I was defending Waf in Geany, I somewhat changed my mind. Not
because I don't like it anymore, but I increasingly see the efforts in
maintaining two (to be exactly three for Geany) build systems is too
much. Since the make/MSYS build system support seems to get better and
better due to Nick's and Dimitar's work on it, I thought about dropping
the Waf support. It seems nobody knows it well enough and probably
except for a few users nobody is using it.
(And obviously I don't do so much anymore and also lost a bit interest
in maintaining forever.)
The other thing is that Waf causes often problems for distro packages,
especially for the Debian folks [2].
So, I'd go the easy way in this case and just remove Waf. Then we only
need to maintain the autotools based build system for non-Windows
systems and the make based for Windows.
For Geany-Plugins, we would need to get something working on Windows but
maybe we could re-use Geany's make based system for Windows here.
What do you guys think?
[1]
http://sourceforge.net/tracker/index.php?func=detail&aid=3460449&group_id=1…
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=645190
Regards,
Enrico
--
Get my GPG key from http://www.uvena.de/pub.asc
I was trying to make a plugin that allows you to make SPOJ submissions
form within the geany IDE with the help of a python script . The coding
work is done .But the problem is that ive made changes to the core code
directly inorder to make my feature a part of Geany IDE. I was pondering
upon the idea that can I make a bash script which changes those files
pertaining to the plugin, which simply copies the files(original) into some
other location and copies the modified files in place of it, and another
uninstall bash script which does the reverse, thus completing my plugin??
Will this be acceptable to Geany users and developers??
Hi all,
I've been developing a plugin [1] which I find useful (it is also
featured in the wishlist page) and I hope to see it in the
geany-plugins project.
Here are some questions:
1. How do I determine which version to put in PLUGIN_VERSION_CHECK?
2. There is "hidden" feature (explained in the settings panel) when
selecting the current document to perform the diff: it will compare to
the unsaved version. I'm wondering if it is better to relocate this
feature to its own menu.
3. This feature requires me to create a temporary file each time. I
don't remove them because the external diff tool may be using them. Is
this a problem?
4. Keybinding suggestions? The document selection menu is not keyboard friendly.
I would appreciate some feedback to improve the plugin functionality
and interface. Let me hear what you think of it.
[1] https://github.com/marspeople/geany-plugins
Regards,
Marcelo
Hi
I usually switch focus between gproject and editor using the keyboard. I'm
annoyed because the focus goes to the first element in the container, i.e. the
toolbar above the tree view.
The small patch attached (git diff -u) sets the focus order to just the tree view.
Hope it's useful.
--
Giuseppe Corbelli
WASP Software Engineer, Copan Italia S.p.A
Phone: +390303666318 Fax: +390302659932
E-mail: giuseppe.corbelli(a)copanitalia.com
On 12-12-16 01:21 AM, Enrico Tröger wrote:
> Branch: refs/heads/master
> Author: Enrico Tröger <enrico.troeger(a)uvena.de>
> Committer: Enrico Tröger <enrico.troeger(a)uvena.de>
> Date: Sun, 16 Dec 2012 09:21:01 UTC
> Commit: 6241a4520f79b9cab1b61f6114abb2d86d45e555
> https://github.com/geany/geany/commit/6241a4520f79b9cab1b61f6114abb2d86d45e…
>
> Log Message:
> -----------
> Remove KEY prefix from GDK_KEY_BackSpace constant
>
> GDK_KEY_* is GTK3 and doesn't work on older GTK versions.
>
>
Nice catch!
Although to be fair GDK_KEY_* constants are since GTK+ 2.22[1], which is
over two years old now :)
Cheers,
Matthew Brush
[1] http://git.gnome.org/browse/gtk+/tree/gdk/gdkkeysyms.h?id=2.22.0
Hi guys,
You probably saw the mail from Jan Lieskovsky about the "security issue"
of not escaping filenames and other placeholders in the build commands.
Although I don't really think it's important from the security POV, I
think it would be great to fix it for users not to get weird errors if
their files actually contain some weird characters (even only spaces if
their build command misses quoting around the placeholder).
So, how to fix it?
What comes to mind immediately is to escape the placeholder
replacements. It would work, but we need to take a little more care
than that, because the build command may or may not already have the
placeholder quoted (like gcc -c "%f" -o %e.o).
The other solution I thought about was not to build another string but
directly an `argv` vector, but it's not really doable I think because we
want to be able to replace placeholders not only in argv but also in
directory paths & friends. And actually it doesn't really fix anything
since we don't want a placeholder to correspond to a whole argument
anyway (like int %e.o).
So, I wrote a not-that-trivial replacement of
`build_replace_placeholder()` (patch attached) that takes care of the
replacement quoting (using `g_shell_quote()`) and quotes in the input.
Apart some more testing, I had some doubts about Windows compatibility
here. Will the windows spawn code deal correctly with the escapes? If
not, how to escape for Windows too?
Voila, so could you test, and what do you think?
Cheers,
Colomban
PS: my patch also fixes replacing of a placeholder in an previous
replacement, e.g. if the replacement for %f contains the literal %e it
won't be replaced.
LOL, I guess I'm obsessed with using the backspace to move up a
directory. Is this where I email the patches for geany-plugins too?
I've attached a patch to allow the Tree Browser plugin to go up a
directory when you hit backspace.
I noticed that my previous patch for the File Browser plugin was never
applied to master. I was just curious if it will be or how that
workflow goes about.
Thanks,
Steven Blatnick