Kann ich das Panel in XFCE 4.10 mit einem Tastendruck einblenden, anstatt mit dem Mauszeiger darüber zu schweben?


17

Ich möchte das XFCE-Bedienfeld durch Drücken einer Taste einblenden können, anstatt den Mauszeiger am Rand des Bildschirms zu platzieren.

Ich verwende Xubuntu 12.04, habe aber ein Update auf XFCE 4.10


hmmm .. Ich denke, ich könnte mir etwas einfallen lassen, das Ihre Maus bei einem Tastendruck dorthin bewegt . Würde das tun was du willst?
Seth

@iSeth - wenn nichts besseres möglich ist dann ja. Aber optimalerweise möchte ich in der Lage sein, eine Taste zu drücken und das Panel zu sehen, unabhängig davon, wo sich der Cursor befindet ...
Borsook

Antworten:


10

Nehmen Sie die folgenden Befehle und binden Sie sie an separate Super-Tastenkombinationen:

Befehle für 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

Update: 12/09/2018 : Wie in den Kommentaren erwähnt, werden die oben genannten Befehle nicht mehr unterstützt.

Befehle für Xfce 4.12 und neuere Versionen:

Die folgenden Befehle werden jetzt verwendet, um die Eigenschaften für das automatische Ausblenden festzulegen:

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

Befehlswerte:

Der Wert '0' wird für das automatische Ausblenden von 'Niemals' verwendet . Der Wert "1" dient zum "intelligenten" automatischen Ausblenden des Bedienfelds, und "2" wird verwendet, um den Wert auf "immer" für das automatische Ausblenden festzulegen.

Festlegen der Schlüsselbindungen:

Dies können Sie entweder über das Menü Anwendungen -> Einstellungen -> Tastatur -> Anwendungsverknüpfungen oder über xfce4-keyboard-settingsdie Befehlszeile ( Ctrl- Alt- t) ausführen .

Ich habe den ersten Befehl an Super- gebunden u(um das Bedienfeld einzublenden). Für den zweiten Befehl binde ich Super- h(um das Panel zu "verstecken").

Wie Sie in den obigen Befehlen sehen können, wird das Verhalten nur in einem einzelnen Bereich geändert (in diesem Fall wird Bereich-0 geändert).

Möglicherweise stellen Sie eine leichte Verzögerung fest, während das Bedienfeld den Status ändert.

Quelle . Weitere Details zum xfconfBefehl finden Sie hier .


Hmmm, ich habe das versucht und einen xconf command not foundFehler bekommen. Welche Xfce-Version verwenden Sie?
Seth

1
@iSeth Der Befehl lautet xfconf, nicht xconf. ;-) Der Befehl ist seit xfce 4.6 verfügbar. Ich starte xfce 4.10 von diesem PPA ppa.launchpad.net/xubuntu-dev/xfce-4.10/ubuntu
Kevin Bowen

Ah, du hast Recht. Funktioniert jetzt. +1
Seth

4
Sie können auch die toggleOption in Xfce 4.10 verwenden und nur einen einzelnen Befehl an eine Taste binden: iexfconf-query -c xfce4-panel -p /panels/panel-0/autohide -T

3
Nur um auf die spätere Version von xfce4-panel zu aktualisieren. Das neueste xfce4-panel verfügt nicht über die Eigenschaft 'autohide'. Stattdessen gibt es 'Autohide-Verhalten' und keinen Booleschen Wert mehr, sondern einen numerischen Wert von 0, 1 oder 2. 0: Niemals verstecken, 1: Intelligentes Verstecken, 2: Immer verstecken. Um das gleiche Ergebnis zu erzielen, können Sie xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 0und verwenden xfconf-query -c xfce4-panel -p /panels/panel-0/autohide-behavior -s 2.
Richard Wong

4

Versuchen Sie diese Problemumgehung:

Installieren xteund xdotoolmitsudo apt-get install xdotool xautomation

Mit können xdotoolSie die x, y-Koordinaten der Maus ermitteln. Öffnen Sie einen Terminaltyp, xdotool getmouselocationbewegen Sie die Maus an eine Stelle, an der das Bedienfeld aktiviert wird, und drücken Sie die Eingabetaste. Sie erhalten eine Ausgabe wie:

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

Wichtig ist hier x:1282 y:1079:, was uns die x, y Koordinaten der Maus gibt.

Jetzt tippe xte 'mousemove 1282 1079'(ersetze 1282 1079mit den Koordinaten, die du vorher bekommen hast). Das sollte die Maus bewegen, wo Sie wollen.

Mit können Sie xbindkeysdiesen Befehl an eine Taste auf der Tastatur binden. Ich kann auf Anfrage Anweisungen hinzufügen oder Sie können sie in den Tastatureinstellungen von Xubuntu festlegen.


2

Bearbeiten:

@JQuigley wies darauf hin, "Das funktioniert nicht mehr ..." siehe Kommentare.


Wie Kevin sagte, können Sie xfconf verwenden, aber ich würde es so machen:

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

Das -Tschaltet den True / False-Wert um. Auf diese Weise können Sie mit derselben Taste ein- und ausblenden.

Um weitere Optionen zu erhalten, gehen Sie wie folgt vor:

xfconf-query --help

Ich wollte die Antwort von Kevin kommentieren, da es mich auf den richtigen Weg gebracht hat. Aber ich bin neu hier, nicht genug Ruf ..


Das funktioniert leider nicht mehr; Die Eigenschaft autohide scheint durch autohide-behaviour ersetzt worden zu sein. Hierbei handelt es sich um eine Ganzzahl, die 0, 1 oder 2 sein kann. Der Zwei-Schlüssel-Ansatz funktioniert jedoch weiterhin. Ich stelle mir auch vor, dass jemand ein kleines Umschalt-Skript schreiben könnte, um den Status in einer Datei oder so zu speichern und eine Ein-Schlüssel-Strategie wieder funktionieren zu lassen.
J Quigley

@JQuigley oh, danke für den Hinweis. Ich bin nicht mehr auf XFCE ... Wenn das der Fall ist, würde ich mit einem Skript den aktuellen Wert lesen und entsprechend ändern (externe Datei ist fehleranfällig).
fede s.

2

Das obige Skript von topisani funktioniert immer noch gut in xfce 4.12. Sie können das Zielfenster ändern, indem Sie panel-0im Skript auf panel-1oder panel-2usw. wechseln. Vergessen Sie nicht, dass zwei Zeilen geändert werden müssen.


1

Ich weiß, dass ich ein paar Jahre zu spät zur Party komme, aber nur für alle, die das in Zukunft vielleicht sehen: Hier ist ein Bash-Skript, das das automatische Ausblenden im neuen System umschaltet. Einfach in einer Textdatei speichern, ausführen chmod +x file/that/i/savedund loslegen Setzen Sie das Skript auf einen Schlüssel in Einstellungen -> Tastatur -> Verknüpfungen.

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

BEARBEITEN:

In einem Kommentar wurde darauf hingewiesen, dass die Eigenschaft autohide in etwas anderes geändert wurde und -T mit der neuen Eigenschaft nicht funktioniert: /


Während ich damit herumalbern wollte, erstellte ich ein kleines Rubinskript, um alle Bedienfelder gleichzeitig umzuschalten. Es scheint zu funktionieren.

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

Es ist wahrscheinlich nicht der beste Weg, es zu tun, und ich weiß nicht wirklich viel über Rubin, also zögern Sie nicht, mich ins Feuer zu werfen! : P

Wenn jemand es benutzen möchte:

  1. Stellen Sie sicher, dass Ruby installiert ist.

  2. Kopieren Sie es in eine Datei, wo immer Sie es für richtig halten (ich habe meine als ~/scripts/xfce/toogleautohide.rb).

  3. Mach es ausführbar

    chmod +x path/to/your/script
    
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.