Eu realmente fiz um script para isso. Ele coloca o ícone no lançador, mas com uma pequena alteração, você pode colocá-lo no topo (ou em qualquer outra posição) também.
Como está, ele está em python2, mas simplesmente mude o shebang para #!/usr/bin/env python3
se você quiser usá-lo como python3. O código é idêntico.
Para usá-lo, o arquivo .desktop precisa estar em /usr/share/applications
ou em ~/.local/share/applications
, mas geralmente é esse o caso.
Como usar
- copie o script abaixo, salve-o como
launcher_add.py
- torne-o executável
Execute-o pelo comando:
/path/to/launcher_add.py name_of_desktopfile.desktop
você tem que usar o filename do arquivo .desktop, sem o caminho.
O script
#!/usr/bin/env python
import subprocess
import sys
desktopfile = sys.argv[1]
def current_launcher():
get_current = subprocess.check_output(["gsettings", "get", "com.canonical.Unity.Launcher", "favorites"]).decode("utf-8")
return eval(get_current)
def add_new(desktopfile):
curr_launcher = current_launcher()
last = [i for i, x in enumerate(curr_launcher) if x.startswith("application://")][-1]
new_icon = "application://"+desktopfile
if not new_icon in curr_launcher:
curr_launcher.insert(last, new_icon)
subprocess.Popen(["gsettings", "set", "com.canonical.Unity.Launcher","favorites",str(curr_launcher)])
else:
pass
add_new(desktopfile)
O script evita várias ocasiões na lista de iniciadores do mesmo aplicativo, o que causaria corrupção da lista.