Skip to content

Instantly share code, notes, and snippets.

@Elliria
Last active September 22, 2023 19:37
Show Gist options
  • Save Elliria/6925e9e4c92597019aa4eebc86c5a5f7 to your computer and use it in GitHub Desktop.
Save Elliria/6925e9e4c92597019aa4eebc86c5a5f7 to your computer and use it in GitHub Desktop.

CLIPBOARD vs PRIMARY vs SECONDARY

About

  • CLIPBOARD:
    • This contains copied data.
    • Copy data by selecting text and pressing Ctrl+c or right-clicking and choosing copy from the context menu.
    • Paste data by pressing Ctrl+v or pressing Shift+Insert or right-clicking the mouse and choosing paste to paste.
    • AutoKey's clipboard.get_clipboard() and clipboard.fill_clipboard() API calls can access this.
  • PRIMARY:
    • This contains selected data.
    • Its purpose is to contain the only argument to commands that take one argument and is the principal means of communication between clients that use the selection mechanism.
    • Select data by selecting text.
    • Paste data by pressing the middle mouse button.
    • AutoKey's clipboard.get_selection() and clipboard.fill_selection() API calls can access this.
  • SECONDARY:
    • This contains selected data.
    • Its purpose is to either contain the second argument to commands that take two arguments or to contain additional data when there's already a primary selection that the user doesn't want to disturb.
    • Select data by holding down the meta or Alt key while selecting text.
    • Paste data by holding down the meta or Alt key while pressing the middle mouse button.
    • AutoKey doesn't have API calls to access this.

Selecting Text

  • With the keyboard:
    • Hold down the Shift key while pressing any of the arrow keys.
    • Hold down the Shift key while pressing the Home or End button.
    • Hold down the Shift key while pressing the PgUp or PgDn button.
    • Hold down the Ctrl and Shift and End keys.
  • With the mouse:
    • Hold down the left mouse button and drag it across the text.
    • Hold down the left mouse button and lasso the text with the mouse.
    • Double-click to select the current word.
    • Triple click to select the curent line.
  • With the mouse and keyboard:
    • Hold down the left mouse button and press the PgUp or PgDn key.
    • Hold down the left mouse button and press the Ctrl key.
    • Hold down the left mouse button and the Ctrl and Shift and End keys.
    • Hold down the Ctrl key while making multiple selections.
    • Select some text and press the Ctrl and Ins keys together.

More Information

For more details about how all of this works, see the "Peer-to-Peer Communication by Means of Selections" section in the Inter-Client Communication Conventions Manual.

@Elliria
Copy link
Author

Elliria commented Sep 22, 2023

That's terrific news, @ineuw. I'm so glad everything worked out and that you're able to up your contributions. And you're never a disturbance. It's always a pleasure to hear from you.

As @josephj11 pointed out, I'm no longer contributing to the AutoKey project, but hopefully some others will eventually join in to help out.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment