Como muitas coisas, não existe tanto quanto eu sei, MAS , isso pode ser feito com um pouco de criatividade e com as ferramentas certas.
Comoissopodeserfeito
Supondoquevocêestejano14.04(compython3),vocêpodeusarumscriptpararodaremsegundoplano,quemonitorasuaviewportatualedefineoativadorparaocultarautomaticamenteounão,dependendodaviewportatual.
Oquevocêprecisafazerprimeiroéinstalar
wmctrl
:sudoapt-getinstallwmctrl
Precisamosde
wmctrl
paraobterinformaçõessobreotamanhototaldetodasasviewportseparapoderlerinformaçõessobreaseçãoatualemqueestamos.Umavezfeitoisso,copieoscriptabaixoemumarquivovazioeproteja-ocomo
autohide_launcher.py
(mantenhaonomeassim)etorne-oexecutável(!).Nalinha
hide_launcher
,decidaporviewportsquevocêdesejaocultarautomaticamenteoativador(defina"True") e use o número correto de entradas, correspondente ao seu número de viewports. A lista lê por linha de viewport, da esquerda para a direita.
#!/usr/bin/env python3
import subprocess
import time
# set the hide-launcher values for your viewports; in rows/columns
hide_launcher = (False, True, True, True)
# don't change anything below (or it must be the time.sleep(2) interval)
key = " org.compiz.unityshell:/org/compiz/profiles/unity/plugins/unityshell/ "
pr_get = "gsettings get "; pr_set = "gsettings set "
check = pr_get+key+"launcher-hide-mode"
hide = pr_set+key+"launcher-hide-mode 1"
show = pr_set+key+"launcher-hide-mode 0"
def get_value(command):
return subprocess.check_output(
["/bin/bash", "-c", command]).decode('utf-8').strip()
# get screen resolution
output = get_value("xrandr").split(); idf = output.index("current")
screen_res = (int(output[idf+1]), int(output[idf+3].replace(",", "")))
while True:
# get total span size all viewports, position data
wsp_info = get_value("wmctrl -d").strip()
scr_data = [item.split("x") for item in wsp_info.split(" ") if "x" in item][0]
# get current position (viewport coordinates)
VP = eval(wsp_info[wsp_info.find("VP: "):].split(" ")[1])
# calculated viewports rows / columns
VP_hor = int(scr_data[0])/int(screen_res[0])
VP_vert = int(scr_data[1])/int(screen_res[1])
# calculated viewport positions
range_hor = [i*screen_res[0] for i in range(int(VP_hor))]
range_vert = [i*screen_res[1] for i in range(int(VP_vert))]
viewports = [(h, range_vert[i])for i in range(len(range_vert)) for h in range_hor]
current_viewport = viewports.index(VP); a_hide = get_value(check)
if (hide_launcher[current_viewport], a_hide == "0") == (True, True):
subprocess.Popen(["/bin/bash", "-c", hide])
elif (hide_launcher[current_viewport], a_hide == "0") == (False, False):
subprocess.Popen(["/bin/bash", "-c", show])
else:
pass
time.sleep(1)
-
Você pode iniciar o script pelo comando:
/path/to/autohide_launcher.py
Alternar autohide por visualização em / de
No entanto, é mais conveniente usar o script abaixo para ter um comando para ativar / desativar o script.
Copie o script abaixo em um arquivo vazio e salve-o como start_stop.py
, em uma única e mesma pasta como o script autohide_launcher.py
. Torne-o executável também (!). Agora você pode alternar a função autohide com o comando
/path/to/start_stop.py
O script de início / parada:
#!/usr/bin/env python3
import os
import subprocess
script_dir = os.path.dirname(os.path.abspath(__file__))
cmd = "ps -ef | grep autohide_launcher.py"
run = subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").split("\n")
match = [line for line in run if script_dir+"/"+"autohide_launcher.py" in line]
if len(match) != 0:
subprocess.Popen(["kill", match[0].split()[1]])
subprocess.Popen(["notify-send", "autohide per viewport stopped..."])
else:
subprocess.Popen(["/bin/bash", "-c", script_dir+"/"+"autohide_launcher.py"])
subprocess.Popen(["notify-send", "autohide per viewport started..."])
Formasalternativasparainiciaroupararoscript
Existemváriasoutrasmaneirasdealternaroscriptdeumamaneiraconveniente:
Adicioneoscriptàssuasapoplicaçõesdeinicialização
Sevocêquiserpermanentementeexecutaroscriptemsegundoplano:
- Abraosaplicativosdeinicializaçãoeescolha"Adicionar".
-
Adicione o comando:
/path/to/autohide_launcher.py
-
Dê um nome ao seu gosto
Defina um atalho de teclado para alternar o script
- Abra as configurações do sistema e escolha: "Teclado" > "Atalhos" > "Atalhos personalizados".
-
Crie um novo atalho à sua escolha, com o comando:
/path/to/start_stop.py
Agora você pode alternar o autohide por visualização com a combinação de teclas.
publicado em gist.gisthub