Dapatkah saya memperlihatkan panel di XFCE 4.10 menggunakan penekanan tombol daripada menggunakan kursor mouse untuk mengungkapkannya?

17

Saya ingin dapat menyembunyikan panel XFCE dengan menekan tombol alih-alih menempatkan kursor mouse di tepi layar.

Saya menjalankan Xubuntu 12.04 tetapi diperbarui ke XFCE 4.10

Borsook
sumber
hmmm .. Saya pikir saya bisa membuat sesuatu yang bisa menggerakkan mouse Anda ke sana dengan menekan tombol. Apakah itu akan melakukan apa yang Anda inginkan?
Seth
@ iSeth - jika tidak ada yang lebih baik mungkin maka ya. Tetapi secara optimal saya ingin dapat menekan tombol dan melihat panel terlepas dari di mana kursor berada ...
Borsook

Jawaban:

10

Ambil perintah berikut dan ikat untuk memisahkan kombinasi tombol-Super:

Perintah untuk Xfce 4.10:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s false
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -s true

Pembaruan: 12/09/2018 : Seperti yang disebutkan dalam komentar, perintah di atas tidak lagi didukung.

Perintah untuk Xfce 4.12 dan versi yang lebih baru:

Perintah berikut sekarang digunakan untuk mengatur properti sembunyikan otomatis:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 1 
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2

Nilai Perintah:

Nilai '0' digunakan untuk 'tidak pernah' sembunyikan otomatis. Nilai '1' adalah untuk 'cerdas' menyembunyikan panel secara otomatis, dan '2' digunakan untuk mengatur nilai menjadi 'selalu' sembunyikan otomatis.

Mengatur ikatan-kunci:

Ini dapat dilakukan dengan memilih, Menu Aplikasi -> Pengaturan -> Keyboard -> Pintasan Aplikasi, atau dengan menjalankan xfce4-keyboard-settingsdari baris perintah ( Ctrl- Alt- t).

Saya telah mengikat perintah pertama untuk Super- u(untuk 'menyembunyikan' panel). Untuk perintah kedua, saya mengikat Super- h(untuk 'menyembunyikan' panel).

Seperti yang Anda lihat pada perintah di atas, perilaku hanya diubah pada panel tunggal (Dalam hal ini, panel-0 sedang dimodifikasi).

Anda mungkin melihat sedikit keterlambatan saat panel berubah status.

Sumber . Rincian lebih lanjut tentang xfconfperintah ini dapat ditemukan di sini .

Kevin Bowen
sumber
Hmmm, saya mencobanya dan mendapat xconf command not foundkesalahan. Versi Xfce apa yang Anda gunakan?
Seth
1
@ iSeth Perintahnya adalah xfconf, bukan xconf. ;-) Perintah telah tersedia sejak xfce 4.6. Saya menjalankan xfce 4.10 dari PPA ini ppa.launchpad.net/xubuntu-dev/xfce-4.10/ubuntu
Kevin Bowen
Ah, benar juga. Bekerja sekarang. +1
Seth
4
Anda juga dapat menggunakan toggleopsi di Xfce 4.10 dan hanya mengikat satu perintah ke satu kunci: yaituxfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T
3
Hanya untuk memperbarui versi panel xfce4 yang lebih baru. Panel xfce4 terbaru tidak memiliki properti 'autohide'. Alih-alih ada 'perilaku autohide' dan bukan lagi boolean, tetapi nilai numerik 0, 1, atau 2. 0: tidak pernah disembunyikan, 1: pandai disembunyikan, 2: selalu disembunyikan. Untuk mencapai hasil yang sama, Anda dapat menggunakan xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0dan xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2.
Richard Wong,
4

Coba solusi ini:

Instal xtedan xdotooldengansudo apt-get install xdotool xautomation

Anda dapat menggunakan xdotooluntuk menemukan koordinat x, y dari mouse. Buka tipe terminal xdotool getmouselocationlalu gerakkan mouse ke suatu tempat di mana ia akan mengaktifkan panel dan tekan enter. Anda akan mendapatkan beberapa output seperti:

findclient: 62914741
findclient: 6291474  
x:1282 y:1079 screen:0 window:62914741  

Yang penting di sini adalah x:1282 y:1079:, yang memberi kita koordinat x, y dari mouse.

Sekarang ketik xte 'mousemove 1282 1079'(ganti 1282 1079dengan koordinat yang Anda dapatkan sebelumnya). Itu harus memindahkan mouse ke tempat yang Anda inginkan.

Anda dapat menggunakan xbindkeysuntuk mengikat perintah ini ke tombol di keyboard. Saya dapat menambahkan instruksi berdasarkan permintaan atau Anda dapat mengaturnya di pengaturan keyboard Xubuntu.

Seth
sumber
2

Edit:

@JQuigley menunjukkan "Ini tidak lagi berfungsi ..." lihat komentar.


Seperti yang dikatakan Kevin, Anda dapat menggunakan xfconf, tetapi saya akan melakukannya dengan cara ini:

xfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

The -Tmatikan true / false. Dengan cara ini, Anda dapat menggunakan kunci yang sama untuk menyembunyikan / menyembunyikan.

Untuk mendapatkan lebih banyak opsi, lakukan:

xfconf-query --help

Saya ingin membuat komentar untuk jawaban dari Kevin, karena itulah yang membuat saya di jalur yang benar. Tapi saya baru di sini, tidak cukup reputasi ..

fede s.
sumber
Sayangnya ini tidak lagi berfungsi; properti autohide tampaknya telah diganti dengan perilaku autohide, yang merupakan bilangan bulat yang bisa 0, 1, atau 2. Tetapi pendekatan dua kunci masih berfungsi. Saya juga membayangkan seseorang dapat menulis sedikit toggle script untuk menyimpan keadaan dalam file atau sesuatu dan memungkinkan strategi satu-kunci untuk bekerja lagi.
J Quigley
@JQuigley oh, terima kasih telah menunjukkannya. Saya tidak menggunakan xfce lagi ... Jika itu masalahnya saya akan pergi dengan skrip untuk membaca nilai saat ini dan mengubahnya sesuai (file eksternal rentan terhadap kesalahan).
fede s.
2

Script topisani di atas masih berfungsi dengan baik di xfce 4.12. Anda dapat mengubah panel target dengan mengubah panel-0skrip ke panel-1atau panel-2dll. Jangan lupa bahwa ada dua baris untuk diubah.

eylem akcay
sumber
1

Saya tahu saya terlambat beberapa tahun ke pesta, tetapi hanya untuk siapa saja yang mungkin melihat ini di masa depan: Ini adalah skrip bash yang mengaktifkan autohide dalam sistem baru, cukup simpan ini dalam file teks di suatu tempat, jalankan chmod +x file/that/i/saveddan atur skrip ke tombol di Pengaturan -> Keyboard -> Pintasan.

#!/bin/bash

cur=$(xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior)
if [[ cur -eq 0 ]]; then
  nxt=1
else
  nxt=0
fi
xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s $nxt
topisani
sumber
0

EDIT:

Telah ditunjukkan dalam komentar bahwa properti autohide telah diubah menjadi sesuatu yang lain, dan -T tidak bekerja dengan yang baru: /


Jadi, ketika saya bermain-main dengan ini, saya membuat skrip ruby ​​kecil untuk mengaktifkan semua panel secara bersamaan. Tampaknya berhasil.

#!/usr/bin/env ruby

#Toggle all panels' autohide property in xfce4
# fede s.
out = `xfconf-query -c xfce4-panel -l`.split
out.inject(Array.new) {|res, val|
    m= /panel-([0-9]+)/.match(val);                 #get the panel numbers
    if m then res.push(m[1]) end;                   #add only if it matches
    res}.sort.uniq.each do                          #filter duplicates
        | num |
            `xfconf-query -c xfce4-panel -p /panels/panel-#{num}/autohide -T` #here is the command that will repeat for every panel found
    end

Itu mungkin bukan cara terbaik untuk melakukannya, dan saya tidak benar-benar tahu banyak tentang ruby, jadi silakan melemparkan saya ke dalam api! : P

Jika Seseorang ingin menggunakannya:

  1. pastikan kamu sudah menginstal ruby.

  2. salin ke file di mana pun Anda mau (saya punya milik saya ~/scripts/xfce/toogleautohide.rb).

  3. Jadikan itu dapat dieksekusi

    chmod +x path/to/your/script
    
fede s.
sumber