# HG changeset patch # User Christophe Lincoln # Date 1210347733 -7200 # Node ID 49001c0a759221b9c4299bb26d5dad808ca00365 # Parent fc51bbbcac62d01ace567b7c2498e9624f246ba2 Add: desktopbox - Multi-call GTKdialog for Freedesktop diff -r fc51bbbcac62 -r 49001c0a7592 rootfs/usr/share/pixmaps/tazpkg.png Binary file rootfs/usr/share/pixmaps/tazpkg.png has changed diff -r fc51bbbcac62 -r 49001c0a7592 stuff/desktop-files/desktopbox-icons.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stuff/desktop-files/desktopbox-icons.desktop Fri May 09 17:42:13 2008 +0200 @@ -0,0 +1,7 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Desktop icons +Icon=document-new +Exec=desktopbox add-icons +Type=Application +Categories=Settings;DesktopSettings;GTK; diff -r fc51bbbcac62 -r 49001c0a7592 stuff/desktop-files/tazkeymap.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/stuff/desktop-files/tazkeymap.desktop Fri May 09 17:42:13 2008 +0200 @@ -0,0 +1,9 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Keyboard mapping +Name[fr]=Mappage du clavier +Exec=subox 'xterm -e tazkeymap' +Icon=/usr/share/icons/Tango/16x16/apps/accessories-character-map.png +Terminal=true +Type=Application +Categories=Settings;DesktopSettings; diff -r fc51bbbcac62 -r 49001c0a7592 tinyutils/desktopbox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tinyutils/desktopbox Fri May 09 17:42:13 2008 +0200 @@ -0,0 +1,184 @@ +#! /bin/sh +# +# Multi-call script provinding GTK boxes to manage a desktop following +# Freedesktop standars. +# +# (C) GNU gpl v3 - SliTaz GNU/Linux 2008. +# +VERSION=20080509 + +# Standards directories. +mkdir -p $HOME/Desktop $HOME/.local/share/applications + +# Get the active locale (default to English). +case $LANG in + es*) + lang="es" + NEW_FOLDER_LABEL="Creat a new folder on the desktop:" + FOLDER_ENTRY_MSG="dirname" + NEW_FILE_LABEL="Creat a new file on the desktop:" + FILE_ENTRY_MSG="filename" + ADD_ICON_LABEL="Add some desktop icons" ;; + fr*) + lang="fr" + NEW_FOLDER_LABEL="Créer un nouveau dossier sur le bureau:" + FOLDER_ENTRY_MSG="dossier" + NEW_FILE_LABEL="Créer un nouveau fichier sur le bureau:" + FILE_ENTRY_MSG="fichier" + ADD_ICON_LABEL="Ajouter des icons de bureau" ;; + *) + lang="" + NEW_FOLDER_LABEL="Creat a new folder on the desktop:" + FOLDER_ENTRY_MSG="dirname" + NEW_FILE_LABEL="Creat a new file on the desktop:" + FILE_ENTRY_MSG="filename" + ADD_ICON_LABEL="Add some desktop icons" ;; +esac + +# Command line usage. +usage() +{ + echo -e "\nSliTaz Freedesktop Box - Version: $VERSION\n +\033[1mUsage: \033[0m `basename $0` command +\033[1mCommands: \033[0m\n + new-folder Creat a new folder on the desktop with mkdir. + new-file Creat a new empty file or SHell script on the desktop. + add-icons Add a system icon on the desktop.\n" +} + +# Box commands. +case $1 in + new-folder) + # Creat a directory on the ~/desktop. + # + DESKTOP_DIALOG=" + + + + + + + + + + $FOLDER_ENTRY_MSG + DIR + + " + ACTIONS=' + + + + + + +' + export DESKTOP_DIALOG="${DESKTOP_DIALOG}${ACTIONS}" ;; + new-file) + # Creat a file on the ~/desktop. + # + DESKTOP_DIALOG=" + + + + + + + + + $FILE_ENTRY_MSG + FILE + + " + ACTIONS=' + + + + + + +' + export DESKTOP_DIALOG="${DESKTOP_DIALOG}${ACTIONS}" ;; + add-icons) + # Add a new icons on the ~/desktop from /usr/share/applications. + # + DESKTOP_DIALOG=" + + + + + + + 420200 + ICON + " + # Get application name and icon. + cd /usr/share/applications + for file in *.desktop + do + # Try to get the name in the right locale. + NAME=`grep ^Name $file | grep $lang || grep ^Name= $file` + NAME=`echo $NAME | cut -d "=" -f 2` + ICON=`grep ^Icon= $file | cut -d "=" -f 2` + ICON=`basename $ICON` + ICON=${ICON%.*} + FILE=${file%.desktop} + ITEM="$FILE | $NAME" + DESKTOP_DIALOG="${DESKTOP_DIALOG}${ITEM}" + done + ACTIONS='cp /usr/share/applications/$ICON.desktop ~/Desktop + + + + + + + +' + export DESKTOP_DIALOG="${DESKTOP_DIALOG}${ACTIONS}" ;; + *) + # Usage if executet from cmdline. + # + usage + exit 0 ;; +esac + +gtkdialog --center --program=DESKTOP_DIALOG >/dev/null + +exit 0