# HG changeset patch # User Christophe Lincoln # Date 1234970821 -3600 # Node ID 49e766e49c354edf509817aec467a3d18d4c517b # Parent 9229b32500c77c1b1dba36af19422167089b154c tazndis: Add GUI interface (tazndisbox) diff -r 9229b32500c7 -r 49e766e49c35 tazndis/stuff/applications/tazndisbox.desktop --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tazndis/stuff/applications/tazndisbox.desktop Wed Feb 18 16:27:01 2009 +0100 @@ -0,0 +1,8 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=Manage Windows drivers +Name[fr]=Gestion de pilotes Windows +Exec=subox tazndisbox +Icon=/usr/share/icons/Tango/16x16/apps/system-installer.png +Type=Application +Categories=System; diff -r 9229b32500c7 -r 49e766e49c35 tazndis/stuff/tazndisbox --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tazndis/stuff/tazndisbox Wed Feb 18 16:27:01 2009 +0100 @@ -0,0 +1,158 @@ +#!/bin/sh +# +# GTKdialog interface to tazndis: let users manage easly Windows drivers. +# Use tabs to indent, split commands from the GUI and use functions. +# +# (c) 2009 SliTaz GNU/Linux - GNU gpl v3 +# + +# Languages messages translations + +case $LANG in + fr*) + REMOVE_DRIVER_MSG="Double clique sur un driver pour le supprimer." + FILE_ENTRY_MSG="Fichier (.inf):" + BUTTON_MSG="Installer" + MODULE_STATUS_MSG="Module noyau ndiswrapper" + LOADED_STATUS_MSG="chargé" + UNLOADED_STATUS_MSG="déchargé" + LOAD_BUTTON="Charger" + UNLOAD_BUTTON="Décharger" + EXIT_BUTTON="Quitter" ;; + *) + REMOVE_DRIVER_MSG="Please double clic on a driver to remove it." + FILE_ENTRY_MSG="File (.inf):" + BUTTON_MSG="Install" + MODULE_STATUS_MSG="Ndiswrapper Kernel module" + LOADED_STATUS_MSG="loaded" + UNLOADED_STATUS_MSG="unloaded" + LOAD_BUTTON="Load" + UNLOAD_BUTTON="Unload" + EXIT_BUTTON="Exit" ;; +esac + +# Tazndisbox is only for root. +if test $(id -u) != 0 ; then + exec subox tazndisbox + exit 0 +fi + +# Functions + +list_drivers() +{ + tazndis -l | sed 's/:/|/' +} + +install_driver() +{ + xterm -bg gray93 -fg black -geometry 60x12 -title "Tazndis install" \ + -e "echo N | tazndis -i $NEW_DRIVER" +} + +remove_driver() +{ + tazndis -r $DRIVER +} + +module_status() +{ + if lsmod | grep -q ndiswrapper; then + STATUS="$LOADED_STATUS_MSG" + else + STATUS="$UNLOADED_STATUS_MSG" + fi + echo -n "$MODULE_STATUS_MSG ($STATUS)" +} + +load_module() +{ + if ! lsmod | grep -q ^ndiswrapper; then + modprobe ndiswrapper + fi +} + +unload_module() +{ + if lsmod | grep -q ^ndiswrapper; then + rmmod ndiswrapper + fi +} + +# GUI + +export MAIN_DIALOG=" + + + + + 510140 + DRIVER + + $0 list_drivers + $0 remove_driver + refresh:DRIVER + + + + + + + + + + + + + + + NEW_DRIVER + + + + + + + + MODULE + $0 module_status + + + + + + + +" + +if [ -n "$1" ]; then + $1 +else + gtkdialog --center --program=MAIN_DIALOG #>/dev/null +fi + +exit 0