Nonaktifkan scrollbar pada bingkai baru


10

Saya ingin memastikan bahwa scrollbar tidak pernah muncul di windows saya, tetapi saya baru-baru ini memperhatikan bahwa ketika saya membuat bingkai baru dengan C-x 5 2bingkai baru mendapat scrollbar, meskipun bingkai aslinya tidak. Baris yang mungkin relevan dari saya init.eladalah di bawah ini:

(scroll-bar-mode -1)
(if (fboundp 'scroll-bar-mode) (scroll-bar-mode -1))
(if (fboundp 'tool-bar-mode) (tool-bar-mode -1))
(if (fboundp 'menu-bar-mode) (menu-bar-mode -1))

Saya masih bisa menggunakannya M-x toggle-scroll-baruntuk mematikannya di bingkai baru, tapi saya merasa itu tidak perlu.

Untuk memperjelas, saya menggunakan emacsclient -c &untuk memulai Emacs di Ubuntu, dan ketika saya melakukan ini saya mendapatkan scroll bar. C-h v scroll-bar-modememberi saya:

scroll-bar-mode is a variable defined in `scroll-bar.el'.
Its value is nil
Original value was right

Documentation:
Specify whether to have vertical scroll bars, and on which side.
Possible values are nil (no scroll bars), `left' (scroll bars on left)
and `right' (scroll bars on right).
To set this variable in a Lisp program, use `set-scroll-bar-mode'
to make it take real effect.
Setting the variable with a customization buffer also takes effect.

You can customize this variable.

Jadi nilai scroll-bar-modediatur dengan benar nil, tapi entah bagaimana Emacs mengabaikan ini untuk memberi saya bilah gulir.

Jawaban:


8

Saya juga mengalami masalah ini, sampai saya menambahkan kode berikut. (Saya yakin saya menemukan cuplikan di Stack Exchange, tapi maaf saya tidak ingat penulisnya.)

(defun my/disable-scroll-bars (frame)
  (modify-frame-parameters frame
                           '((vertical-scroll-bars . nil)
                             (horizontal-scroll-bars . nil))))
(add-hook 'after-make-frame-functions 'my/disable-scroll-bars)

3

Anda dapat menyesuaikan parameter bingkai di default-frame-alistuntuk memberi tahu Emacs bahwa Anda tidak ingin bilah gulir. Tambahkan berikut ini ke file init Anda:

(add-to-list 'default-frame-alist
             '(vertical-scroll-bars . nil))

Saya merasa itu seharusnya berhasil, tetapi ternyata tidak. Masih mendapatkan bilah gulir, tetapi hanya pada bingkai kedua.
Ryan

@Ryan: aneh! Di atas bekerja untuk saya. Satu-satunya hal lain dalam file init saya yang mungkin relevan adalah yang lama (toggle-scroll-bar -1)yang belum saya hapus. Anda bisa mencoba menambahkan itu juga, tetapi lebih dari itu, saya tidak bisa menebak.
Dan

Oke, itu benar-benar berfungsi pada Ubuntu, tetapi tidak pada Windows. Lain kali saya di sisi Windows saya akan memeriksa (toggle-scroll-bar).
Ryan

Sekarang saya bahkan tidak tahu harus berpikir apa. Reboot, dan sekarang tidak berfungsi di Ubuntu. Setiap bingkai baru dibuat dengan bilah gulir, dan saya harus M-x toggle-scroll-barmenyingkirkannya.
Ryan

Ya, MS Windows khusus dalam hal ini. Selain itu, saya akan merekomendasikan opsi penyesuaian default-frame-alist . Ada alasannya itu opsi pengguna.
Drew

1

Tidak semua orang ingin menggunakan kustomisasi, tetapi menggunakannya untuk menonaktifkan scrollbar membuat masalah menghilang. Variabel yang Anda inginkan adalah: scroll-bar-modedan horizontal-scroll-bar-mode.

Jika tidak menggunakan file khusus, kustomisasi masih dapat digunakan dengan meletakkannya di init Anda:

;; disable scrollbars
(customize-set-variable 'scroll-bar-mode nil)
(customize-set-variable 'horizontal-scroll-bar-mode nil)

Itu sudah cukup untuk menonaktifkan semua dan semua scrollbar dalam jenis bingkai apa pun.

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.