Giter Club home page Giter Club logo

geany's Introduction

Geany - A fast and lightweight IDE

About

Geany is a small and lightweight integrated development environment. It was developed to provide a small and fast IDE, which has only a few dependencies from other packages. Another goal was to be as independent as possible from a special Desktop Environment like KDE or GNOME. So it is using only the GTK+ toolkit and therefore you need only the GTK+ runtime libraries to run Geany.

Screenshot of Geany showing the main user interface

Features

The basic features of Geany are:

  • syntax highlighting
  • code completion
  • auto completion of often used constructs like if, for and while
  • auto completion of XML and HTML tags
  • call tips
  • folding
  • many supported filetypes like C, Java, PHP, HTML, Python, Perl, Pascal
  • symbol lists
  • embedded terminal emulation
  • extensibility through plugins

Installation from distribution packages

Using distribution packages on Linux, BSD and similar distributions is the easiest and recommended way. This way you will also benefit from automatic Geany updates by the package manager of the distribution.

Packages are available for most distributions including Debian, Fedora, Ubuntu and many more.

Installation on Mac OS and Windows

Prebuilt binary packages for Mac OS and Windows can be found on https://www.geany.org.

Installation from sources

Requirements

For compiling Geany yourself, you will need the GTK3 libraries and header files. You will also need its dependency libraries and header files, such as Pango, Glib and ATK. All these files are available at https://www.gtk.org.

Furthermore you need, of course, a C compiler and the Make tool; a C++ compiler is also needed for the required Scintilla library included. The GNU versions of these tools are recommended.

To build the user manual you need rst2html from Docutils. A pre-built version of the manual is available in distribution tarballs and will be used as fallback if rst2html is missing. When building from Git however, that pre-built version is not included and rst2html is required by default. You can explicitly disable building the user manual using the --disable-html-docs configure flag, but this will result in not installing a local version of the user manual, and Geany will then try and open the online version instead when requested.

Note

Building Geany from source on Mac OS and Windows is more complicated and is out of scope of this document. For more information on building instructions for these platforms, please check the wiki at https://wiki.geany.org/howtos/.

Installing from a Git clone

Using the Meson build system

N.B. Meson support is still incomplete and a work-in-progress.

Meson requires to chose a separate build directory. Either create one, or let meson do it:

meson build or mkdir build; cd build; meson ..

Either command will configure the build system. The system is probed in many ways and system-dependant build files are created. This includes location of dependencies and compiler and linker flags required for them.

To build Geany, follow with a meson compile -C build

To install Geany, follow the build with a sudo meson install -C build.

By default, meson will install Geany to /usr/local. A different prefix can be selected at the initial command or via reconfiguration:

meson --prefix /opt build or meson configure --prefix /opt build

Geany has some selectable features that may reduce the required build and runtime dependencies. See meson_optionts.txt for a full list.

To turn a feature off, use -D<feature>=false when configuring the build, for example: meson configure -Dvte=false build

Using Autotools

Install Autotools (autopoint, automake, autoconf and libtool), gettext, and the GLib development files before running any of the following commands, as well as rst2html from Docutils (see above for details). Then, run ./autogen.sh and then follow the instructions for installing from a release tarball.

Installing from a release tarball

Run the the following three commands:

$ ./configure
$ make
(as root, or using sudo)
% make install

For more configuration details run ./configure --help.

If there are any errors during compilation, check your build environment and try to find the error, otherwise contact the mailing list or one of the authors.

See the manual for details (geany.txt/geany.html).

Usage

To run Geany just type:

$ geany

on a console or use the applications menu from your desktop environment. For command line options, see the manual page of Geany or run:

$ geany --help

for details. Or look into the documentation in the doc/ directory. The most important option probably is -c or --config, where you can specify an alternate configuration directory.

License

Geany is distributed under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. A copy of this license can be found in the file COPYING included with the source code of this program. The included Scintilla library (found in the subdirectory scintilla/) has its own license, which can be found in the file scintilla/License.txt included with the source code of this program.

Ideas, questions, patches and bug reports

See https://www.geany.org/. If you add something, or fix a bug, please create a pull request at https://github.com/geany/geany/. Also see the HACKING file.

geany's People

Contributors

akronix avatar andreasots avatar andrej-herceg avatar andy5995 avatar artros avatar b4n avatar berviantoleo avatar codebrainz avatar dmaphy avatar dolik-rce avatar earshinov avatar eht16 avatar elextr avatar frlan avatar gentoo90 avatar giuspen avatar kugel- avatar masatake avatar ntrel avatar philippwiesemann avatar rbuj avatar scootergrisen avatar scriptum avatar siegelord avatar siegelordex avatar techee avatar vfaronov avatar xhacker avatar xiota avatar zhekov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geany's Issues

Add param --template

wish I could create files through the terminal, using a template, for example:

$ geany file_name --template template

Or a menu option to apply a template to an already open empty file.

This is easy for implement, no?

Close Other Documents closes all but the visible document

When right clicking on a tab (other than the currently visible tab) and selecting "Close Other Documents" all tabs close including the tab that was right clicked on and not the currently visible tab.

This seems at odds to web browsers where similar functionality would close all tabs except the one that was right clicked on; the tab that was selected as the one to apply this action to by the user.

Open files not remembered if Geany closed with a project open.

If Geany is closed with a project open it does not save the files that were open before the project to geany.conf, instead it saves the files open in the project.

This is annoying since now closing the project leaves all the project files open since they have become the non-project saved session.

It is slightly complicated by the fact that the session files do not have to be stored in the project file (its a pref).

But if the session files are being stored in the project then Geany should store the files that were open before the project in Geany.conf.

Set Path From Document isn't working properly

After some time Set Path From Document stops to work. I looked through the code and sure that problem is somewhere in vte_get_working_directory with of pid = 0.

How to reproduce (not sure that will work for all configurations):

  1. Restart Terminal
  2. Restart Terminal again
  3. Try to set path from different documents (especially with non-ASCII filenames).

Maybe this happens only with Russian locale. If not reproducible, try to run under ru or some other locale.

How could this be fixed:

  1. Remove if (! utils_str_equal(path, vte_info.dir)) check. Not sure that this is very necessary.
  2. Check vte_get_working_directory logic. Sometimes pid variable becomes 0 and this causes a bug.
  3. Check vte_restart - why do we need to kill shell? Also shells support reset command.

VTE and "Set Path From Document" also has a bug when I use C locale with Russian file paths: cd '/home/rpg/?????????/?????? ?? GTK ? Cairo' and so on.

Geany string autocomplete

Please add feature to be able to turn on autocomplete for strings (now it's off by default and no way to change it).

Parse C/C++ tags wrapped in an extern "C" {...} block

Geany fails to parse tags wrapped in an extern "C" {...} block, even in C++. The construct should be recognised for the C parser also, so this pattern is supported:

#ifdef __cplusplus
extern "C"
{
#endif

extern int i; // should be parsed as a global

#ifdef __cplusplus
}
#endif

Detect .tpl and .xtpl extensions

.tpl is a common extension for templating frameworks to indicate an HTML template, so, this should assume a file type of HTML. .xtpl templates (only used by Heist afaik) are XML, so, these should assume a file type of XML.

Geany will crash when opening a PHP/HTML file this http-equiv meta tag

In Ubuntu 14.04 64bit Geany 1.25 (git >= f3cb246) will crash when opening a PHP/HTML file with the following http-equiv meta tag:

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

To replicate, save the above content in a file and open it in geany.

Error displayed after crash:

74
*** Error in `geany': malloc(): smallbin double linked list corrupted: 0x0000000002586d10 ***

The Help->Donate page is in German

I believe this is a good way to discourage anyone outside Germany to send some money :-).

The link goes somewhere to sourceforge which performs the redirect to the German paypal page (using US locale here so it isn't a locale-specific page). There are probably several solutions:

  1. Use the same link as on Geany homepage (the Paypal link, the sourceforge one links to the German version - by the way, is there a reason to have both?).
  2. Update the link on sourceforge to the English version (if it's possible).
  3. Perform the redirect through geany.org/some_donation_link

@eht16 You are probably the only one who can make this change.

Regex in C?

The pattern /something/ is highlighted as 'regex' in C, but C doesn't have regexen.

(Pointed out by cousteau on IRC, thanks)

JavaScript ctags doesn't handle IIFE pattern

For instance, the symbol list is populated correctly from:

function x(){
    var y = function() {};
}();

But this results in an empty symbol list and the warning "Warning: ignoring null tag in [file]":

(function x(){
    var y = function() {};
})();

Frankly, I tried to find a quick fix by modifying skipArgumentList in tagmanager/ctags/js.c, but just ran out of time.

Support for Dart

It seems like dart is the only "emerging language" that I don't see syntax highlighting for. it would be nice to have it included, as the Dart Editor and Chrome Dev Editor are memory hogs.

Conflicting socket file with different users (using sudo)

Running geany as my standard user, it creates "/tmp/geany_socket.xxxxxxx" with rw only for my user. If I leave that window open, and run sudo geany /root/example.txt I get:

(geany:781): Geany-WARNING **: Geany tried to access the Unix Domain socket of another instance running as another user.
This is a fatal error and Geany will now quit.

Floating point exception found

geany
Exception in floating point operations (made ​​memory dump)

uname -a
Linux MSW 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

cat /etc/issue
Ubuntu 14.04 LTS \n \l

geany -v
Geany-INFO: Geany 1.25 (git >= de57548), ru_UA.UTF-8
Geany-INFO: GTK 2.24.23, GLib 2.40.0
Geany-INFO: System data dir: /usr/local/share/geany
Geany-INFO: User config dir: /home/msw/.config/geany
Geany-INFO: System plugin path: /usr/local/lib/geany
Geany-INFO: Added filetype Clojure (58).
Geany-INFO: Added filetype Graphviz (59).
Geany-INFO: Added filetype CUDA (60).
Geany-INFO: Added filetype Go (61).
Geany-INFO: Added filetype Genie (62).
Geany-INFO: Added filetype Scala (63).
Geany-INFO: Added filetype Cython (64).
Geany-INFO: Loaded: /usr/local/lib/geany/treebrowser.so (Дерево файлов)
Geany-INFO: Loaded: /usr/local/lib/geany/htmlchars.so (Символы HTML)
Исключение в операции с плавающей точкой (сделан дамп памяти)

symbol list sort order initial state

Symbol list always starts with "Sort By Name".
Can last state be saved? (i always use "sort by Appearance")

//win8.1 x64 first install with gtk

move msgwindow to the right

Could you move the message window to the right?
Or at least offer an option
For right now , many people use wide screen.
so the current ui design would leave a large part blank on the right, meanwhile the bottom is captured by msg window, leave little space to check the code .
It is an inconvenient design.
Could you change this, and release it in the next release
I found a doc to do this on very old version. Most of the code is change now .
http://qixinglu.com/post/geany_change_layout_and_settings.html

Undoing Document->"Set line endings" doesn't undo the line ending flag

I've been playing with the global menu integration on OS X and clicking around a lot to find all possible problems and one issue I have noticed is that if you perform Document->"Set line endings" and undo this change, the changed line ending type stays at the changed line endings (the actual line ending change is undone correctly).

I think we should do something similar to e.g. encoding change which has a special handling in document_undo() and document_redo().

I'll have a look at it unless someone is faster.

Add syntax highlighting implementation for ReStructuredText (reST)

Problem Description

Syntax highlighting for reStructuredText is prepared in Geany, i.e. the data file filetypes.restructuredtext exists and the extensions are evaluated to activate the highlighting mode, but the highlighting implementation is in fact empty.

As a result, there is no highlighting for reST working in Geany at the moment.

Proposed Solution

Add implementation details in data/filetypes.restructuredtext leveraging other, reliable sources, e.g. reST language specs of gtksourceview (used by Gnome's gedit reST plugin).

Missing key binding for [Alt] + [Home]

In the key bindings dialog, there are options for:

Go to end of line: [End]
Go to end of line: [Alt] + [End]
Go to beginning of line: [Home]

But there is no option for:

Go to beginning of line: [Alt] + [Home]

I want to switch the "go to x of line" and "go to x of visual line" options, but I can't, since one option is missing. Could you please fix that?

add an option to enable HTML snippet completion in PHP files

In a project I have files ending with *.html. Since the file starts with <?php, the file is recognized as a PHP filetype. Then I type h1 and expect the snippets for HTML to be applied:

h1=<h1>%cursor%</h1>\n\t%cursor%

I would like to have an option to enable functionality which usually would be dedicated to the HTML filetype for the PHP filetype as well.

"Cancel" in missing-file infobar does nothing

I'm not certain of what exactly should happen when hitting "Cancel" in the file-missing-on-disk infobar, but it definitely should do something -- or the button should be removed.

Split window plugin: reloading files

Apparently, the file in the split window cannot be reloaded directly (Ctrl + R is only for the file in the main window), and when the split file is updated outside of Geany, the "The file on the disk is more recent..." pop-up is not triggered. Switching to the file in the main window is apparently the only way to do that.

I don't know if this is something complicated to implement, but having the same feature as for the main window would definitely be useful :-)

geany-plugin-debugger crash

someone already reported.
Critical bug. and no one assigned to fix that
If this plugin is unusable , please remove it from official site.

http://sourceforge.net/p/geany/bugs/1046/

Compliled a simple program for testing the debugger.
int main(int argc, char **argv)
{
int i;
for(i=0;i<10;i++)
puts("Hello World!);
return 0;
}
(1)From the debugger console on the bottom of geany I set the target for the debugger to the sample program binary.
(2) I hit the start button to start debugging.
(3) After the debugger executes the program I hit stop.
Geany Crashes and takes the desktop environment down with it putting me back at the login screen.

Missing int64_t

The C99 tags file has uint64_t but does not have int64_t although. For 8 16 and 32 it has both.

Add "New Plugin" template

This is a simple suggestion that should be easy to implement.

It would be nice to add into Tools or File menu new item: "New Plugin". This menu opens new dialog to enter important plugin fields: plugin name, plugin dir (where to save project), author, description, version, plugin language (C or Python). There also could be several different templates, e.g. key press event handler or mouse over handler.

Where creating new plugin user should get:

  • Directory with a project, makefiles and so on - everything you need for building and installing plugin (generate those awful waf/autotools on the fly).
  • New *.c/*.py file with plugin. Of course some source patterns should be presented: plugin_init, plugin settings, license and author taken from dialog window.
  • Add instructions for people who wants to contribute their plugins. With current geany-plugin repository structure it is impossible to copy new dir with plugin into git but it should be automated somehow... Adding new plugin isn't easy at this moment.

I'm sure this should gain interest to Geany for new developers.

Build enum members not documented in the plugin API

The enums used to access the build commands were added to the plugin API. But the individual members were not doxygen documented so are technically not in the API (though that doesn't stop the C compiler using them :)

This issue is a TBD reminder.

PHP other outside-of-PHP content than HTML

If you are leaving PHP mode in a PHP file, HTML will be always used as syntax highlighting, which is usually right. But if you are delivering a line such header('Content-Type: text/css') you don't want to have HTML, you want CSS. It is the wrong syntax highlighting and it is harder to read.
My enhancement request would be, that the PHP "syntax parser" included in Geany dynamically switches the syntax highlighting when there is a header Content-Type.

Restore folds on document reload

Continuing the brief discussion from #188, it'd be nice for Geany to restore the folded code blocks on document reload.

For instance, in a large file, I fold the blocks that are of no interest to me with the current feature I'm building. Then I do a git checkout or rebase and not necessarily have I stopped working on the feature. I'd prefer having the "environment" restored to what I set it before instead of all my folds being reset (unfolded) with the whole 2,000 lines of code there for me to scroll through. (That's the reason one stops using folds — they're too short-lived.)

A relatively naive and seemingly simple implementation idea was to attach a boolean is_folded property to each block symbol in the symbols list. On document reload:

  1. the old symbols list (GtkTreeStore) is retained (copied),
  2. document is reloaded,
  3. all the symbols in the new symbols list are checked whether they were folded before, marked accordingly,
  4. the old symbols list is discarded (memory freed).

This would (should) then work nicely for classes/structs and functions (covering most of the OO languages) as well as typedefs and enums and what other block features comprising the symbols list. The tagless structures, like anon_struct_0, anon_enum_2, ..., could also be covered if the symbols in the new document have the same name anon_* and the same list of children.

This would not work for comments, preprocessor conditions, conditional and loop blocks, and any other blocks without an entry in the symbols list. But the feature, documented accordingly, would IMHO still prove very useful even in this limited scope.

Bug in Shiftcolumn

The plugin Shiftcolumn for Geany (I have Geany 1.23.1 and Ubuntu 14.04 LTS) does not work as intended when I use it.

What happened?

To test​ the plugin I wrote "12345ABC6789" and tried shifting "ABC" around.

When I highlight ABC and then immediately pressed the hotkey for Shift Right the selection was sometimes duplicated instead of moved, resulting in "12345​​​​ABC6 ​​​​ABC​789" ​, so text was added!​ The result was similar when I pressed Shift Left, only the text was duplicaded in the other direction, so "1234​ ​ABC​5​​ABC6789".​ ​ I reproduced this many times.​

I tried setting different hotkeys, but it made no difference.

After some experimentation I found a system. When I highlight the text from left to right before shifting it everything is fine. When I highlight it from right to left the weird stuff happens. By highlighting I mean clicking and dragging over f.ex. "ABC with the mouse or holding down shift and pressing the arrow keys. Both highlight methods produced the same results.

I noticed that the bug is probably related to the position of the cursor (the blinking thing which indicates where you will currently type). When I highlight in the "correct" way the cursor is always on the right side of the highlighted text and all is fine. When I highlight the "wrong" way the cursor is first on the light side. Then I press Shift Left or Shift Right. The weird duplication happens and the cursor automatically moves to the right side of the highlighted symbols. After this the shifting works fine.

​To fix this I guess you can add a check to see if the cursor is on the left side of the highlight, and if it is, move it to the right side before shifting. Or even better: If the cursor is on the left side, use a slightly modified algorithm for shifting​ the text so that it shifts correctly without the need of moving the cursor.

Another small bug

When shifting text to the right until the end of the file it simply disappears. Not a big deal, but it doesn't seem as intended behaviour.

I talked to Andrew Janke, the creator of this plugin about this. He said he could reproduce the bug and that he thinks since he made it the underlying widget that does the text display in Geany had an API change.

I hope this can be fixed.

automatically 'Reload the current file from disk' upon external modificati­on

Currently Geany will pop-up a dialogue:
"The file 'gWidgets2-filter.R' on the disk is more recent than
the current buffer.

Do you want to reload it?"

when the same file has been modified externally. When working on a file using two different editors at the same time (and saving frequently; e.g. see http://wiki.geany.org/howtos/using_geany_with_r#combining_geany_with_rstudio ), the workflow would be nicer if the file were automatically reloaded from disk upon external modification.

Please add a hidden option that would disable the confirmation dialogue when 'Reloading the current file from disk' upon external modification.

Non-plugin API accessable from plugins

Jiří and me just noted that for some reason it seems like Geany functions which are not part of the plugin API are exported to plugins.

We noticed it by this commit: aef37b05aecd85e527acd6d8c07629ab602b8b3b

There document_show_tab() and document_grab_focus() were added while not being part of the plugin API but still while compiling and linking no errors were spotted (that's sort of ok as the document.h header clearly declares the function also for plugins).

But on Linux, we could even load the plugin successfully and the functions are actually called without an error (I had expected to see 'unknown symbol document_grab_focus...').

Interestingly, on Windows it already breaks at linking, see the end of http://nightly.geany.org/win32/build_win32_plugins_stderr.log.

Does anyone have an idea if anything has changed regarding linking and/or how plugins access Geany's exported API?

Compiling Geany with gcc and its option -fvisibility=hidden, fixes the problem, then we get 'undefined symbol: document_show_tab' as expected.
Maybe the gcc default for that option has been changed?
We were testing with gcc 4.8 and 4.9 on Linux.

Any ideas?

Preference option: main window decorations

A configuration option in Preferences:

"(X) Disable window decorations on main window"

When user clicks the check box:

if(preference_checkbox_is_checked)
{ /* Disable main window /
config_disable_main_window_dec = TRUE;
gtk_window_set_decorated(main_window, FALSE);
}
else
{ /
Enable main window */
config_disable_main_window_dec = FALSE;
gtk_window_set_decorated(main_window, TRUE);
}

Then, in Geany initialization:

if(config_disable_main_window_dec)
{ /* Disable it */
gtk_window_set_decorated(main_window, FALSE);
}

(...)

gtk_show_main_window_of_geany();

Double-page print layout skips lines on all pages after first

Hello,
I'm running 1.25 (git >= c250195), and just printed a few hundred pages of double-page layout text for my wife to review a novel she's writing. Only, the final document was missing 6 lines from each page after the first; everything is aligned correctly under the page numbering/filename header, but the line numbers begin six numbers after the preceding page.

Needless to say I'm troubled to have lost so much ink and paper. :(
I'm running Debian Wheezy, and built Geany last month or so from git. The underlying print service is GTK but I think the page setup code is geany; is this the right place?

Project Suggestions

Moved from #267

To create "good" project implementation, many of Geany source code should be refactored:

  • per-project preferences are made by hands and you can change only few preferences
  • open several projects simultaneously
  • close only files that belong this project
  • load tags for all files in project. Currently Geany doesn't load tags correctly even with GProject. It ignores includes, classes, namespaces and so on.
  • And it should be threaded because heavy-loaded Geany starts up to 60 sec. Not very lightweight while Sublime Text starts in 3-5 sec with same amount of documents.

support vte 0.38 in gtk3 build

As of vte 0.37, API version has been incremented to 2.91, and, as of vte 0.38, a number of API changes have been introduced which break vte support in the gtk3 build.

In particular, deprecated function vte_terminal_fork_command() has been removed and replaced by vte_terminal_spawn_sync() (previously vte_terminal_fork_command_full()).

vte 0.38 has been released concurrently with GNOME 3.14 which depends upon it.

Preference option: main window decorations

A configuration option in Preferences:

"(X) Disable window decorations on main window"

When user clicks the check box:

if(preference_checkbox_is_checked)
{ /* Disable main window /
config_disable_main_window_dec = TRUE;
gtk_window_set_decorated(main_window, FALSE);
}
else
{ /
Enable main window */
config_disable_main_window_dec = FALSE;
gtk_window_set_decorated(main_window, TRUE);
}

Then, in Geany initialization:

if(config_disable_main_window_dec)
{ /* Disable it */
gtk_window_set_decorated(main_window, FALSE);
}

(...)

gtk_show_main_window_of_geany();

Keyboard shortcut to hide Message Window.

When I hit Ctrl + Shift + D, which I accidentally do often because in my Eclipse configuration it means "remove line," the Message Window pops up.

Now it is very annoying that pressing it again, or pressing anything else, will not remove/kill/blowtorch the Message Window away again.

This is happening so often that I'm starting to get physical with my computer, which is now sitting and watching tv crying in the other room.

Maybe shortcut key to remove it is a good idea, or an option to NOT have it pop up.

Inaccurate German translation for "go to end of line"

In the German translation of Geany, in the key bindings section, there is one term that is used for two options. Since the options are different, they should not be named equally.

The inaccurate translation is:
"Gehe zum Zeilenende"

It should be fixed this way:
Go to end of line = "Gehe zum Zeilenende"
Go to visual end of line = "Gehe zum visuellen Zeilenende" [NEW]

For the other way round, it would be:
Go to beginning of line = "Gehe zum Zeilenanfang"
Go to visual beginning of line = "Gehe zum visuellen Zeilenanfang" [NEW]

Python tags error message

In 1.24.1 I intermittently get errors when editing Python "geany: Warning: ignoring null tag in ".

Of course being intermittent they never show when I am watching the terminal, only when it is covered by the Geany window. :(

So I can't add any information on what the buffer needs to contain to trigger it.

This issue is just a placeholder so hopefully anyone else who notices will add more info.

C++ inconsistent (still!!)

I thought we went through this before, but I can't find the reference.

The intxx_t types are included in the keyword list when they are types not keywords. I thought (from memory) that only the fundamental types should be in the keywords list.

The uintxx_t types are not included in the keyword list but are in the C99 tags file (which is provided by Geany).

This means that intxx_t and uintxx_t are highlighted differently.

The intxx_t names should be removed from the keyword list and they will highlight the same as the unitxx_t types.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.