Para fazer exatamente o que você descreve, é necessário um script
Não foi possível resistir a postar uma resposta ...
Para criar um arquivo, com a data atual como um título e como um cabeçalho dentro, seria necessário uma ou duas linhas. No entanto, se você quiser:
- impede que o arquivo seja sobrescrito se você executar o comando acidentalmente
- abra o arquivo com o gedit
- espere a janela aparecer e, em seguida, mova-a e redimensione-a
... vai demorar mais algumas linhas do que isso.
O script abaixo irá:
- crie um novo arquivo, em um diretório arbitrário, nomeado após a data atual, somente , se ainda não existir. Você não gostaria de sobrescrevê-lo.
-
adicione a data atual ao arquivo, como:
Workplan 12-12-12
-
abra o arquivo com
gedit
, espere a janela aparecer (!), mova a janela para o canto superior esquerdo, redimensione para 50% (largura), 100% (altura)
O script
#!/usr/bin/env python3
import time
import subprocess
import os
import time
# --- add the absolute path to the directory where you'd like to store the Workplans
filedir = "/home/jacob"
# ---
curr = "Workplan "+time.strftime("%d-%m-%Y"); out = curr+".txt"
file = os.path.join(filedir, out)
# check for the file to exist (you wouldn't overwrite it)
if not os.path.exists(file):
# write "Workplan" + date to the file
open(file, "wt").write(curr)
# open the file with gedit
subprocess.Popen(["gedit", file])
# wait for the window to appear, move/resize it
t = 0
while t < 20:
t += 1; time.sleep(1)
wlist = subprocess.check_output(["wmctrl", "-l"]).decode("utf-8")
if out in wlist:
w = [l.split()[0] for l in wlist.splitlines() if out in l][0]
for cmd in [["xdotool", "windowmove", w, "0", "0"],
["xdotool", "windowsize", w, "47%", "100%"]]:
subprocess.call(cmd)
break
Como usar
-
O script precisa dos dois
xdotool
ewmctrl
:sudo apt-get install xdotool wmctrl
- Copie o script em um arquivo vazio, salve-o como
workplan
(sem extensão!) em~/bin
. Crie~/bin
se ainda não existir. Torne o script executável . -
Na cabeça do script, defina o caminho (absoluto!) para onde você gostaria de armazenar seus planos de trabalho:
# --- set the abs. path to where you'd like to store the "Workplans" filedir = "/home/jacob/Bureaublad" # ---
-
Efetue logout e volte, execute o comando simplesmente por:
workplan
Explicação
-
Para criar um arquivo em python, podemos simplesmente usar:
open("file", "wt").write("sometext")
-
para o mover e redimensionar , no entanto, precisamos esperar que a janela apareça verificando se a janela aparece na saída do comando:
wmctrl -l
no script:
while t < 20: t += 1; time.sleep(1) wlist = subprocess.check_output(["wmctrl", "-l"]).decode("utf-8") if out in wlist:
-
Depois que a janela entrou em vigor, dividimos o id da janela (primeira string nas linhas na saída de
wmctrl -l
), movemos a janela para o canto superior esquerdo e redimensionamos:w = [l.split()[0] for l in wlist.splitlines() if curr in l][0] for cmd in [["xdotool", "windowmove", w, "0", "0"], ["xdotool", "windowsize", w, "47%", "100%"]]: subprocess.call(cmd) break