Puncte:0

Comandă rapidă de la tastatură pentru marca temporală

drapel bm

Pe Ubuntu Mate 20.10 pe un notebook Lenovo T450, am încercat să creez o comandă rapidă de la tastatură cu marca temporală de ceva timp. Intenția este de a putea insera un marcaj de timp în orice fel de fișier ca și cum l-aș fi tastat, indiferent dacă este un fișier text, LibreOffice Write, Calc, desen sau orice alt tip de document.
Cele mai apropiate două întrebări similare cu aceasta sunt:

Urmând sugestiile din primul link, am creat următorul fișier script bash Timestamp.sh:

 #!/bin/bash
 somn 0.3s && data +%Y.%m.%d': '%H.%M.%S

care, atunci când este executat, produce un marcaj temporal formatat conform nevoilor mele și arată astfel:

2021.07.11 : 21.10.26

Acum utilizând aplicația de comandă rapidă de la tastatură în Mate mate-keybinding-proprietăți, și legând scriptul de mai sus la F9 în scopuri de testare, am încercat următoarele:

/home/xak/scripts/Timestamp.sh

xdotool keyup exec /home/xak/scripts/Timestamp.sh

xdotool keyup sleep 0.3s tip „date +%Y.%m.%d” : „%H.%M.%S”

tip xdotool "$(printf 'data\n\e ')"

bash -c 'xdotool tip "`date +"%Y-%m-%d_%T`"'

bash -c 'xdotool type --clearmodifiers -delay 0 "`date +"%Y-%m-%d_%T`"'

Niciuna dintre acestea nu funcționează. Indiferent de cât timp am piratat acest lucru (în vechiul sens pozitiv al hack-ului) sau cât de mult am căutat, nu pot stabili cum să fac acest lucru relativ simplu să funcționeze.

Acum unele dintre lucrurile de mai sus pe care le-am încercat au fost propuse de oameni cu mult mai multă experiență decât mine, dar când le puneți pentru execuție ca comandă rapidă de la tastatură folosind mate-keybinding-proprietăți par să nu funcționeze. Ce îmi lipsește?

Pentru a face acest lucru, ar oferi tuturor utilizatorilor capacitatea de a insera un marcaj de timp în orice aplicație, după cum este necesar.

Puncte:0
drapel cn

Acesta este ceea ce folosesc pentru a introduce o ștampilă de dată:

#!/bin/sh
Tastatura xdotool ctrl+shift+d sleep 0.4 tip $(data +"%Y-%m-%d")

Declarația „keyup” eliberează mai întâi tasta rapidă pe care am atribuit-o acestui script, pentru a evita interferența acestor taste apăsate cu apăsările de taste de trimitere. O întârziere este încă necesară pentru mine, în principal pentru ca acesta să funcționeze în Firefox și Thunderbird. Pentru alte aplicații, întârzierea poate fi mai mică.

Aceasta este versiunea pe care am folosit-o anterior (și la care s-ar putea să revin din nou): folosește în schimb clipboard-ul și previne posibilitatea ca unele apăsări de taste să fie eliminate.

#!/bin/sh
OLDSELECT=$(xsel --clipboard --input)
CURRENTDATE=$(data +"%Y-%m-%d")
echo -n $CURRENTDATE | xsel -b -i
somn 0,3
tastatura xdotool ctrl+shift+d tastă Control_L+v
dormi 0.3s
echo -n $OLDSELECT | xsel --clipboard --input

Aceasta salvează tastatura curentă (text) și o restabilește în final. Între timp, data este pusă în clipboard și lipită în aplicația activă folosind Ctrl+v. Din nou, din păcate, dormi este necesar să funcționeze - Linux este foarte dornic să arunce apăsările de taste dacă tastați prea repede. Din nou, pentru Firefox și Thunderbird, este necesar un somn de 0,3 secunde pentru mine înainte ca clipboard-ul să fie corect restaurat.

xian555 avatar
drapel bm
Ok, deci poate nu sunt nebun. Când folosesc primul tău exemplu: #!/bin/sh Tastatura xdotool ctrl+shift+d sleep 0.4 tip $(data +"%Y-%m-%d") în Pluma sau LO7 Write nu face nimic, sau cel puțin nu scoate nimic. Daca pun: xdotool keyup sleep 0.33s type --clearmodifiers „Testează xdotools” aceasta funcționează. Dar nu pot să funcționeze cu $(data +...) . Pur si simplu nu inteleg care este problema.
xian555 avatar
drapel bm
O altă întrebare despre primul tău exemplu: pentru ce este ctrl+shift+d? Mulțumiri
vanadium avatar
drapel cn
După cum am spus în răspuns.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.