Il y a un addon dans fcitx
où vous pouvez associer un mot à une autre chaîne comme "smile (・ ∀ ・)" entrée à ~/.config/fcitx/data/QuickPhrase.mb
. Lorsque vous tapez smile
, il affiche (・ ∀ ・) `
Je veux la même chose mais une fonction plutôt qu'un mot; Je veux qu'il produise un horodatage actuel.
Par exemple: lorsque j'entre "heure", il sort l'heure actuelle "2016-08-03 11:15", une minute plus tard, quand j'entre "heure", il sort "2016-08-03 11:16"
Dans cet article :
QuickPhrase_Time.py
scriptxclip
raccourciLe plugin auquel OP fait référence est QuickPhrase et peut être installé via Sudo apt-get install fcitx-modules fcitx-module-quickphrase-editor
. Il utilise ~/.config/fcitx/data/QuickPhrase.mb
pour stocker des phrases.
L'objectif principal ici est d'avoir un moyen simple d'insérer une chaîne contenant l'heure actuelle dans le texte déposé que l'utilisateur est en train de modifier. Ci-dessous, il existe deux solutions.
Ce script modifie en continu la ligne du fichier de configuration qui a time_now
phrase, et ajoute l'heure actuelle à la ligne. Ce script est destiné à être lancé automatiquement lors de la connexion à l'interface graphique .
L'utilisation est simple:
python /path/to/QuickPhrase_Timer.py
Également disponible sous la forme Github Gist , les versions mises à jour y seront probablement disponibles.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import subprocess
import time
import os
def run_cmd(cmdlist):
""" Reusable function for running external commands """
new_env = dict( os.environ )
new_env['LC_ALL'] = 'C'
try:
stdout = subprocess.check_output(cmdlist,env=new_env)
except subprocess.CalledProcessError:
pass
else:
if stdout:
return stdout
if __== '__main__':
user_home = os.path.expanduser('~')
config_file = '.config/fcitx/data/QuickPhrase.mb'
config_full_path = os.path.join(user_home,config_file)
found = None
while True:
lines = []
time.sleep(1)
with open(config_full_path) as f:
for line in f:
lines.append(line.strip())
if line.startswith('time_now'):
found = True
# print(lines)
if found:
with open(config_full_path,'w') as f:
for line in lines:
if line.startswith('time_now'):
time_now = run_cmd(['date',
'+%Y-%m-%d %I:%M'
]).decode().strip()
line = 'time_now ' + time_now + '\n'
else:
line = line + '\n'
f.write(line)
Dans le cas où le script python ne fonctionnera pas pour vous, voici une solution: liez la commande ci-dessous à un raccourci clavier
xclip -sel clip <<< $( date +%Y-%m-%d\ %I:%M )
Essentiellement, cela copie les sorties de date
dans votre presse-papiers, que vous pouvez ensuite publier via Ctrl+V raccourci (qui est courant pour la plupart des applications en tant que raccourci de collage).
Cette approche ne repose pas sur fctix
ou sur toute autre méthode d'entrée, elle est donc plus flexible et fiable.
Notez que xclip
n'est pas installé par défaut. Obtenez-le via Sudo apt-get install xclip