Back around 1998 or 1999 I began using an application called "Perfect Keyboard" http://www.macrotoolworks.com/index.php/en/macro-automation-software/perfect-keyboard-keystroke-macros on, I believe, Windows 98. I used it for nearly a decade until I gave up on Microsoft's operating systems. Now I use Tahrpup 6.x (a version of Puppy Linux, which is a lightweight Linux distro.
Frankly, setting up Tahrpup was a hassle for me because I am not a "techie" but instead a "power user." However, now that I have customized Tahrpup I like it very much. It is fast. Very fast. I primarily run a browser (PaleMoon, a Firefox variant). But I miss the text expansion functionality of Perfect Keyboard.
I almost never use Parcellite but I realized it is remarkably close being able to be used the way I used Perfect Keyboard for text expansion.
In Perfect Keyboard I created my own text expansion library. For example, when I typed ".Tfswme" then magically (or maybe merely programmatically) Perfect Keyboard would fill in "Thanks for speaking with me earlier." When when I typed ".Pgmacwyhac" Perfect Keyboard would fill in "Please give me a call when you have a chance."
I would like similar functionality in Parcellite. In other words, I want to be able to assign a unique string that will automatically trigger an item. I suppose it might be easiest to do this with items in Parcellite's Persistent History.
Frankly, I am imagining something similar to the Firefox addon called "Clippings" https://addons.mozilla.org/en-us/firefox/addon/clippings/ Clippings is very close to what I want actually, but I want something that works on those uncommon occassions when I am not using the PaleMoon.
I'd like to understand this a little better. The first instance, you describe a string attached to a sequence of characters. Not sure how you were thinking that could/would tie to an item. I need to improve the item searching - I'm often frustrated with it, but haven't had the time yet to do so. But I'd like to understand what you're thinking in case it's something that might be easy to add.
Thanks for your well-considered response. I am not sure if you are familiar with an add-on for Firefox called Fastest Search but if you use Firefox (or Palemoon, which I use, and which seems "leaner and meaner" than Firefox) then I highly recommend it. The YouTube video that explains the features is worth watching too. Here it is "Fastest Search" Firefox Addon Helps Firefox Beat Google Chrome Instant - YouTube
In any text box in my browser when I type an "indicator" (in which in Fastest Search is set by default to the semi-colon character) then I can specify a "search engine" by appending the shortcut I have assigned for that search engine to the semi-colon. (For purposes of this discussion I am considering sites like YouTube, eBay, and Amazon to be search engines).
In Fastest Search I have assigned "gt" to launch Google Translate, "y" to YouTube, "e" to eBay, and "a" to Amazon. Therefore, anytime I want to use these search engines, I ensure my cursor is flashing within a textbox in my browser and then I begin typing ";gt", ";y", ";e", or ";a."
By the way, I used the Firefox add-on Remove It Permanently to remove the advertisements that are distracting and take up too much page "real estate" on Google Translate.
Then I append a space (which functions as a delimiter). Then I type the string I want to search. Finally, I run my search by pressing the <enter> key.</enter>
For example, within a text box in my browser, if I were to type ";gt homme" (which is French for "man") and then press the <enter> key, then Fastest Search would open Google Translate in a new tab in my browser with the word "homme" in the left column of Google Translate and the word "man" in right column of Google Translate. It is an elegant solution.</enter>
Similarly, if I were to want to search for "toaster oven" on Amazon, then within a text box in my browser if I were to type ";a toaster oven" and then press the <enter> key Fastest Search would open Amazon in a new tab in my browser with the search results for "toaster oven." It's slick. Very slick.</enter>
What I want from Parcellite is similar functionality. For example, I would like to choose my own indicator (such as a period, a comma, semi-colon). Let's say I were to choose a period to be my indicator. And let us say that I had previously mapped (assigned) ".Tfswme" to "Thanks for speaking with me earlier."
Then if I were to type ".Tfswme" then ".Tfswme" would be either automatically replaced with "Thanks for speaking with me earlier" or be replaced only if the <enter> key were depressed. (This should be user configurable, probably with two radio buttons allowing for automatic replacement or replacement only if the <enter> key were depressed).</enter></enter>
You can think of this idea as a modern version of Shorthand. If you were to open a Google Doc (part of the Google Drive—which you would actually have access to if you were to have a Gmail account—and were to navigate to Tools->Preferences you could see a very simple set of two columns which enable people to create a shorthand (or shortcut) system of sorts. Tutorial: Setting Preferences on Google Docs to Save Time Grading explains this idea clearly.
Obviously, users must have the ability to backup their shortcuts. Therefore something like exporting to a CSV file would be required.
But to make normal people comfortable, I would like to see add a button called, "See a list of all your shortcuts now." Clicking on this would open up a web page in the user's browser with a two column table with all the user's shortcuts listed.
I suppose many users, and particularly women will think this feature to be "the bees knees." To a software developer the feature probably seems at least unnecessary if not downright ridiculous, but a company that adds all sort of similarly "silly features" has become very wealthy. I am thinking of Apple Inc. Many normal people struggle abstractly manipulate sophisticated analytical concepts. Exporting data might seem like a trivial analytical concept to you but it utterly mystifies many people.
Many people need to see simple and concrete manifestations of data. "Click this button and see all of your shortcuts now" is an example of a simple and concrete way to show users their data. For example, my 76 year old mom might click on that button, see the data on the screen, and say, "Oh I can save this in case something goes wrong." Then my mom might use her mouse to select all of the text, create a text document in LibreWriter, and then save that document. In such a case, my mom would feel confident because she had a copy of her data. Clicking a button to export data as a CSV file makes no sense whatsoever to my mother.
While I am on the subject, a simple popup reminder every X days (user configurable) to backup shortcuts would be nice with an ability to snooze such a reminder for Y days (user can enter a new integer into a field prior to clicking the snooze button).
As I suppose you might have surmised, I have many other features in mind, but this is the "lowest hanging fruit." Sure, I know. It's easy for me to dream up features but, of course, I realize that, "No job is impossible for the man who does not have to do it."
If you would like me to create a wireframe (mock-up) for you please let me know. I realize that although you are a developer who therefore must possess many abilities, clairvoyance is not likely one of your superpowers.
If you want to "share the joy" and would enjoy becoming a very minor celebrity, then after you make these changes you might consider submitting your new version of Parcellite as a "text expansion" application to:
Please see:
A jumbo clipboard— what Parcellite is currently—is arcane (too weird) for the average person. But "text expansion" is like cellophane tape or Post-It-Notes: super easy and super useful to for the average Joe.
Also, Parcellite is a weird name. I would change it to something like, "Easy ShortKuts" with the subtitle, "Shortcuts for dummies that will save you many, many hours of time." Then post a campaign on a site such as Indiegogo or Kickstarter to fund additional features. I doubt the project would receive funding, nonetheless it might be worth taking a couple of hours to make a video explaining the product and proposed features in the hopes of persuading folks to fund the project.
I am always amazed at how relatively trivial technical changes and proper promotion can transform a product from being obscure to popular. Parcellite is close to being extremely useful and extremely popular.
By the way, in a sense I am asking for Parcellite to move towards AutoKey. But AutoKey, although powerful, is much too bloated for me.
Now I understand. You just want a shortcut that places text in the clipboard. The problem with all of this is that it's not a simple as you decribe. Parcellite monitors the clipboard and some hot keys. Your example use case would involve the following:
Press Hot key (parcellite becomes active)
type in shortcut followed by enter (parcellite places text in the clipboard)
Paste your text - you can use auto-paste, but I'm not sure how reliable that it.
As to saving shortcuts, they would always be saved to disk, like the history and preferences are now as soon as you create them. And like the history, they could be exported.
I don't really care if Parcellite becomes 'popular' - I mainly just want it to stay in the major repos so I can still use it, which is why I started development of it in the first place, and I wouldn't change the name of it for the same reason - it's a pain to get it in the major distros, and it's a pain explaining name changes, ....etc.
Anyhow, if something like that would be useful, I don't think it would be hard to add.
Thanks for getting back to me.
You are proposing modifying Parcellite, I am thinking about replacing it with a different application. "When you are a hammer, every problem looks like a nail." I am essentially proposing a screw (new functionality) instead of a nail (current functionality).
Sure it is difficult to drive a screw with a hammer. I propose you use a screwdriver (new application) instead because that would probably be much easier than trying to transform a hammer into a screwdriver.
I will give you the bare bones feature I would like:
To avoid having to design a user interface, you could simply have users modify a text file called "shortcuts.txt" in which "--->" is used as a delimter. My version of shortcuts.txt text file might have entries such as:
.tks-->thanks
.pcm-->please call me
.Iwsyt-->I will see you tomorrow
Here's a simple use case: if I were to type ".pcm" then your application would immediately replace it with "please call me."
Obviously Your application would compare the keystrokes inputted (strings) against the strings the user had entered into the "database" called shortcuts.txt.
I suppose you could hard code in the indicator as "." or ";" or ":"
Perhaps I am wrong but I suppose a clever software developer could implement this solution in a few hours.
Have a nice weekend.