After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 316472 - use .desktop files to define screensaver themes
use .desktop files to define screensaver themes
Status: RESOLVED FIXED
Product: gnome-screensaver
Classification: Deprecated
Component: general
CVS HEAD
Other Linux
: Normal normal
: ---
Assigned To: gnome-screensaver maintainers
gnome-screensaver maintainers
Depends on:
Blocks: 308667 316462
 
 
Reported: 2005-09-16 13:38 UTC by William Jon McCann
Modified: 2005-09-22 20:24 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description William Jon McCann 2005-09-16 13:38:13 UTC
We should use .desktop files to define the gnome-screensaver themes instead of
using the xscreensaver .xml files.

They already do everything we need and we may not have to do xml parsing in the
daemon.

Name     = user visible name of the theme
Comment  = description of the theme
Exec     = the full command to run for the theme
Terminal = "false"
Type     = "Application"
Hidden   = allow a user or sysadmin to delete certain themes
TryExec  = command to look for
Path     = working directory

Sweet.
Comment 1 William Jon McCann 2005-09-22 20:24:47 UTC
2005-09-22  William Jon McCann  <mccann@jhu.edu>

        * src/gs-manager.c (window_show_cb): Don't set theme search
        path.

        * src/gs-job.[ch] (gs_job_theme_info_ref, gs_job_theme_info_unref)
        (gs_job_theme_info_get_id, gs_job_theme_info_get_name)
        (gs_job_theme_info_new_from_gmenu_tree_entry, find_info_for_id)
        (gs_job_lookup_theme_info, theme_prepend_entry, make_theme_list)
        (gs_job_get_theme_info_list, gs_job_init, gs_job_finalize)
        (gs_job_set_theme, spawn_on_widget, gs_job_start): Use
        gnome-menu to construct a theme list.  Remove all traces of
        theme search path.  Remove XML configuration parsing.

        * src/gnome-screensaver-preferences.c (get_all_theme_ids)
        (config_set_theme, preview_set_theme, get_theme_info_list)
        (populate_model, tree_selection_changed_cb, compare_theme)
        (setup_treeview, setup_treeview_selection, init_capplet):
        Use new themes info API.

        * src/Makefile.am: Use libgnome-menu.

        * savers/popsquares.desktop.in:
        * savers/personal-slideshow.desktop.in:
        * savers/cosmos-slideshow.desktop.in.in:
        * savers/Makefile.am:
        * savers/.cvsignore: Use desktop files to define
        screensaver themes

        * data/migrate-xscreensaver-config.sh:
        * data/xscreensaver-config.xsl: Script that can be
        used to convert xscreensaver .xml configuration files
        to .desktop files.

        * data/gnome-screensavers.menu.in:
        * data/gnome-screensaver.directory.in:
        * data/Makefile.am:
        * data/.cvsignore: New files to define menu entries

        * configure.ac: Require libgnome-menu