Apa pintasan keyboard yang mengubah ukuran teks terminal `xfce4-terminal`?


11

Dulu Ctrl+ -dan Ctrl+ +akan menambah atau mengurangi ukuran teks terminal di versi Ubuntu sebelumnya, yang sangat membantu ketika Anda memberikan presentasi dan ingin menunjukkan kode Anda dalam ukuran yang lebih besar. Saya beralih ke Xubuntu 12.04, dan saya kehilangan pintasan keyboard ini.

Apakah ada alternatif yang bisa saya gunakan? Atau jika tidak, adakah cara saya bisa mendefinisikan pintasan saya sendiri untuk menggantikannya?

Pembaruan: Senang melaporkan bahwa pertanyaan ini sekarang diperdebatkan untuk versi terbaru xfce4-terminal! Lihat di sini .

Jawaban:


5

Alih-alih mengandalkan Python dan modul yang hilang, seperti dalam solusi github Noah K. Tilton, saya membuat skrip bash yang selangkah lebih dekat untuk menjadi lebih portabel (setidaknya, untuk instalasi menggunakan jalur default paling umum).

Anda mungkin perlu mengubah skrip untuk mengatur jalur konfigurasi xfce Anda, font favorit Anda, dll.

Hanya 2 file, jatuh ke folder ~ / bin rumah saya, "zoomin" dan "zoomout". Saya tidak melangkah lebih jauh daripada membuat perintah pendek yang bisa saya ketik dengan cepat, jadi saya tidak tahu bagaimana saya bisa mengkonfigurasi skrip ini untuk merespons HANYA ketika saya berada di dalam terminal xfce4 - artinya Saya menyerah memikirkan bagaimana cara membuat keybindings dibuat untuk Ctrl+ -dan Ctrl+ +karena saya saat ini hanya tahu tentang binding keyboard global dan tidak ingin mengganti Combo Keypress tersebut karena aplikasi lain akan membutuhkannya (mis: browser web, editor teks).

Saya juga berpikir tentang memiliki "zoommin" dan "zoommax", untuk melompat ke font terkecil dan terbesar saya ketika dibutuhkan, biasanya ketika saya perlu melihat banyak teks VS ketika saya perlu menunjukkan sesuatu kepada rekan kerja di layar saya. Saya akan menyerahkan kedua skrip itu ke imajinasi Anda tentang cara membuat: P

~ / bin / zoomin

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE + 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

~ / bin / zoomout

#!/bin/bash
SIZE=`grep 'FontName' ~/.config/xfce4/terminal/terminalrc | cut -d' ' -f 2`
NEWSIZE=$((SIZE - 2))
REGEXPR='s/FontName.*/FontName=Monospace '$NEWSIZE'/g'
sed -i "$REGEXPR" ~/.config/xfce4/terminal/terminalrc

Tidak yakin saya mengikuti apa yang Anda maksud dengan "modul yang hilang" - skrip python saya menggunakan pustaka standar. Saya pikir portabilitas bash / python adalah undian. Namun, Anda mungkin lebih berprestasi - dengan biaya beberapa keterbacaan.
g33kz0r

Saya mengalami ini antara lain. Noah K adalah, semua kewajaran diberikan, terhadap tweaker skripnya untuk membuat hidup lebih mudah bagi pengguna * buntu. Saya hanya merekayasa balik hal itu menjadi sedikit lebih universal, menghapus persyaratan python sama sekali. : 3
starlocke

Anda melaporkan bug aktif XDG_CONFIG_PATH- string yang tidak muncul di skrip saya. Hah? Dengan asumsi Anda bermaksud XDG_CONFIG_HOME, yang memang muncul dalam skrip saya, Anda mungkin ingin memeriksa superuser.com/questions/365847/… yang pada dasarnya mengatakan itu tergantung pada pengguna untuk menentukannya. Tidak yakin apa "hal-hal lain" itu :) Pendapat mungkin berbeda, tapi saya pikir 1 skrip python parameter adalah sedikit lebih bersih daripada 2 skrip bash.
g33kz0r

1
ini tentang perubahan teks pendek yang dapat dibaca Saya sarankan perl perl -pi -e 's/(FontName.*)(\d+)/$1.($2+2)/e' ~/.config/xfce4/terminal/terminalrcdaripada mengutak-atik bash
Hachi

1
Keren, berdasarkan ini, saya membuat tiga metode yang saya tambahkan di file ~ / .bash_aliases saya: zi, zo dan z, yang masing-masing mengambil argumen pertama baik langkah untuk memperbesar (zi dan zo), atau ukuran font tujuan (z) : gist.github.com/samuell/107a498821c88426fa5a . Jadi, untuk mengatur ukuran teks menjadi 12, saya akan lakukan z 12, dan untuk memperbesar satu langkah, saya akan lakukan zi 1.
Samuel Lampa

4

Pembaruan: pada komit ini , mengubah ukuran sekarang didukung dengan Ctrl +dan Ctrl -, yang menghapus pertanyaan saya.

Jawaban lain di utas ini masih berharga jika Anda menggunakan versi yang lebih lama xfce4-terminal.


1
Pada keyboard en_US, Anda perlu Ctrl+ Shift+ =untuk menjadi lebih besar dan Ctrl+ -untuk menjadi lebih kecil. Tidak Ctrl+ =atau Ctrl+ Shift+ tidak -akan berfungsi, tidak akan tombol +dan -, yang terlalu buruk.
Adam Katz

3

Pintasan yang Anda sebutkan adalah untuk gnome-terminal, terminal default yang digunakan oleh gnome (dan, selanjutnya, oleh Ubuntu standar). XFCE, yang merupakan lingkungan utama di Xubuntu, memiliki implementasi terminal sendiri. Namun, sejauh yang saya tahu, tidak mungkin di terminal xfce4 untuk mengubah ukuran font dengan cara pintas (Anda dapat melihat daftar cara pintas yang mungkin ketika Anda pergi ke Edit-> Preferences-> Shortcuts).

Jika Anda mengandalkan fitur ini, Anda dapat menginstal gnome-terminal, tetapi karena seluruh titik penggunaan XFCE sering tidak melibatkan pustaka Gnome yang agak berat, ini mungkin sedikit tidak produktif.


Terima kasih atas jawabannya. Betapa mengecewakannya! :(
John Feminella

Yah, XFCE seharusnya ramping dan cepat, jadi tentu saja mereka harus menyerah pada fitur.
Januari

@ Januari Saya pikir jawaban Anda menjual pertanyaan ini agak pendek, silakan lihat jawaban saya di bawah ini.
g33kz0r

@ g33kz0r nah, starlocke (jawaban yang diterima) sudah menjadi kasus yang bagus.
Januari

@ January, baik yang diposting setelah jawaban saya :)
g33kz0r

1

ini adalah mungkin, meskipun tidak melalui xfce4 yang tepat, menggunakan solusi ini:

https://github.com/noah/xfce4-terminal-font

(membutuhkan python).

Saya menggunakannya di window manager yang luar biasa seperti ini:

awful.key({ "Control", "Shift" }, "Up", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font +", false)end),
awful.key({ "Control", "Shift" }, "Down", function () awful.util.spawn(script_dir .. "/xfce4-terminal-font -", false)end),

Ini sedikit hack, tetapi berhasil.


Ini memiliki kelemahan yang sama dengan jawaban dari @starlocke (yang juga menyebutkan bahwa itu adalah solusi Nuh): itu menciptakan cara pintas manajer jendela, bukan cara pintas terminal. Karena ctrl-shift-up atau ctrl-shift-down adalah kombinasi tombol yang cukup umum (belum lagi ctrl + dan ctrl yang lebih umum - pintasan yang digunakan untuk mengubah ukuran font misalnya di gnome-terminal), itu mungkin mengarah pada tabrakan jalan pintas dan / atau kurangnya konsistensi.
Januari

Semua benar ... tapi saya tidak berpikir tabrakan adalah masalah besar - jika itu bertabrakan, ubah saja pintasannya ... Saya juga akan mencatat bahwa OP tidak meminta pintasan terminal - ia hanya bertanya secara umum bagaimana untuk melakukannya - dan jawaban Anda bahwa "tidak mungkin di terminal xfce4 untuk mengubah ukuran font dengan cara pintas" tidak akurat.
g33kz0r

1

Sementara sisa jawaban di sini mengharuskan Anda untuk membuat beberapa jenis 'peretasan' menggunakan skrip khusus, yang mungkin atau mungkin tidak terputus ketika melakukan pemutakhiran ke sistem Anda, jawaban aktual / lainnya ditemukan dalam pertanyaan StackOverflow di sini:

Bisakah vim memperbesar dan memperkecil?

Oleh pengguna: Chenming Zhang

Edit > Preferences > Appearance

Anda akan melihat opsi: Font

Yang berisi font yang dipilih dan ukuran font-teks.

Saya tahu bahwa Anda mencari 'jalan pintas', tetapi semua opsi lain tampaknya membutuhkan banyak penyesuaian, sedangkan rute ini akan memastikan bahwa Anda tidak mengacaukan Terminal Anda dengan penyesuaian apa pun.

Jawaban ini juga diposting di sini untuk siapa saja yang membutuhkan opsi alternatif ctrl +-untuk memperbesar / memperkecil.


0

Script berikut memeriksa apakah Xfce4 Terminal berjalan. Jika tidak, skrip keluar. Script ini menggunakan argumen, script-name --inuntuk memperbesar danscript-name --out memperkecil. Ini akan berfungsi untuk semua jenis font. (Jenis font berbeda memiliki jumlah kata yang berbeda.)

Saya menamai zoom terminal script saya, dan saya menggunakan Ctrl Alt +untuk terminal-zoom --indan Ctrl Alt -untuk terminal-zoom --out.

#!/bin/bash

# Check if Xfce4 Terminal is running. If it is not, exit.
status=$(pgrep xfce4-terminal)

if [ -z "$status" ]; then
    notify-send "No Xfce4 Terminal session is open."
    exit 1
fi

# 1. Get the full line. 2. Get the entire line minus font size. 3. Get only font size. 
line=$(grep "FontName" ~/.config/xfce4/terminal/terminalrc)
font_name=$(echo "$line" | sed s/'\w*$'//)
font_size=$(echo "$line" | grep -oE '[^ ]+$')

# Increase or decrease font size. You might want to change this to increase and decrease by two.
if [ "$1" = "--in" ]; then
    new_size=$((font_size + 1))
elif [ "$1" = "--out" ]; then
    new_size=$((font_size - 1))
else
    notify-send "Argument options: --in --out"
    exit 1
fi

# Replace the line with the new font size.
action='s/'$font_name$font_size'/'$font_name$new_size'/'
sed -i "$action" ~/.config/xfce4/terminal/terminalrc

# Show the new current font being used.
notify-send -t 200 "$new_size pt font"

0

Saat ini tidak ada pintasan zoom yang ditawarkan oleh xfce-term. Pertimbangkan Terminator, yang ringan pada dependensi (tidak seperti istilah Gnome) dan menawarkan zoom-in dan out melalui CTRL + SHIFT + "+"


0

Ini utas lama tetapi ingin tahu bagaimana orang lain melakukan ini. Saya menggunakan i3-wm dan menulis skrip ini untuk digunakan dengannya

#!/bin/bash

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC

Saya memperbaikinya dengan melihat skrip oleh orang lain di sini

#!/bin/bash

#Check if xfce4-terminal is running, If not exit.
Status=$(pgrep xfce4-terminal)
if [ -z "$Status" ] 
    then
        exit 1
fi

TRC=~/.config/xfce4/terminal/terminalrc
OldLine=$(grep FontName $TRC)
FontSize=$(echo $OldLine |sed 's/FontName=.* \([[:digit:]]\+\)/\1/g')
OldFont=$(echo $OldLine | sed 's/\(FontName=.*\) [[:digit:]]\+/\1/g')

if [ "$1" == "in" ] 
    then
        FontSize=$((FontSize+1))
fi

if [ "$1" == "out" ]
    then
        FontSize=$((FontSize-1))
fi

if [ "$1" == "reset" ]
    then
        FontSize=11
fi

NewLine="$OldFont $FontSize"
sed -i "s/$OldLine/$NewLine/g" $TRC
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.