Disabling pie menus in extension preferences isn't saved with preferences #23

Closed
opened 2024-09-04 13:55:01 +02:00 by BastianLS · 3 comments

Disabling a single pie menu in the preferences of the extension does not get saved in your prefs and are reset on relaunch.

There also is no way to remove the shortcuts like there is in the keymap preferences.
In the screenshot attached, I found the extension "Node Pie" that has the ability to add or remove keymap options.

I have not yet been able to pull apart how the author of "Node Pie" manages their extension prefs.
Let me know if there's anything specific I can look into to help.

I noticed this because I have been shamelessly been using many of the functions and recently copied the prefs, hotkeys and init into my own "Context Pie" extension. Thank you for all the recent updates to pie menus. The "call_menu_pie_drag_only" function is fantastic and I want to implement it to my extension soon!

Disabling a single pie menu in the preferences of the extension does not get saved in your prefs and are reset on relaunch. There also is no way to remove the shortcuts like there is in the keymap preferences. In the screenshot attached, I found the extension "Node Pie" that has the ability to add or remove keymap options. I have not yet been able to pull apart how the author of "Node Pie" manages their extension prefs. Let me know if there's anything specific I can look into to help. I noticed this because I have been shamelessly been using many of the functions and recently copied the prefs, hotkeys and init into my own "Context Pie" extension. Thank you for all the recent updates to pie menus. The "call_menu_pie_drag_only" function is fantastic and I want to implement it to my extension soon!
Collaborator

reset on relaunch

Heya, I can't repro this anymore on the current version of the extension, I can disable all the pies then restart blender and they're still disabled. But I had a report in my DMs recently where in some cases there would be an error in the console in some relevant code, so maybe that's happening here as well. I'm not sure why said error was happening, but it should be fixed in the next version. Hopefully that fixes this too. Although if you can consistently reproduce this, I would be interested in how, as well as if you see any errors in the terminal.


There also is no way to remove the shortcuts like there is in the keymap preferences.

This is currently on purpose because the keymap API is a crime against humanity. I used to run into technical issues with allowing users to remove keymap items, like crashes and duplicate keymap items. Maybe only happened because I was touching the fragile keymap API in the wrong place, or maybe it's been fixed since then.
But even with the Node Pie add-on, if you delete a keymap entry and then update the extension, the deleted keymap entries come back. This is because the update process in its current form involves un-registering and re-registering the add-on, so the add-on keymaps that the deleted user keymaps were anchored to get un-registered, therefore Blender forgets they ever existed, or were ever deleted.

That's why I'm just trying to store this info on disk now, which is also a bit annoying, but I think once I iron out the kinks, it will be the best option. But that will still result in keymap necromancy if keymap items are removed, so I prefer users to just disable them instead. It's the same thing but with less nightmare on the code side.

> reset on relaunch Heya, I can't repro this anymore on the current version of the extension, I can disable all the pies then restart blender and they're still disabled. But I had a report in my DMs recently where in some cases there would be an error in the console in some relevant code, so maybe that's happening here as well. I'm not sure why said error was happening, but it [should be fixed](https://projects.blender.org/extensions/space_view3d_pie_menus/commit/964a0bfff7ba80fa090dd50374de82ea3566077e) in the next version. Hopefully that fixes this too. Although if you can consistently reproduce this, I would be interested in how, as well as if you see any errors in the terminal. --- > There also is no way to remove the shortcuts like there is in the keymap preferences. This is currently on purpose because the keymap API is a crime against humanity. I used to run into technical issues with allowing users to remove keymap items, like crashes and duplicate keymap items. Maybe only happened because I was touching the fragile keymap API in the wrong place, or maybe it's been fixed since then. But even with the Node Pie add-on, if you delete a keymap entry and then update the extension, the deleted keymap entries come back. This is because the update process in its current form involves un-registering and re-registering the add-on, so the add-on keymaps that the deleted user keymaps were anchored to get un-registered, therefore Blender forgets they ever existed, or were ever deleted. That's why I'm just trying to store this info on disk now, which is also a bit annoying, but I think once I iron out the kinks, it will be the best option. But that will still result in keymap necromancy if keymap items are removed, so I prefer users to just disable them instead. It's the same thing but with less nightmare on the code side.
Demeter Dzadik added the
need info
label 2024-09-05 22:45:09 +02:00
Author

I do have strange errors in console. They're shown at the end of the video.
I am also on a danish keyboard so it might be throwing those errors because of that.
But they also appear when I have switched to UK Keyboard.

Also some Pie Menu entries goes missing. Shading for example.

For now, the errors seem to have something to do with what's in the config/viewport_pie_menus.txt

I just deleted the file and relaunched... and now it is throwing none of the errors. My changes are there and the Shading Pie is back....

The second video shows this. Disabling a pie menu, saving prefs and relaunching. Then errors.

Then deleting the config/viewport_pie_menus.txt file and relaunching.
Now the missing entries for "Shading" and "View" are back, but it has re-enabled the "View" That I had disabled....

Having only copied how other's have handled keymap shortcuts... I can only imagine. Sorry to drag you into it again.
I hope this has helped somewhat? Let me know if I should document it differently.

I also attached the config file that seems to cause the errors.

I do have strange errors in console. They're shown at the end of the video. I am also on a danish keyboard so it might be throwing those errors because of that. But they also appear when I have switched to UK Keyboard. Also some Pie Menu entries goes missing. Shading for example. For now, the errors seem to have something to do with what's in the config/viewport_pie_menus.txt I just deleted the file and relaunched... and now it is throwing none of the errors. My changes are there and the Shading Pie is back.... The second video shows this. Disabling a pie menu, saving prefs and relaunching. Then errors. Then deleting the config/viewport_pie_menus.txt file and relaunching. Now the missing entries for "Shading" and "View" are back, but it has re-enabled the "View" That I had disabled.... Having only copied how other's have handled keymap shortcuts... I can only imagine. Sorry to drag you into it again. I hope this has helped somewhat? Let me know if I should document it differently. I also attached the config file that seems to cause the errors.
Collaborator

Thanks, seeing which pies were failing and which were succeeding helped figure out what's wrong, and then I was able to reproduce by using a non-standard keymap (ie. Blender 2.7x or Industry Compatible). Should be fixed in next release.

Thanks, seeing which pies were failing and which were succeeding helped figure out what's wrong, and then I was able to reproduce by using a non-standard keymap (ie. Blender 2.7x or Industry Compatible). Should be fixed in next release.
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: extensions/space_view3d_pie_menus#23
No description provided.