Skip to content

[Workbench] Add Rename Context Action - #1569

Open
WrapEarnPass wants to merge 4 commits into
geany:masterfrom
WrapEarnPass:renamecontext
Open

[Workbench] Add Rename Context Action#1569
WrapEarnPass wants to merge 4 commits into
geany:masterfrom
WrapEarnPass:renamecontext

Conversation

@WrapEarnPass

@WrapEarnPass WrapEarnPass commented Jun 15, 2026

Copy link
Copy Markdown

About this:
Workbench has a Sidebar context menu that includes create and delete, but no update features.
Add Rename to context menu.
Add icons and update terms to make it clear that Delete is DELETE, and Remove is "Remove from this Workbench"

Add rename to s_popup_menu
Add s_popup_menu.rename to POPUP_CONTEXT handlers
Update doc comments to New(File|Directory) Language
Add popup_menu_on_rename handler
Change context labels to match geany and projorg for file contexts
rem unused GPtrArray *files in rename
fix compile error by swapping geany-> for wb_globals.geany_plugin
fix pathing issues for GeanyDoc renames
fix compile warning for <../.....filelist.h>
add checks for live update around all CRUD for file/dir
@WrapEarnPass

WrapEarnPass commented Jun 16, 2026

Copy link
Copy Markdown
Author

I checked out geany@98bcbee3b99d71dfcdd9d3556ace9530ceda818d
and rebuilt:
build@debian:~/Projects/geany-plugins-remote/geany-plugins$git log | head
commit bde2212

No make errors

$ make all
Making all in src
make[1]: Entering directory '/home/build/Projects/geany-plugins-remote/geany-plugins/workbench/src'
  CC       workbench_la-plugin_main.lo
  CC       workbench_la-workbench.lo
  CC       workbench_la-wb_globals.lo
  CC       workbench_la-wb_project.lo
  CC       workbench_la-dialogs.lo
  CC       workbench_la-wb_monitor.lo
  CC       workbench_la-search_projects.lo
  CC       workbench_la-menu.lo
  CC       workbench_la-popup_menu.lo
  CC       workbench_la-sidebar.lo
  CC       workbench_la-utils.lo
  CC       workbench_la-idle_queue.lo
  CC       workbench_la-tm_control.lo
  CCLD     workbench.la
make[1]: Leaving directory '/home/build/Projects/geany-plugins-remote/geany-plugins/workbench/src'
make[1]: Entering directory '/home/build/Projects/geany-plugins-remote/geany-plugins/workbench'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/build/Projects/geany-plugins-remote/geany-plugins/workbench'

File creation, rename, deletion success. Workbench dirtree autorefreshed after every step to display the changes.
image
Directory creation, rename, deletion success as well, but that action doesnt create status messages.

FILE_CREATED: "/home/build/Projects/geany-plugins-remote/testdir"
Workbench-Message: 09:39:09.912: wb_monitor_file_changed_cb: event: 1
Workbench-Message: 09:39:16.506: wb_monitor_file_changed_cb: event: 2
Workbench-Message: 09:39:16.506: wb_monitor_file_changed_cb: Prj: "geany-plugins-remote" Dir: ".." FILE_DELETED: "/home/build/Projects/geany-plugins-remote/testdir"
Workbench-Message: 09:39:16.506: wb_monitor_file_changed_cb: event: 3
Workbench-Message: 09:39:16.506: wb_monitor_file_changed_cb: Prj: "geany-plugins-remote" Dir: ".." FILE_CREATED: "/home/build/Projects/geany-plugins-remote/renamedir"
Workbench-Message: 09:39:16.506: wb_monitor_file_changed_cb: event: 1
Workbench-Message: 09:39:21.686: wb_monitor_file_changed_cb: event: 2
Workbench-Message: 09:39:21.686: wb_monitor_file_changed_cb: Prj: "geany-plugins-remote" Dir: ".." FILE_DELETED: "/home/build/Projects/geany-plugins-remote/renamedir"

The only critical in geany --verbose is
(geany:115024): Workbench-CRITICAL **: 09:38:26.990: plugin_workbench_on_doc_close: assertion 'doc != NULL && doc->file_name != NULL' failed
This appears unrelated to the change.

@WrapEarnPass

Copy link
Copy Markdown
Author

Moved this so I could change the Pull request to About this:
Standardize context naming based on Projorg
Add a rename context
Prettify menu labels
Fix a few compiler warnings
Was tested locally against 2.0 (Debian), but compile checked against master (upstream). There may be a upstream build problem due to that.
image

Closes #1565
Contributed under GNU GENERAL PUBLIC LICENSE Version 2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant