URL: https://linuxfr.org/forums/linux-general/posts/terminal-avec-nombre-de-colonnes-fixe-police-variable Title: Terminal avec nombre de colonnes fixe, police variable Authors: dbaelde Date: 2012年05月05日T13:44:47+02:00 Tags: tiling, gestionnaire_de_fenêtres et police_de_caractères Score: 0 Je cherche un terminal et/ou un éditeur qui adapte la taille de sa police au nombre de colonnes, au lieu du contraire. En effet, j'utilise un gestionnaire de fenêtre pavant (tiling) donc la taille de mes fenêtres dépend de combien sont ouvertes, et je préfère avoir une plus grosse police qu'un nombre de colonnes absurde. En attendant mieux, j'ai bricolé un truc vite fait en utilisant le fait que rxvt est scriptable en perl: à chaque redimensionnement, on choisit une taille de police adaptée. Je suis loin d'être un pro en fontes, donc la technique est probablement pas idéale. Il y a aussi des problèmes de "clignotements", probablement la nouvelle fonte qui cause un redimensionnement, etc. C'est un moche mais au moins ça part pas en boucle infinie. ```perl # Use with # rxvt --perl-lib -pe # Pre-computation of font sizes for "mono $i" with $i in 8..29 my %size = ( 8 => 6.62, 9 => 7.22, 10 => 7.83, 11 => 9.03, 12 => 9.63, 13 => 10.24, 14 => 11.44, 15 => 12.04, 16 => 12.64, 17 => 13.85, 18 => 14.45, 19 => 15.05, 20 => 16.26, 21 => 16.86, 22 => 17.46, 23 => 18.66, 24 => 19.27, 25 => 19.87, 26 => 21.07, 27 => 21.67, 28 => 22.28, 29 => 23.48 ) ; sub optimal_size { my $width = $_[0] ; for (sort { $b <=> $a } (keys %size)) { return $_ if $width>= 80*$size{$_} ; } return 8 ; } sub on_resize_all_windows { my ($self,$width,$height) = @_ ; my $term = $self->{term} ; return () if $width == 0 ; my $size = optimal_size($width) ; my $font = "xft:mono-$size" ; if ($font ne $term->resource("font")) { # warn "Font size changed to $size for width $width..." ; # Updating the resource does not change the used font: # $term->resource("font",$font); # Use new font (man 7 urxvt, thanks https://github.com/noah/urxvt-font) $term->cmd_parse("\e]710;" . $font . "007円"); } () } ``` Dans vim, on peut bricoler des choses dans ce style. Mais on n'a pas accès à la taille de fenêtre, du coup j'ai essayé d'adapter progressivement la taille de la police pour voir le nombre de colonnes résultant, mais j'ai trop de problèmes de "clignotements".

AltStyle によって変換されたページ (->オリジナル) /