13/04/08

Gmail Notifier (pynotify)

Gmail Notifier

J'utilisais depuis un certain temps Gmail Notifier, sous Ubuntu, cependant je n'appréciais que très peu la fenêtre de notification qui passait par dessus mon dock. Aussi ai-je décidé de modifier Gmail Notifier de façon à ce qu'il génère ses notifications en utilisant pynotify.

Permettant ainsi aux notifications d'avoir un aspect de "bulles standards" ; notifications qui peuvent ensuite être, elles-même, gérées et redessinées par le fameux Awn Notification-Daemon :

Gmail Notifier (Awn Notification-Daemon)

En y étant, j'en ai profité pour modifier les icônes, dont celle de l'applet, en utilisant l'icône CheckGmail svg icon sous licence GPL.

Télécharger "Gmail Notifier (pynotify)"

Gmail Notifier v1.6.1b (pynotify) (archive, ±52 Ko).
signature MD5 : 462ad95f2be004c5f6b830cd11a0ffd0

Évidemment, si vous utilisez cette application modifiée, toutes les remarques ou suggestions pertinentes sont bienvenues

commenter (0)

13/04/08

En vrac (Ubuntu, Bash, etc)

Ubuntu

Un script intéressant, utilisant ImageMagick : Stylez vos screenshots, et son évolution : Des screenshots avec style - Version 2.

Encoder rapidement, en ligne de commande, des fichiers pour une PSP : encodage vers PSP (en utilisant FFMPEG).

Installer Firefox 3.0b5

cd /opt
sudo wget -O - 'http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.0b5/linux-i686/fr/firefox-3.0b5.tar.bz2' | tar xj -C ~
sudo mv '/usr/bin/firefox' '/usr/bin/firefox.real'
sudo gedit '/usr/bin/firefox'

/usr/bin/firefox

#!/bin/sh
#
# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is mozilla.org Code.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either the GNU General Public License Version 2 or later (the "GPL"), or
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
 
## $Id: mozilla.in,v 1.12.8.2 2007/11/08 08:53:19 reed%reedloden.com Exp $
## 
## Usage:
##
## $ mozilla [args]
##
## This script is meant to run the mozilla-bin binary from either 
## mozilla/xpfe/bootstrap or mozilla/dist/bin.
##
## The script will setup all the environment voodoo needed to make
## the mozilla-bin binary to work.
##
 
moz_pis_startstop_scripts()
{
  MOZ_USER_DIR=".mozilla/firefox"
  # MOZ_PIS_ is the name space for "Mozilla Plugable Init Scripts"
  # These variables and there meaning are specified in
  # mozilla/xpfe/bootstrap/init.d/README
  MOZ_PIS_API=2
  MOZ_PIS_MOZBINDIR="/opt/firefox/firefox"
  MOZ_PIS_SESSION_PID="$$"
  MOZ_PIS_USER_DIR="${MOZ_USER_DIR}"
  export MOZ_PIS_API MOZ_PIS_MOZBINDIR MOZ_PIS_SESSION_PID MOZ_PIS_USER_DIR
  
  case "${1}" in
    "start")
      for curr_pis in "${dist_bin}/init.d"/S* "${HOME}/${MOZ_USER_DIR}/init.d"/S* ; do
        if [ -x "${curr_pis}" ] ; then
          case "${curr_pis}" in
            *.sh) .  "${curr_pis}"         ;;
            *)       "${curr_pis}" "start" ;;
          esac
        fi
      done
      ;;
    "stop")
      for curr_pis in "${HOME}/${MOZ_USER_DIR}/init.d"/K* "${dist_bin}/init.d"/K* ; do
        if [ -x "${curr_pis}" ] ; then
          case "${curr_pis}" in
            *.sh) . "${curr_pis}"        ;;
            *)      "${curr_pis}" "stop" ;;
          esac
        fi
      done
      ;;
    *)
      echo 1>&2 "$0: Internal error in moz_pis_startstop_scripts."
      exit 1
      ;;
  esac
}
 
#uncomment for debugging
#set -x
 
moz_libdir="/opt/firefox"
MRE_HOME=/usr/lib/mre/mre
 
# Use run-mozilla.sh in the current dir if it exists
# If not, then start resolving symlinks until we find run-mozilla.sh
found=0
progname="$0"
curdir=`dirname "$progname"`
progbase=`basename "$progname"`
run_moz="$curdir/run-mozilla.sh"
if test -x "$run_moz"; then
  dist_bin="$curdir"
  found=1
else
  here=`/bin/pwd`
  while [ -h "$progname" ]; do
    bn=`basename "$progname"`
    cd `dirname "$progname"`
    progname=`/bin/ls -l "$bn" | sed -e 's/^.* -> //' `
    progbase=`basename "$progname"`
    if [ ! -x "$progname" ]; then
      break
    fi
    curdir=`dirname "$progname"`
    run_moz="$curdir/run-mozilla.sh"
    if [ -x "$run_moz" ]; then
      cd "$curdir"
      dist_bin=`pwd`
      run_moz="$dist_bin/run-mozilla.sh"
      found=1
      break
    fi
  done
  cd "$here"
fi
if [ $found = 0 ]; then
  # Check default compile-time libdir
  if [ -x "$moz_libdir/run-mozilla.sh" ]; then
    dist_bin="$moz_libdir"
  else 
    echo "Cannot find mozilla runtime directory. Exiting."
    exit 1
  fi
fi
 
script_args=""
debugging=0
MOZILLA_BIN="${progbase}-bin"
 
if [ "$OSTYPE" = "beos" ]; then
  mimeset -F "$MOZILLA_BIN"
fi
 
pass_arg_count=0
while [ $# -gt $pass_arg_count ]
do
  case "$1" in
    -p | --pure | -pure)
      MOZILLA_BIN="${MOZILLA_BIN}.pure"
      shift
      ;;
    -g | --debug)
      script_args="$script_args -g"
      debugging=1
      shift
      ;;
    -d | --debugger)
      script_args="$script_args -d $2"
      shift 2
      ;;
    *)
      # Move the unrecognized argument to the end of the list.
      arg="$1"
      shift
      set -- "$@" "$arg"
      pass_arg_count=`expr $pass_arg_count + 1`
      ;;
  esac
done
 
export MRE_HOME
 
## Start addon scripts
moz_pis_startstop_scripts "start"
 
if [ $debugging = 1 ]
then
  echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"
fi
"$dist_bin/run-mozilla.sh" $script_args "$dist_bin/$MOZILLA_BIN" "$@"
exitcode=$?
 
## Stop addon scripts
moz_pis_startstop_scripts "stop"
 
exit $exitcode
# EOF. 

Un cp serait sûrement plus judicieux… mais bon, on fait ce qu'on peut ! L'avantage de cette procédure et que l'on peut relancer Firefox 2 via la commande firefox.real, en cas de souci par exemple…

Sinon, une procédure beaucoup plus simple : Installer Firefox 1.5.0.1 (version française) dans Ubuntu Breezy!, et, plus compliqué, ici : Installation manuelle de Firefox sur une Debian Testing / Sid quelques informations intéressantes… même si la procédure est beaucoup plus longue, et peut-être pas complètement efficace, sous Ubuntu Gusty Gibbon, si l'on veut complètement remplacer un Firefox 2.0.0.13 par Firefox 3.0b5.

En attendant de trouver un thème compatible Firefox 3, j'utilise GrayModern2 Mozilla Firefox 3 Theme, nostalgie assurée :tongue:. Sinon, à tester, pour retrouver l'ancien look de Firefox : Firefox 2.0 Classic Theme for Firefox 3.0 1.0.

Utiliser Thunar sous Gnome

sudo mv '/usr/bin/nautilus' '/usr/bin/nautilus.real'
sudo gedit '/usr/bin/nautilus'

/usr/bin/nautilus

#!/bin/bash
 
if [ -n "${1}" ]; then
    if [ "${1:0:1}" == "/" ]; then
        thunar "${1}"
    elif [ "${1}" == "--no-desktop" ]; then
        if [ -n "${2}" ]; then
            if [ "${2:0:7}" == "file://" ] || [ "${2:0:1}" == "/" ]; then
                thunar "${2}"
            else
                nautilus.real "${2}"
            fi
        else
            thunar
        fi
    else
        nautilus.real "${@}"
    fi
else
    thunar
fi
 
# Avant Window Navigator Trash Aplet Hack for KDE
# Adapted into Xfce by Hadret (http://en.hadret.com)
#
# Copyleft 2008 A. Tres Finocchiaro
#
# This script is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation
 
if [ "$1" = "trash:" ]; then
	exec thunar "$@/"
else
	exec thunar "$@"
fi
 
exit 0

Supprimer les fichiers de backup (Thunar)

Script inspiré de Supprimer les fichiers de backup gedit, adapté pour Thunar :

#!/bin/bash
# -*- coding: utf-8 -*-
if [ -z $1 ]; then exit 1; fi
 
IFS=$'\n\r\t'
files=$(ls $1/*~)
 
i=0; total_size=0; errors=0
for bak in $files
do
	removed=false
	file_size=$(stat --printf %s $bak | awk '{print $1}')
	rm $bak && removed=true || errors=$((errors + 1))
 
	if [ $removed == true ]; then
		total_size=$((total_size + file_size))
		i=$((i + 1))
	fi
done
 
message_supp="${i} fichiers de backup *~ supprimés. (${total_size}o)."
message_err="${errors} fichiers de backup n'ont pu être effacés."
message_err_all="Aucun fichier backup n'a pu être effacé (${errors} erreurs)."
message_rights="Veuillez vérifier que vous disposez des droits nécessaires."
 
if [ $errors == 0 ]; then
	zenity --info --text="${message_supp}"
fi
 
if [ $errors != 0 ] && [ $i == 0 ]; then
	zenity --error --text="${message_err_all}\n${message_rights}"
fi
 
if [ $errors != 0 ] && [ $i != 0 ]; then
	zenity --warning --text="${message_supp}\n${message_err}\n${message_rights}"
fi
 
#gunzip -c '/usr/share/man/man1/zenity.1.gz' | groff -Tps -man > "$HOME/Bureau/zenity.ps" 

commenter (1)