Je peux facilement démarrer Nautilus sur un répertoire particulier en ligne de commande:
nautilus /home/nico/Documents
Mais je veux que cette fenêtre de Nautilus soit maximisée.
Comment écrire la ligne de commande?
nautilus
ne semble pas reconnaître --maximized
ni --fullscreen
. J'ai essayé à contrecœur --geometry 1500x1500
et cela ne semble avoir aucun effet.
Pour démarrer nautilus
avec une fenêtre agrandie, vous pouvez utiliser le script ci-dessous:
#!/usr/bin/env python3
import subprocess
import time
import sys
def w_list():
try:
pid = subprocess.check_output(["pgrep", "nautilus"]).decode("utf-8").strip()
w_list = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
return [l.split()[0] for l in w_list if pid in l]
except subprocess.CalledProcessError:
pass
relevant1 = w_list()
subprocess.Popen(["nautilus", "--new-window"])
t = 0
while t < 30:
time.sleep(0.5)
relevant2 = w_list()
if all([relevant2 != None, relevant1 != None]):
new = [w for w in relevant2 if not w in relevant1]
if new:
subprocess.Popen(["xdotool", "windowsize", new[0], "100%", "100%"])
break
relevant1 = relevant2
t += 1
Le script utilise à la fois xdotool
et wmctrl
, le premier à répertorier new fenêtres de l'application ciblée, la dernière parce que je préfère le chemin xdotool
size windows.
Sudo apt-get install xdotool wmctrl
Copiez ensuite le script ci-dessus dans un fichier vide, enregistrez-le sous le nom start_maximized.py
Test - lancez le script avec la commande:
python3 /path/to/start_maximized.py
Maintenant, nautilus démarrera avec une nouvelle fenêtre maximisée .
Ajoutez, si vous le souhaitez, la commande sous forme d'élément de liste rapide (clic droit) au lanceur Files
(nautilus) dans le lanceur Unity.
Vous pouvez démarrer toute application GUI (+ leurs arguments) dans le script généralisé ci-dessous:
#!/usr/bin/env python3
import subprocess
import time
import sys
appcommand = sys.argv[1:]
app = appcommand[0]
startup = (" ").join(appcommand)
def w_list():
try:
pid = subprocess.check_output(["pgrep", app]).decode("utf-8").strip()
w_list = subprocess.check_output(["wmctrl", "-lp"]).decode("utf-8").splitlines()
return [l.split()[0] for l in w_list if pid in l]
except subprocess.CalledProcessError:
pass
relevant1 = w_list()
subprocess.Popen(["/bin/bash", "-c", startup])
t = 0
while t < 30:
time.sleep(0.5)
relevant2 = w_list()
if all([relevant2 != None, relevant1 != None]):
new = [w for w in relevant2 if not w in relevant1]
if new:
subprocess.Popen(["xdotool", "windowsize", new[0], "100%", "100%"])
break
relevant1 = relevant2
t += 1
Effectuez la configuration exactement comme ci-dessus (y compris l'installation de wmctrl
et xdotool
, mais utilisez également l'application ciblée (+ arguments possibles) comme argument pour exécuter le script.
Par exemple:
python3 /path/to/start_maximized.py nautilus --new-window
ou:
python3 /path/to/start_maximized.py gedit
Vous pouvez facilement ajouter cette option à la liste rapide nautilus
. En supposant que vous utilisiez la deuxième version (généralisée):
Copiez le fichier global nautilus.desktop
_ localement:
qui est sur 14.04 et 14.10 : nautilus.desktop:
cp /usr/share/applications/nautilus.desktop ~/.local/share/applications
et sur 15.04 et 15.10 : org.gnome.Nautilus.desktop
cp /usr/share/applications/org.gnome.Nautilus.desktop ~/.local/share/applications
Ouvrez le fichier avec (par exemple) gedit, recherchez la ligne:
Actions=Window;
Changez-le en:
Actions=Window;Open a maximized window;
Ajouter à la toute fin du fichier:
[Desktop Action Open a maximized window]
Name=Open a maximized window
Exec=python3 '/path/to/start_maximized.py' nautilus --new-window
OnlyShowIn=Unity;
Enregistrez et fermez le fichier.
Maintenant, vous avez une option de liste rapide comme dans l'image.
Pour maximiser une fenêtre existante n'est pas très difficile. wmctrl
et xdotool
offrent tous deux des options pour le faire.
Le problème est que si vous souhaitez agrandir une fenêtre nouvellement créée, vous ne connaissez pas encore l'identifiant de la fenêtre lorsque vous donnez la commande. Par conséquent, le script pratique la procédure suivante:
De cette façon, nous pouvons "intelligemment" maximiser la nouvelle fenêtre de l'application, que cela fonctionne même si l'ordinateur est lent (occupé par un travail important, par exemple) ou rapide.
Enfin, le script a un délai de sécurité intégré, afin d’éviter toute attente au cas où l’application ne pourrait pas démarrer pour une raison quelconque. Après env. 15 secondes, le script abandonne et sort d'un chemin.
Nautilus se souvient de la taille de la fenêtre.
Démarrez-le normalement et agrandissez-le, puis fermez-le.
Maintenant, lorsque vous tapez nautilus
dans le terminal, son ouverture s’agrandira.
Testé sur Ubuntu 14.04 LTS.