سؤال الماكرو لصق النص مهيأ مسبقًا


أنا أتطلع إلى تجنب الكتابة على الإطلاق في عنوان البريد الإلكتروني الخاص بي مرة أخرى. هل هناك طريقة لتهيئة مفتاح للصق بعض النص المحدد مسبقًا من النص مثل البريد الإلكتروني.

أود أن يعمل هذا عبر جميع التطبيقات بشكل مثالي.

شكر


4
2017-08-13 08:32


الأصل




الأجوبة:


1) تثبيت xclip و xdotool

sudo apt-get install xclip xdotool

2) قم بعمل ملف myscript.sh

mkdir ~/bin
gedit myscript.sh

3) نسخ لصق هذا البرنامج النصي فيه

#!/bin/bash
TEXT="myname@address.com"
printf '%s' $TEXT | xclip -i -selection clipboard;
xdotool key --clearmodifiers "ctrl+v"; 

4) جعل الملف قابل للتنفيذ

chmod +x ~/bin/myscript.sh

5) جعل الاختصار

إعدادات -> لوحة المفاتيح -> اختصارات -> اختصارات مخصصة -> انقر [+]

  • الاسم: أي شيء ، الأمر: /home/USERNAME/bin/myscript.sh
    • استبدل USERNAME باسم المستخدم الخاص بك
  • اضغط على Disabled ثم اضغط على ضغط المفاتيح السحري. فمثلا Ctrl-Shift-S
  • قد تضطر إلى إعادة الوحدة مع setsid unity أو عن طريق تسجيل الدخول والخروج لجعل الاختصار يعمل. (على الأقل كان لي هذا الخطأ على أوبونتو 13.10)

تصحيح: إذا كان لديك أي مشاكل في لصق النص. حاول تغيير xdotool key إلى xdotool sleep 0.5 key. تمنحك الوقت لتخرج يديك من لوحة المفاتيح قبل أن يحاول xdotool الضغط على "Ctrl-V"


4
2017-11-21 12:25



بالنسبة إلي ، كان متغير TEXT الخاص بي يحتوي على فراغات فيه. لكي يعمل هذا بشكل صحيح ، كان علي أن استخدم printf "$TEXT" بدلا من printf '%s' $TEXT. ما هي ميزة استخدام %s؟ - Garrett
إذا كنت لا تريد هذا البرنامج النصي لإزالة لك الحافظة الحالية ، ثم في البداية ، وضعت OLD_TEXT=$(xclip -o -selection clipboard) وفي النهاية وضع sleep 1; printf "$OLD_TEXT" | xclip -i -selection clipboard. - Garrett
لن أزعم أن هذا سوف ينجح ، ولكن ليس هناك نوع من الأدوات التي تجعل هذا أقل قليلاً من ناحية يدوية؟ - Shadoninja
Shadoninja هناك AutoKey ، الذي يحاول معالجة هذا ، لكن بالنسبة لي عندما لصقه إسقاط الحروف بشكل عشوائي من نص اللصق. - mlissner
هذا التعديل ضروري بالتأكيد بالنسبة لي. أي طريقة للحصول عليها للقيام خطوط جديدة؟ لقد حاولت إضافة \n إلى متغير TEXT الخاص بي ، ولكن لا يبدو أنه يعمل. في Firefox ، كل شيء واحد ، ولكن في gedit ، لا بأس. - mlissner