Je ne me sers pas beaucoup de VLC pour l’avoir là; j’aimerais donc le supprimer du menu son en haut à droite. J'ai trouvé une petite image pour montrer à quoi elle ressemble (le menu Son est ouvert et affiche VLC avec d'autres lecteurs de musique).
Désolé de donner une image à très basse résolution.
Déplacer le plugin VLC DBus
Sudo mv /usr/lib/vlc/plugins/control/libdbus_plugin.so /usr/lib/vlc/plugins/control/libdbus_plugin.so.backup
Ouvrez dconf-editor
, supprimez vlc.desktop
de:
/com/canonical/indicator/sound/interested-media-players
Ou simplement le réinitialiser via le terminal
dconf reset /com/canonical/indicator/sound/interested-media-players
Remarque: Certains voudront peut-être modifier le menu du témoin sonore pour masquer les commandes du lecteur inactif ou le supprimer après la fermeture . En d'autres termes, les joueurs en cours d'exécution ont des contrôles complets, ceux fermés étant soit uniquement lanceurs (sans boutons de contrôle) ou disparaissent totalement du menu.
Comment supprimer VLC du menu Son/Comment empêcher VLC de réapparaître dans le menu Son.
Suppression de VLC du menu Son
méthode graphique
com/canonical/indicator/sound
interested-media-players
), supprimez la ou les applications dont vous n'avez pas besoin/ne voulez pas apparaître dans le menu. Fermez l'éditeur dconf.Méthode en ligne de commande
Pour lire les éléments de menu actuels:
gsettings get com.canonical.indicator.sound interested-media-players
donne une sortie comme:
['rhythmbox.desktop', 'vlc.desktop']
Pour supprimer VLC, supprimez vlc.desktop
de la liste et définissez le menu modifié à l'aide de la commande:
gsettings set com.canonical.indicator.sound interested-media-players "['rhythmbox.desktop']"
Empêcher VLC de revenir dans le menu son (14.04)
La solution supprime VLC du menu Son, mais si vous démarrez VLC, il réapparaîtra dans le menu Son. Le script ci-dessous n’empêche pas cela, mais le supprime immédiatement et automatiquement une fois que VLC est fermé.
Pour l'utiliser:
Copiez le script ci-dessous, collez-le dans un fichier texte vide et enregistrez-le sous le nom vlc
, rendez-le exécutable. Copiez ensuite le fichier vlc.desktop
de /usr/share/applications
vers ~/.local/share/applications
et remplacez la (première) ligne commençant par Exec=
par Exec=/path/to/script/vlc
. Déconnectez-vous puis reconnectez-vous. Le fichier desktop sera redirigé vers le script. Le script démarrera VLC et attendra son arrêt et supprimera immédiatement VLC du menu sonore.
#!/usr/bin/python3
import subprocess
import getpass
import time
curruser = getpass.getuser()
def read_currentmenu():
# read the current launcher contents
get_menuitems = subprocess.Popen([
"gsettings", "get", "com.canonical.indicator.sound", "interested-media-players"
], stdout=subprocess.PIPE)
return eval((get_menuitems.communicate()[0].decode("utf-8")))
def set_current_menu(current_list):
# preparing subprocess command string
current_list = str(current_list).replace(", ", ",")
subprocess.Popen([
"gsettings", "set", "com.canonical.indicator.sound", "interested-media-players",
current_list,
])
subprocess.call(["/usr/bin/vlc"])
current_list = read_currentmenu()
for item in current_list:
if item == "vlc.desktop":
current_list.remove(item)
set_current_menu(current_list)
Autres applications
Cette méthode/script peut également être utilisé pour d'autres applications dans le menu Son. Deux lignes de la dernière section du script doivent alors être modifiées, selon l’autre application:
if item == "vlc.desktop": (change to desktop file of the application)
et
subprocess.call(["/usr/bin/vlc"]) (change the command to run the application)
Ouvrez l'application Terminal, puis copiez, collez et exécutez l'une des commandes suivantes. Après cela, l'indicateur de son sera automatiquement effacé après la sortie de VLC.
ne laissez aucune entrée dans l'indicateur de son:
(mkdir -p ~/.local/share/applications);(cp /usr/share/applications/vlc.desktop ~/.local/share/applications);(sed -i 's/Exec=\/usr\/bin\/vlc --started-from-file %U/Exec=sh -c "\/usr\/bin\/vlc --started-from-file %U; gsettings reset com.canonical.indicator.sound interested-media-players"/' ~/.local/share/applications/vlc.desktop)
laissez l'entrée Rhythmbox dans l'indicateur de son:
(mkdir -p ~/.local/share/applications);(cp /usr/share/applications/vlc.desktop ~/.local/share/applications);(sed -i 's/Exec=\/usr\/bin\/vlc --started-from-file %U/Exec=sh -c "\/usr\/bin\/vlc --started-from-file %U; gsettings set com.canonical.indicator.sound interested-media-players \\\"['\'rhythmbox.desktop\'']\\\""/' ~/.local/share/applications/vlc.desktop)
annuler les changements:
rm ~/.local/share/applications/vlc.desktop
Afficher les applications définies par l'utilisateur dans le menu audio uniquement si elles sont exécutées
La solution ci-dessous est utilisable de manière flexible pour plusieurs applications à la fois avec une position dans le menu Son. L'utilisateur peut définir (et changer) les applications qui ont une position permanente dans le menu et celles qui doivent être supprimées du menu Son après leur fermeture.
Qu'est-ce que c'est et ce qu'il fait
La solution existe d'un script qui s'exécute à partir du démarrage (connexion). Il permet aux applications définies par l'utilisateur d'apparaître dans le menu Son, mais les supprime du menu Son après leur fermeture.
Le script n'a aucun effet sur la fonctionnalité des fichiers du bureau. Je n'ai pu remarquer aucun effet sur la charge du processeur, la mémoire utilisée est négligeable.
comment utiliser
Copiez le script ci-dessous dans un fichier vide, enregistrez-le sous le nom cleanup_soundmenu.py
Dans la ligne commençant par no_show =
, les applications sont définies et doivent être nettoyées à partir du menu après leur fermeture. Deux exemples sont définis: ['rhythmbox', 'vlc']
. Les noms sont dérivés des fichiers de leur bureau, extraits de .desktop
.
Dans la ligne, commençant par cleanup_interval
, l'utilisateur peut définir l'intervalle entre les vérifications de nettoyage. Par défaut, c'est 10 secondes.
Ajoutez la ligne suivante à Startup Applications
(Tableau de bord> Applications de démarrage> Ajouter):
python3 /path/to/cleanup_soundmenu.py
Lors de la prochaine connexion, les applications définies seront nettoyées du menu Son si elles ne sont pas en cours d'exécution.
Le script
#!/usr/bin/env python3
import subprocess
import time
import getpass
no_show = ['rhythmbox', 'vlc'] # add names here, to set apps not to show
cleanup_interval = 10 # cleanup interval (in seconds)
curruser = getpass.getuser()
def createlist_runningprocs():
processesb = subprocess.Popen(
["ps", "-u", curruser],
stdout=subprocess.PIPE)
process_listb = (processesb.communicate()[0].decode("utf-8")).split("\n")
return process_listb
def read_soundmenu():
# read the current launcher contents
get_menuitems = subprocess.Popen([
"gsettings", "get",
"com.canonical.indicator.sound",
"interested-media-players"
], stdout=subprocess.PIPE)
try:
return eval(get_menuitems.communicate()[0].decode("utf-8"))
except SyntaxError:
return []
def set_soundmenu(new_list):
# set the launcher contents
subprocess.Popen([
"gsettings", "set",
"com.canonical.indicator.sound",
"interested-media-players",
str(new_list)])
def check_ifactionneeded():
snd_items = read_soundmenu()
procs = createlist_runningprocs()
remove = [item+".desktop" for item in no_show if not item in str(procs)]
if len(remove) != 0:
for item in remove:
try:
snd_items.remove(item)
except ValueError:
pass
return snd_items
else:
pass
while 1 != 0:
new_list = check_ifactionneeded()
if new_list != None:
set_soundmenu(new_list)
time.sleep(cleanup_interval)
Ceci article sur la façon d'ajouter cette fonctionnalité fait le scénario opposé:
Outils -> Préférences -> tout -> Interface -> Interface de contrôle -> Interface de contrôle D-Bus