You are not logged in.
I sought to add a feature: a path of copy within the icon of exo-desktop-item.
For this step, I called the mind of the machine, yet no clear solution rose.
My aim was direct: a touch upon the icon, and a function with path in light.
From this crossroad, what step may we take?
I send the file exo-die-editor.c.
Inside, code may rest without purpose, lines without weight.
To share this state with the machine stands as a hard table.
My wish holds steady: a touch upon the icons, a path revealed within the icon path box, and the same path placed in the hand of copy.
https://gist.github.com/9e162d98a6bfd18 … a93366.git
Added later 01 min 20 s:
../../exo-desktop-item-edit/exo-die-editor.c: In function ‘exo_die_editor_icon_clicked’:
../../exo-desktop-item-edit/exo-die-editor.c:629:3: warning: ‘exo_icon_chooser_dialog_new’ is deprecated: Use 'xfce_icon_chooser_dialog_new' instead [-Wdeprecated-declarations]
629 | chooser = exo_icon_chooser_dialog_new (_("Select an icon"),
| ^~~~~~~
In file included from ../../exo/exo.h:48,
from ../../exo-desktop-item-edit/exo-die-command-entry.h:23,
from ../../exo-desktop-item-edit/exo-die-editor.c:24:
../../exo/exo-icon-chooser-dialog.h:76:12: note: declared here
76 | GtkWidget *exo_icon_chooser_dialog_new (const gchar *title,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
../../exo-desktop-item-edit/exo-die-editor.c:662:5: warning: ‘exo_icon_chooser_dialog_set_icon’ is deprecated: Use 'xfce_icon_chooser_dialog_set_icon' instead [-Wdeprecated-declarations]
662 | exo_icon_chooser_dialog_set_icon (EXO_ICON_CHOOSER_DIALOG (chooser), editor->icon);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../exo/exo-icon-chooser-dialog.h:84:12: note: declared here
84 | gboolean exo_icon_chooser_dialog_set_icon (ExoIconChooserDialog *icon_chooser_dialog,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../exo-desktop-item-edit/exo-die-editor.c:668:7: warning: ‘exo_icon_chooser_dialog_get_icon’ is deprecated: Use 'xfce_icon_chooser_dialog_get_icon' instead [-Wdeprecated-declarations]
668 | icon = exo_icon_chooser_dialog_get_icon (EXO_ICON_CHOOSER_DIALOG (chooser));
| ^~~~
../../exo/exo-icon-chooser-dialog.h:82:12: note: declared here
82 | gchar *exo_icon_chooser_dialog_get_icon (ExoIconChooserDialog *icon_chooser_dialog) G_GNUC_MALLOC G_GNUC_WARN_UNUSED_RESULT;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../exo-desktop-item-edit/exo-die-editor.c: In function ‘exo_die_editor_cell_data_func’:
../../exo-desktop-item-edit/exo-die-editor.c:815:11: warning: ‘exo_gdk_pixbuf_scale_ratio’ is deprecated: Use 'xfce_gdk_pixbuf_scale_ratio' instead [-Wdeprecated-declarations]
815 | pixbuf_scaled = exo_gdk_pixbuf_scale_ratio (pixbuf, 16 * scale_factor);
| ^~~~~~~~~~~~~
In file included from ../../exo/exo.h:40:
../../exo/exo-gdk-pixbuf-extensions.h:61:12: note: declared here
61 | GdkPixbuf *exo_gdk_pixbuf_scale_ratio (GdkPixbuf *source,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../../exo-desktop-item-edit/exo-die-editor.c: In function ‘on_icon_selected_callback’:
../../exo-desktop-item-edit/exo-die-editor.c:844:19: warning: assignment discards ‘const’ qualifier from pointer target type [-Wdiscarded-qualifiers]
844 | icon_path_str = gtk_icon_info_get_filename (icon_info);
| ^
../../exo-desktop-item-edit/exo-die-editor.c: In function ‘exo_die_editor_set_icon’:
../../exo-desktop-item-edit/exo-die-editor.c:1316:15: warning: ‘exo_gdk_pixbuf_scale_ratio’ is deprecated: Use 'xfce_gdk_pixbuf_scale_ratio' instead [-Wdeprecated-declarations]
1316 | pixbuf_scaled = exo_gdk_pixbuf_scale_ratio (pixbuf, icon_size * scale_factor);
| ^~~~~~~~~~~~~
../../exo/exo-gdk-pixbuf-extensions.h:61:12: note: declared here
61 | GdkPixbuf *exo_gdk_pixbuf_scale_ratio (GdkPixbuf *source,
deprecates:
| Uyarı | Önerilen fonksiyon |
| ----------------------------------- | ------------------------------------ |
| `exo_icon_chooser_dialog_new` | `xfce_icon_chooser_dialog_new` |
| `exo_icon_chooser_dialog_set_icon` | `xfce_icon_chooser_dialog_set_icon` |
| `exo_icon_chooser_dialog_get_icon` | `xfce_icon_chooser_dialog_get_icon` |
| `exo_gdk_pixbuf_scale_ratio` | `xfce_gdk_pixbuf_scale_ratio` |
| `exo_execute_preferred_application` | `xfce_execute_preferred_application` |
Last edited by masterx (2025-09-17 21:02:38)
Offline
Hello and welcome.
I'm assuming your using the exo code from the master git branch because of the presence of those deprecations. The reason that you are seeing them is that exo is slotted to be deprecated after the next release. The existing code is being migrated to libxfce4ui.
Caveats:
If you are looking to patch this for your system that is running anything less than version 4.21 (the Xfce development version), you should probably checkout the appropriate branch of exo and patch that.
If this is for new Xfce code (git master), make the changes in libxfce4ui.
If you are looking to submit a patch/merge request to the Xfce developers, then you should do your work on a checkout of Xfce git master and make the changes in libxfce4ui so that it is supported moving forward.
Mark solved threads as [SOLVED] to make it easier for others to find solutions.
--- How To Ask For Help | FAQ | Developer Wiki | Community | Contribute ---
Offline
[ Generated in 0.008 seconds, 7 queries executed - Memory usage: 544.59 KiB (Peak: 548.58 KiB) ]