Wednesday, July 10, 2013

Fedora 19 and Gnome 3.8 - Get back your terminal background transparency

Gnome Terminal in 3.8 had the transparency option dropped/removed not because it wasn't a useful feature, but because implementation between new and old code was difficult.

Anyways with Fedora 19 and Gnome 3.8, there is a way to get back this feature. I ended up using the window manager cinnamon as it has advanced features of gnome, yet includes lots of the intuitive right click menu options you expect on any desktop.

Step 1:
sudo yum install devilspie

Step 2:
mkdir ~/.devilspie

Step 3:
// Add any file in this dir ending in .ds and devilspie will process it.

vim ~/.devilspie/terminal-opacity.ds

Step 4:
// In this file add this line of code
// Terminal is what fedora uses as the name of these terminals.

(if
  (matches (window_name) "Terminal")
  (opacity 85)
)

Step 5:
// Add in .bash_profile the following line. It will
devilspie -a &

Step 6: Logout and log back in.

Any new terminal console windows will now be transparent - including the menu bars.

2 comments:

  1. Works great, thanks.
    here is my contribution:

    #!/bin/bash
    # original idea from: http://bunwich.blogspot.com/2013/07/...back-your.html
    echo "************ Instalamos devilspie para detectar cuando se abra la terminal ************ "
    yum -y install devilspie
    echo "************ Creamos el directorio de trabajo de devilspie ************ "
    localdir='/home/'$USER'/.devilspie'
    if [ -d "${localdir}" ]; then
    # existe
    echo "El directorio devilspie ya existe"
    else
    # no existe
    mkdir ${localdir}
    cd /home/$USER
    fi

    echo "************ Creamos el archivo que detecta cuando abramos una terminal ************ "
    cd /home/$USER/.devilspie
    echo '(if ' > terminal-opacity.ds
    echo ' (matches (window_name) "Terminal")' >> terminal-opacity.ds
    echo ' (opacity 85)' >> terminal-opacity.ds
    echo ') ' >> terminal-opacity.ds
    chown -R tgp:tgp ${localdir}
    cd /home/$USER

    profile_test=`cat /home/$USER/.bash_profile | grep "devilspie"`
    if [[ "${profile_test}" =~ "devilspie -a &" ]]; then
    echo "************ devilspie ya esta agregado al perfil ************ "
    else
    echo "************ agregamos delvilspie a nuestro perfil bash ************ "
    echo 'devilspie -a &' >> .bash_profile
    fi

    ReplyDelete