Tôi có thể bỏ ẩn bảng điều khiển trong XFCE 4.10 bằng cách bấm phím thay vì sử dụng con trỏ chuột để di chuột không?


17

Tôi muốn có thể bỏ ẩn bảng XFCE bằng cách nhấn một phím thay vì đặt con trỏ chuột ở cạnh màn hình.

Tôi đang chạy Xubfox 12.04 nhưng được cập nhật lên XFCE 4.10


hmmm .. tôi nghĩ rằng tôi có thể nghĩ ra thứ gì đó sẽ di chuyển con chuột của bạn đến đó bằng cách nhấn phím. Điều đó sẽ làm những gì bạn muốn?
Seth

@iSeth - nếu không có gì tốt hơn là có thể thì có. Nhưng tối ưu tôi muốn có thể bấm một phím và xem bảng điều khiển bất kể con trỏ ở đâu ...
Borsook

Câu trả lời:


10

Thực hiện các lệnh sau và liên kết chúng với các tổ hợp Super-key riêng biệt:

Các lệnh cho 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

Cập nhật: 12/09/2018 : Như đã đề cập trong các bình luận, các lệnh trên không còn được hỗ trợ.

Các lệnh cho Xfce 4.12 và các phiên bản mới hơn:

Các lệnh sau hiện được sử dụng để đặt thuộc tính tự động ẩn:

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

Giá trị lệnh:

Giá trị '0' được sử dụng cho tự động ẩn 'không bao giờ' . Giá trị '1' dành cho ' tự động ẩn bảng điều khiển' và '2' được sử dụng để đặt giá trị thành 'luôn luôn' tự động ẩn.

Đặt các ràng buộc khóa:

Điều này có thể được thực hiện bằng cách chọn, Menu Ứng dụng -> Cài đặt -> Bàn phím -> Phím tắt ứng dụng hoặc bằng cách chạy xfce4-keyboard-settingstừ dòng lệnh ( Ctrl- Alt- t).

Tôi đã ràng buộc lệnh đầu tiên Super- u('bỏ ẩn' bảng điều khiển). Đối với lệnh thứ hai, tôi ràng buộc Super- h(để 'ẩn' bảng điều khiển).

Như bạn có thể thấy trong các lệnh trên, hành vi chỉ được thay đổi trên một bảng duy nhất (Trong trường hợp này, bảng-0 đang được sửa đổi).

Bạn có thể nhận thấy một chút chậm trễ trong khi bảng điều khiển thay đổi trạng thái.

Nguồn . Thông tin chi tiết về xfconflệnh có thể được tìm thấy ở đây .


Hmmm, tôi đã thử điều đó và đã nhận được xconf command not foundlỗi. Bạn sử dụng phiên bản Xfce nào?
Seth

1
@iSeth Lệnh này là xfconfkhông xconf. ;-) Lệnh đã có sẵn kể từ xfce 4.6. Tôi đang chạy xfce 4.10 từ PPA ppa.launchpad.net/xubfox-dev/xfce-4.10/ubfox
Kevin Bowen

À, quyền của bạn. Hoạt động ngay bây giờ. +1
Seth

4
Bạn cũng có thể sử dụng toggletùy chọn trong Xfce 4.10 và chỉ cần liên kết một lệnh duy nhất với một khóa: tức làxfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

3
Chỉ cần cập nhật trên phiên bản sau của bảng xfce4. Bảng điều khiển xfce4 mới nhất không có thuộc tính 'autohide'. Thay vào đó là 'autohide-behavior' và không còn là boolean nữa, mà là một giá trị số 0, 1 hoặc 2. 0: không bao giờ ẩn, 1: ẩn thông minh, 2: luôn ẩn. Để đạt được kết quả tương tự, bạn có thể sử dụng xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2.
Richard Wong

4

Hãy thử cách giải quyết này:

Cài đặt xtexdotoolvớisudo apt-get install xdotool xautomation

Bạn có thể sử dụng xdotoolđể tìm tọa độ x, y của chuột. Mở một loại thiết bị đầu cuối, xdotool getmouselocationsau đó di chuyển chuột đến một nơi mà nó sẽ kích hoạt bảng điều khiển và nhấn enter. Bạn sẽ nhận được một số đầu ra như:

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

Điều quan trọng ở đây là : x:1282 y:1079, cho chúng ta tọa độ x, y của chuột.

Bây giờ gõ xte 'mousemove 1282 1079'(thay thế 1282 1079bằng tọa độ bạn nhận được trước đó). Điều đó sẽ di chuyển chuột đến nơi bạn muốn.

Bạn có thể sử dụng xbindkeysđể liên kết lệnh này với một phím trên bàn phím. Tôi có thể thêm hướng dẫn theo yêu cầu hoặc bạn có thể đặt nó trong cài đặt bàn phím của Xubfox.


2

Biên tập:

@JQuigley chỉ ra "Điều này không còn hoạt động ..." xem bình luận.


Như Kevin đã nói, bạn có thể sử dụng xfconf, nhưng tôi sẽ làm theo cách này:

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

Các -Tgiá trị bật / tắt giá trị đúng / sai. Bằng cách này, bạn có thể sử dụng cùng một khóa để ẩn / bỏ ẩn.

Để có thêm tùy chọn làm:

xfconf-query --help

Tôi muốn đưa ra nhận xét cho câu trả lời từ Kevin, vì đó là điều đã đưa tôi đi đúng hướng. Nhưng tôi mới ở đây, chưa đủ danh tiếng ..


Điều này không còn hoạt động không may; thuộc tính autohide dường như đã được thay thế bằng autohide-behavior, đây là một số nguyên có thể là 0, 1 hoặc 2. Nhưng cách tiếp cận hai khóa vẫn hoạt động. Ngoài ra tôi tưởng tượng một người có thể viết một đoạn chuyển đổi nhỏ nào đó để có thể lưu trữ trạng thái trong một tệp hoặc một cái gì đó và cho phép chiến lược một phím hoạt động trở lại.
J Quigley

@JQuigley oh, cảm ơn vì đã chỉ ra. Tôi không còn trên xfce nữa ... Nếu đó là trường hợp tôi đi với một tập lệnh để đọc giá trị hiện tại và thay đổi nó cho phù hợp (tệp bên ngoài dễ bị lỗi).
fede s.

2

kịch bản của topisani ở trên vẫn hoạt động tốt trong xfce 4.12. Bạn có thể thay đổi bảng điều khiển đích bằng cách thay đổi panel-0tập lệnh thành panel-1hoặc panel-2vv Đừng quên rằng có hai dòng để thay đổi.


1

Tôi biết tôi sẽ đến bữa tiệc muộn vài năm, nhưng chỉ dành cho bất kỳ ai có thể thấy điều này trong tương lai: Đây là một tập lệnh bash để bật autohide trong hệ thống mới, chỉ cần lưu tệp này vào tệp văn bản ở đâu đó, chạy chmod +x file/that/i/savedvà đặt tập lệnh thành một phím trong Cài đặt -> Bàn phím -> Phím tắt.

#!/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

0

BIÊN TẬP:

Nó đã được chỉ ra trong một nhận xét rằng thuộc tính autohide đã được thay đổi thành một thứ khác và -T không hoạt động với cái mới: /


Vì vậy, trong khi tôi đang loay hoay với điều này, tôi đã tạo ra một kịch bản ruby ​​nhỏ để chuyển đổi tất cả các bảng cùng một lúc. Nó dường như làm việc.

#!/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

Đây có lẽ không phải là cách tốt nhất để làm điều đó và tôi thực sự không biết nhiều về ruby, vì vậy hãy thoải mái ném tôi vào lửa! : P

Nếu ai đó muốn sử dụng nó:

  1. hãy chắc chắn rằng bạn đã cài đặt ruby.

  2. sao chép nó vào một tập tin bất cứ nơi nào bạn thấy phù hợp (tôi có của tôi là ~/scripts/xfce/toogleautohide.rb).

  3. Làm cho nó thực thi

    chmod +x path/to/your/script
    
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.