Comment puis-je forcer les terminaux à avoir au moins une certaine taille?

8

Je voudrais empêcher que mes terminaux Terminator soient plus petits que 80x24. Autrement dit, je serais empêché de redimensionner un terminal en dessous de cette taille, et si j'essayais de diviser un terminal qui serait trop petit, soit les terminaux existants seraient réduits pour s'adapter, soit les terminaux parent et enfant seraient déplacés vers une nouvelle fenêtre.

Je suis prêt à modifier les programmes du terminal si nécessaire, bien qu'une bonne solution de tuilage comme Terminator soit préférable.

Nicolas
la source

Réponses:

4

Pour accomplir ce que vous voulez, vous devrez éditer le code source gnome-terminalet le reconstruire vous-même, car la taille minimale de la fenêtre est codée en dur dans l'application de terminal. Pour le faire, suivez ces étapes.

Tout d'abord, accédez à https://launchpad.net/ubuntu/+source/gnome-terminal/3.6.1-0ubuntu4 et téléchargez les fichiers source (le fichier est gnome-terminal_3.6.1.orig.tar.xz). Téléchargez-le dans votre ~/Downloadsdossier.

Ensuite, ouvrez un terminal et tapez les commandes suivantes:

cd ~/Downloads

tar -xJf gnome-terminal_3.6.1.orig.tar.xz

Cela extraira la source. Maintenant, ouvrez votre éditeur de texte préféré et modifiez le fichier ~/Downloads/gnome-terminal-3.6.1/src/terminal-window.c. Accédez à la ligne 3107, où vous trouverez les variables MIN_WIDTH_CHARSet MIN_HEIGHT_CHARS. Modifiez-les, ce sont la hauteur et la largeur minimales de votre fenêtre de terminal exprimées en caractères (c.-à-d. Une valeur MIN_WIDTH_CHARSde 20 signifie que vous ne pouvez plus redimensionner la largeur de la fenêtre en dessous de 20 largeurs de caractères)

Ensuite, pour construire, dans un type de terminal cd ~/Downloads/gnome-terminal-3.6.1. Ensuite, exécutez ./configurepour générer le makefile (s'il se plaint de tout paquet manquant, installez-le en utilisant apt-get(par exemple, s'il dit "paquet foointrouvable" ou similaire, utilisez sudo apt-get install foo). Vous pouvez également essayer d'installer auto-aptet d'utiliser sudo auto-apt run ./configure(cela tentera d'installer toutes les dépendances). ), mais lorsque j'ai essayé cela, il n'a pas tout compris (exécuter la norme ./configurepar la suite). Cela peut prendre quelques tentatives, selon le nombre de paquets manquants.

Une fois qu'il a généré les makefiles make, tapez simplement , suivi de sudo make install. Cela devrait reconstruire le programme terminal. Fermez toutes les fenêtres de terminal, puis la suivante que vous démarrez respectera la taille minimale que vous avez définie dans la source (c'est-à-dire qu'elle ne sera pas redimensionnée en dessous des valeurs que vous y avez définies).

Jez W
la source
Une méthode encore plus complète serait de faire exactement comme vous l'avez dit, mais passez à l'étape supplémentaire de l'utilisateur créant son propre PPA afin de créer un .deb qu'il peut maintenir et / ou verrouiller afin de ne pas causer de problèmes lors de la mise à niveau du reste du système. De cette façon, le gestionnaire de packages gère toujours les packages, mais l'utilisateur conserve le contrôle sur celui de son PPA sans compromettre les fonctionnalités prévues du gestionnaire de packages. Mentionner autant de choses consoliderait (je pense) la vôtre comme la réponse «aller à»
darthlukan
@darthlukan Point intéressant. Je n'y avais pas vraiment pensé (peut-être que j'aurais dû le faire avant de le tester moi-même) et en fait, je ne sais pas comment on pourrait faire ça / appliquer les mises à jour de paquets tout en gardant leurs modifications intactes ... J'ai aussi vient de remarquer que la question se réfère spécifiquement à Terminator alors que cette solution est pour gnome-terminal, donc ...
Jez W
Que ce soit gnome-terminal ou Terminator (en fait, Terminator affiche plusieurs gnome-terminaux et gnome-terminal est une dépendance de terminator), votre solution est toujours là. L'utilisateur peut faire à peu près la même chose dans Terminator, il n'aura qu'à faire attention aux noms de variables qui peuvent être des noms de fichiers différents et différents, mais les étapes sont toutes les mêmes (contenu principal). Lorsque vous créez un package .deb personnalisé et attachez votre PPA à Apt, votre package est prioritaire tant que vous verrouillez la version.
darthlukan
4
  1. Appuyez sur la touche Super pour ouvrir l'objectif de recherche et recherchez: menu principal
  2. Une fois l' application " Menu principal " en cours d'exécution, sélectionnez " Accessoires " dans le menu de gauche, puis sélectionnez " Terminal " dans le deuxième menu.
  3. Une fois que vous avez sélectionné les options " Terminal ", appuyez sur le bouton " Propriétés " à droite. Une nouvelle fenêtre s'ouvrira avec les propriétés du lanceur de terminal.
  4. Accédez à l' entrée " Commande " et ajoutez-la à la fin de l'entrée:

    --geometry=132x24
    

    L'entrée terminée doit être:

    gnome-terminal --geometry=132x24
    

C'est ça. Fermez les fenêtres et la prochaine fois que vous lancerez le terminal, la fenêtre sera redimensionnée. Vous devrez peut-être vous déconnecter et vous reconnecter pour fonctionner correctement.

(132x24 n'est qu'un exemple, vous pouvez utiliser la résolution de votre choix)

Christian
la source
2
Cela n'affecte que la géométrie de départ, cela n'empêche pas le terminal d'être redimensionné en dessous de la taille donnée.
Nicholas
2

Eh bien, pour autant que je sache, vous ne pouvez pas, la résolution d'une fenêtre Terminal est basée sur les proportions des caractères ... Donc, si vous changez la taille de la police, la fenêtre Terminal se redimensionnera pour s'adapter à la proportion de cette police ...

Cela peut sembler un peu idiot au début, mais étant donné qu'un terminal n'affiche que des caractères de texte, il est logique, si une fenêtre est dimensionnée en pixels, vous vous retrouveriez souvent avec un espace gaspillé lorsque la taille de la fenêtre ne correspond pas exactement correspondre à une limite de caractère ...

Christian
la source
c'est complètement pire que stupide et aucune raison pour laquelle le programmeur l'a fait. naufrageur à tête alambiquée
Carni
1

Si vous êtes dans une ancienne version d'Ubuntu, dans le clic droit -> fenêtre des propriétés, le premier onglet a deux champs dans lesquels vous pouvez modifier les lignes et les colonnes du terminal.

Sinon, vous pouvez utiliser l'entrée de commande mentionnée dans la première réponse.

--geometry=132x24
cosaque
la source
Cela n'affecte également que la géométrie initiale.
Nicholas
1

Le petit truc sur la taille par défaut était le sujet ici . Là, l'utilisateur viscount l'a résolu en créant un script et en le plaçant dans / usr / bin / gnome-terminal comme ceci (je suppose que vous utilisez gnome comme gestionnaire de fenêtres):

#!/bin/sh
gnome-terminal --geometry=132x24

Vous pouvez également cliquer avec le bouton droit sur l'icône de gnome-terminal dans votre barre des tâches, sélectionner les propriétés, puis modifier la commande en différentes commandes comme:

gnome-terminal --working-directory=%f --geometry=132x24

De cette façon, vous avez votre propre taille par défaut.

dschinn1001
la source