Mostrando data & amp; hora no título da janela ativa
Executando o script abaixo (uma versão editada de este ) em segundo plano, a janela frontal mostrará a data atual & amp; tempo:
Seajanelaperderofoco,ahoranãoseráatualizada;somentenafrentedajanela,otemposeráatualizado.
Oscripttambémmostraadata&tempoporguiaemqualqueraplicativousandoguias,comofirefox
ougnome-terminal
Oscript
#!/usr/bin/env python3
import subprocess
import time
cmd = "xdotool", "getwindowfocus"
get_name = "xdotool", "getactivewindow", "getwindowname"
currtime_1 = time.strftime("%d-%m-%Y %H:%M"); wid_1 = subprocess.check_output(cmd).decode("utf-8").strip()
wname_1 = subprocess.check_output(get_name).decode("utf-8"); wname_1 = wname_1[:wname_1.rfind(" | ")]
while True:
time.sleep(2)
currtime_2 = time.strftime("%d-%m-%Y %H:%M")
try:
wid_2 = subprocess.check_output(cmd).decode("utf-8").strip()
wname_2 = subprocess.check_output(get_name).decode("utf-8"); wname_2 = wname_2[:wname_2.rfind(" | ")]
if any([wid_2 != wid_1, currtime_2 != currtime_1, wname_2 != wname_1]):
cmd2 = ["xdotool", "set_window", "--name", wname_2+" | "+str(currtime_2), wid_2]
subprocess.Popen(cmd2)
currtime_1 = currtime_2; wid_1 = wid_2
except subprocess.CalledProcessError:
pass
Como usar
-
O script usa
xdotool
sudo apt-get install xdotool
-
Copie o script abaixo em um arquivo vazio, salve-o como
show_datetime.py
-
Teste-o pelo comando:
python3 /path/to/show_datetime.py
Abra uma nova janela ou dê um único foco existente. A data & amp; o tempo deve aparecer no título da janela dentro de 1-2 segundos. Espere um minuto para ver se a hora está atualizada.
-
Se tudo funcionar bem, adicione-o aos seus aplicativos de inicialização: Dash > Aplicativos de inicialização > Adicione, adicione o comando:
python3 /path/to/show_datetime.py
-
Se você estiver com dificuldades para executá-lo a partir da inicialização, use o comando (em aplicativos de inicialização):
/bin/bash -c "sleep 20&&python3 /path/to/show_datetime.py"
Explicação
O script fica de olho em três coisas:
- O id da janela da frente
- O nome da janela da frente
- O atual tempo (minuto)
Se houver uma mudança em qualquer uma delas, a data / hora será anexada ou atualizada na janela do momento.
Por que usar o nome e o id da janela?
- A janela id é usada para definir o título da janela, para impedir a configuração da janela errada (por exemplo, janelas de terminal podem receber nomes semelhantes).
- O nome da janela inclui janelas com guias, por exemplo, %código%. A janela nome mudará quando outra aba for escolhida ou aberta, enquanto a janela id não será alterada.
- O condicional
Firefox
é para editar o título da janela somente se houver um motivo para isso.