As far as I can tell, you always get the "Create Icon" instead of "Edit Icon" border menu entry unless bd->app is set. Typically bd->app is only set if the border icon came from the E_App, all other methods leave bd->app empty. Most of these other methods have priority over the E_App icon. So, even though there may already be an E_App (.eap or .desktop atm) on disk, you may not get to edit it, only create a new one. Creating a new E_App from the border menu also sets the bd->app, but that's not gonna help for pre existing E_Apps. Also, any number of things in e_border.c will clear bd->app, I haven't determined what triggers all of those yet. If no other border icon is found using other methods, then e_border_icon_add() uses a couple of methods to search for the E_App. e_border_icon_add() is used from a few places. I'm wondering if we should search for the E_App regardless of any other source of the icon, so that any pre existing ones can be edited via the border menu. May be a performance hit, I dunno yet. Being less aggressive about clearing bd->app might also help. Alternatively, do a search for bd->app at border menu creation time. I'm open to suggestions.
Description: PGP signature