This is an alternative (which I find better) to https://github.com/geany/geany/pull/1191.
When cloning documents, a filename that's similar to the original - with a `.clone` extension appended to it, is given to the clone. The new filename is unique. It starts first with `filename.clone`. If the filename exists or is used by another document, a number is appended to it (e.g. `.clone1`), which increments until a unique filename is found.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1197
-- Commit Summary --
* Give '.cloneX' filenames to cloned documents
* Add documentation
* Use locale-encoded string when testing if file exists
-- File Changes --
M doc/geany.txt (6)
M src/document.c (46)
-- Patch Links --
https://github.com/geany/geany/pull/1197.patchhttps://github.com/geany/geany/pull/1197.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1197
This feature is most helpful when recursively opening multiple files in the second instance of Geany where opening from the command-line doesn't help, since it just makes the first instance open them. Having another instance is necessary if you want to open another project.
This feature recognizes the specified filter in the dialog box, and uses it to select enumerated files to be opened.
Snapshot: http://imgur.com/a/DtiRI
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1163
-- Commit Summary --
* Add 'File->Open Files Recursively'
-- File Changes --
M data/geany.glade (9)
M doc/geany.txt (2)
M src/callbacks.c (9)
M src/callbacks.h (2)
M src/dialogs.c (60)
M src/dialogs.h (2)
M src/document.c (113)
M src/document.h (3)
M src/keybindings.c (5)
M src/keybindings.h (1)
-- Patch Links --
https://github.com/geany/geany/pull/1163.patchhttps://github.com/geany/geany/pull/1163.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1163
This PR is about adding features to make it possible to sort the tabs in the editor area. It includes the following changes:
04eb16b Add capability to automatically sort editor tabs
138dd09 Add keybindings for sorting editor tabs
803d6a6 Add capability to sort editor tabs
a64749e Allow document_get_notebook_child() to be used globally
I chose to place them in one PR so everything can be discussed in one place. Each update depends on the other update that comes earlier than it. Which means, if the last update is wanted (`04eb16b`), all other updates that came before it should be included, but if only `803d6a6` is wanted, it would only require `a64749e`.
Here are the snapshots:
http://imgur.com/6uYVd72http://imgur.com/G4Fi9iVhttp://imgur.com/VNOJaVvhttp://imgur.com/Pb00zIK
The first 2 updates (`803d6a6` and `138dd09`) made a fair amount of changes in the code, but the last update had to be a little aggressive since the only way to get it done properly is to alter the codes that call `document_open_file()`. Modifying `document_open_file()` itself would mean that every file opened would cause the order of tabs in the notebook widget to be recalculated and rearranged.
This could cause significant slowdown during startup time especially when opening a lot of files. That's why the only proper way to do it is to make changes on the calling functions instead, where we could only allow a function like `notebook_auto_sort_tabs()` to be called once after multiple files are opened.
We can also create a wrapper function like `document_open_file_and_auto_sort_tabs()` but it would only apply to calling functions that only open a file once everytime they are called.
It's unlikely for the last update to be merged because of that, but please also consider the first two (`803d6a6` and `138dd09`). I can create another PR for those if wanted.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1144
-- Commit Summary --
* Allow document_get_notebook_child() to be used globally
* Add capability to sort editor tabs
* Add keybindings for sorting editor tabs
* Add capability to automatically sort editor tabs
-- File Changes --
M data/geany.glade (30)
M src/callbacks.c (4)
M src/document.c (16)
M src/document.h (2)
M src/keybindings.c (22)
M src/keybindings.h (2)
M src/keyfile.c (15)
M src/libmain.c (2)
M src/msgwindow.c (6)
M src/notebook.c (110)
M src/notebook.h (14)
M src/osx.c (3)
M src/prefs.c (40)
M src/symbols.c (8)
M src/ui_utils.c (7)
M src/ui_utils.h (2)
M src/win32.c (10)
-- Patch Links --
https://github.com/geany/geany/pull/1144.patchhttps://github.com/geany/geany/pull/1144.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1144
Right now if you input a number like
12345678
In the go-to widget
nothing happens.
The file I was modifying was a large .yml file, 16000 lines.
12345678 is much higher than 16000 so "technically"
geany would be "correct". But, the event that me as the user
is using that, the current behaviour is quite useless as the
go-to functionality does not work. In that case I would
like to, in pseudo code, have this behaviour:
if user did input a HUGE number here
automatically set the number to the "end of the file"
That way I as the user do not have to give an exact number
if I want to quickly jump to the end of a file, even if only
accidentally.
I reason that this behaviour would be better than the current
"no action is done" behaviour, which is quite useless to me.
(I also admit that this behaviour was with my old editor,
and I got used to it a lot. The go-to behaviour of geany
ni this regard is quite useless to me right now; I dont want
to need or have to need to know the number, it could be
autoset in this case, to the last line).
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2146
Virtually it's more correct that if `document_rename_file()` fails, `handle_save_as()` would no longer proceed to call `document_save_file_as()`. I'm not sure if unexpected things in runtime would not happen if `document_save_file_as()` somehow succeeds even if `document_rename_file()` fails, but it's certainly not what the user would be expecting. I.e., being able to save to the target file but the originally file remains to exist. This might be a rare case, but it still stands to be programmatically incorrect.
I decided to include changing `document_rename_file()` itself in this update rather than creating another non-API function, because I believe it's the only correct way to do it. Sooner or later, it would have to be changed anyway. And I don't think it's likeable that an old non-gboolean function which no code would use would exist just for the sake of not breaking the API. This should also be helpful to future code that might rely on it.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1180
-- Commit Summary --
* Make document_rename_file() return a gboolean.
* Abort save if rename fails
-- File Changes --
M src/dialogs.c (6)
M src/document.c (4)
M src/document.h (2)
-- Patch Links --
https://github.com/geany/geany/pull/1180.patchhttps://github.com/geany/geany/pull/1180.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1180
As discussed in https://github.com/geany/geany/pull/1180.
This change adds two new functions: `document_rename_file_and_save()`, and `document_rename_and_save()`. `document_rename_file_and_save()` is kind of like the combination of `document_rename_file()` and `document_save_file_as()`, and is strictly about renaming the associated file, and doing the stuff necessary before and after the file has been renamed, like disabling file monitoring, and putting it back if a rename fails, saving/restoring file disk status, etc.
`document_rename_and_save()` OTOH is more of a wrapper, and is about renaming the document itself. It doesn't require the document to have an associated file to it (i.e. `doc->real_path != NULL`). But if there is an associated file, the file is also renamed, i.e., `document_rename_file_and_save()` is called. The algorithm to check if the file has to be overwritten is also contained in it. This function should be adaptable to other implementations like [in-place renaming](https://github.com/konsolebox/geany/tree/docs_rename).
In `dialogs.c`, stuff about resetting `doc->tm_file` and calling `build_menu_update()` has been moved to `document_save_file_as()`, since both are essentially needed to be done by anyone that calls the function. It helps significantly simplify the two new functions and the functions in `dialogs.c`.
The function `save_as_dialog_handle_response()` has been refactored, and is now simpler since the "overwrite file?" prompt has been moved to `document_rename_and_save()`, and since it can now directly call `document_rename_and_save()` and `document_save_file_as()`. `dialogs_show_save_as()` now also directly calls `document_save_file_as()` if `interface_prefs.use_native_windows_dialogs == TRUE`. `handle_save_as()` is no longer needed, so it's been removed.
You can view, comment on, or merge this pull request online at:
https://github.com/geany/geany/pull/1194
-- Commit Summary --
* Add document_rename_file_and_save()
* Do not make document_rename_file_and_save() an API function for now
* Add document_rename_and_save()
* Move resetting GeanyDocument::tm_file, and calling build_menu_update() to document_save_file_as()
* Rework Save-As functions in dialogs.c
* dialogs_show_save_as: g_free(utf8_name);
-- File Changes --
M src/dialogs.c (78)
M src/document.c (81)
M src/document.h (4)
-- Patch Links --
https://github.com/geany/geany/pull/1194.patchhttps://github.com/geany/geany/pull/1194.diff
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1194
Zooming itself is fine, it works if "zoom in(out)" menu items are clicked. Default zooming hotkeys (which are written on these menu items) do not have any effect.
Geany 1.32, macOS 10.12.6
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/1712
Hi,
i switched completely to geany on all my platforms because geany is available for windows, Linux Mint and Raspberry OS and is active in development. On Windows i used pspad and there was a feature which could compare two files and show the differences, i did not found anything like that for geany. Is there such a feature ?
Thank you
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany-plugins/issues/1009
Currently Geany already provides one long line marker, which I find extremely helpful.
I find it so useful, in fact, I can think of a few situations where I could use an extra one.
Primarily -- Python's PEP 8 recommends 72 characters for docstrings, though the real code's line limit is longer.
Additionally -- Others may be working in heavily indented code and could use a vertical indicator for some specific nesting level, to help keep their place.
So if possible, I'd love the ability to set two separate long line markers of different colors in settings. (The second one would be turned off by default of course), just so I can watch one column for comments and the other for code.
Thanks for the project, it's been a huge help!
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2598
It would be useful if Geany supported build profiles (sets of build commands) and let you assign a different build profile to each geany tab. The user should be able to pick a default build profile that new tabs / files will use by default and geany should remember which build profiles were assigned to specific files.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/issues/2607