Vous pouvez "cliquer avec le bouton droit de la souris => Préférences" sur le sélecteur d’espace de travail Gnome pour renommer les espaces de travail.
Je me demande s'il est possible de configurer un raccourci clavier pour déclencher le changement de nom de l'espace de travail actif actuel.
Utilisez dconf-editor
depuis le terminal, accédez à gnome>desktop>wm>
, puis définissez workspace-names
sur
["Internet", "Oracle", "Gimp", "PHP"]
À ma connaissance, il n'y a pas de raccourci, mais vous pouvez écrire un script pour changer le libellé de l'espace de travail:
#!/bin/zsh
#get desktop number
n=$(xdotool get_desktop)
n=$[n+1]
#get current workspace label
et=$(cat ~/.workspacenames/names| sed -n "$n p")
#Prompt user for new workspace label
label=$(zenity --entry --entry-text="$et" --title="Workspace label" --text="New label")
if [ "$label" = "" ] ; then exit; fi
#replace the workspace label in our local file
sed "$n s/.*/$label/" -i ~/.workspacenames/names
#convert lines of the local file to an array gsettings can understand
magic=$(cat ~/.workspacenames/names | tr '\r\n' '|' | sed "s/.$/\"/;s/^/\"/;s/|/\",\"/g"|sed 's/\(.*\)/\[\1\]/')
#update settings
gsettings set org.gnome.desktop.wm.preferences workspace-names "$magic"
Ce script suppose que zenity est installé et que vous avez un fichier local appelé ~/.workspacenames/names
, qui attribue un nom à chaque espace de travail sur une nouvelle ligne. Vous pouvez mettre ce script dans le même répertoire que les noms et vous pouvez avoir un raccourci (pour moi, Super+W) pour l'exécuter.
Un script plus propre (mais nécessite qdbus
). Fonctionne probablement pour Bash aussi.
#!/usr/bin/env zsh
# Capture output in evaljs properly
IFS=$'\n'
function evaljs() {
eval_res=($(qdbus org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval "$1"))
echo $eval_res[2]
}
if [[ -z $1 ]]; then
name=$(zenity --entry --entry-text="" --title="Workspace label" --text="New label")
else
name=$1
fi
evaljs "
const Gio = imports.gi.Gio;
let i = global.screen.get_active_workspace_index();
let settings = new Gio.Settings({ schema_id:
'org.gnome.desktop.wm.preferences'});
let names = settings.get_strv('workspace-names');
let oldName = names[i];
names[i] = '$name';
settings.set_strv('workspace-names', names);
oldName;
"
Remarque: cette réponse provient de réponse de Baldersmash . Le crédit pour la recherche des commandes requises va à la réponse de Baldersmash.
#!/bin/bash
# Get total count of workspaces.
count=$(gsettings get org.gnome.desktop.wm.preferences num-workspaces)
# Get current workspace number
current_num=$(xdotool get_desktop)
# Get existing workspace names
existing_names=$(gsettings get org.gnome.desktop.wm.preferences workspace-names | grep -oP '\[.*')
# Let python worry about the indexing to find the name of current workspace.
existing_name=$(python <<< "print $existing_names[$current_num]" 2>/dev/null)
# Get the new name from the user. Exit the script if the user presses cancel.
new_name=$(zenity --entry --entry-text="$existing_name" --title="Workspace $((current_num+1)) label" --text="New label:") || exit 0
# Again abuse python to fill the array correctly.
new_names=$(python << EOF
a = ($existing_names + [''] * $count)[:$count] # Create the array of sufficient size.
a[$current_num] = "$new_name" # Set the current workspace's name (Assumes that it does not contain special characters.)
print a # Print the array.
EOF
)
# Set new array in gsettings.
gsettings set org.gnome.desktop.wm.preferences workspace-names "$new_names"
Le panneau inférieur de gnome a un commutateur d’espace de travail avec des entrées par défaut.
J'ai ajouté un sélecteur d'espace de travail dans le panneau supérieur du gnome (aligné au centre), avec les paramètres suivants:
Et j'ai ajouté un lanceur d'applications personnalisé juste à côté, qui pointe vers le script ci-dessus.