All Projects → vshotarov → Vsclipboard

vshotarov / Vsclipboard

Licence: lgpl-3.0
A small clipboard history tool for Windows.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Vsclipboard

Hazama
simple cross-platform diary app
Stars: ✭ 24 (+100%)
Mutual labels:  pyside
idasix
IDAPython compatibility library. idasix aims to create a smooth ida development process and allow a single codebase to function with multiple IDA/IDAPython versions
Stars: ✭ 24 (+100%)
Mutual labels:  pyside
Qtpy
Provides an uniform layer to support PyQt5, PySide2, PyQt4 and PySide with a single codebase
Stars: ✭ 492 (+4000%)
Mutual labels:  pyside
material
Material Design Widgets for PySide and PyQt4
Stars: ✭ 66 (+450%)
Mutual labels:  pyside
pyside2
Placeholder repository for the Gitter chat room
Stars: ✭ 16 (+33.33%)
Mutual labels:  pyside
TACTIC-Handler
PySide based TACTIC client for maya, nuke, 3dsmax, houdini, etc
Stars: ✭ 67 (+458.33%)
Mutual labels:  pyside
Stackoverflow
my answers in Stack Overflow
Stars: ✭ 211 (+1658.33%)
Mutual labels:  pyside
Qt.py
Minimal Python 2 & 3 shim around all Qt bindings - PySide, PySide2, PyQt4 and PyQt5.
Stars: ✭ 684 (+5600%)
Mutual labels:  pyside
PyQtDarkTheme
A flat dark theme for PySide and PyQt.
Stars: ✭ 50 (+316.67%)
Mutual labels:  pyside
Nodegraphqt
Node graph framework that can be re-implemented into applications that supports PySide2
Stars: ✭ 401 (+3241.67%)
Mutual labels:  pyside
MPowerTCX
Share stationary bike data with Strava, Garmin Connect and Golden Cheetah
Stars: ✭ 22 (+83.33%)
Mutual labels:  pyside
Python-MongoDB-Example
A Live working Example Application of Python, Qt, PySide2, MongoDB, PyMongo, QTreeView, QAbstractTableModel
Stars: ✭ 41 (+241.67%)
Mutual labels:  pyside
Pyqt
PyQt Examples(PyQt各种测试和例子) PyQt4 PyQt5
Stars: ✭ 3,783 (+31425%)
Mutual labels:  pyside
QtPyConvert
An automatic Python Qt binding transpiler to the Qt.py abstraction layer.
Stars: ✭ 66 (+450%)
Mutual labels:  pyside
Brightness
Brightness Controller
Stars: ✭ 595 (+4858.33%)
Mutual labels:  pyside
AnimationDNA
Maya > Arnold > Nuke pipeline
Stars: ✭ 101 (+741.67%)
Mutual labels:  pyside
KoHighlights
KOHighlights is a utility for viewing KOReader's highlights and/or export them to simple text, csv or html files.
Stars: ✭ 62 (+416.67%)
Mutual labels:  pyside
Web2executable
Uses NW.js to generate "native" apps for already existing web apps.
Stars: ✭ 824 (+6766.67%)
Mutual labels:  pyside
Scihubeva
A Cross Platform Sci-Hub GUI Application
Stars: ✭ 683 (+5591.67%)
Mutual labels:  pyside
Qt Python Binding Examples
Lots of simple and Pythonic PySide demos
Stars: ✭ 312 (+2500%)
Mutual labels:  pyside

vsClipboard icon vsClipboard

vsClipboard is an attempt at creating a non-intrusive clipboard tool that re-uses all the well known hotkeys responsible for cutting, copying and pasting - Ctl + X, Ctrl + C and Ctrl + V.

It is available for Windows only, not because I am a Microsoft fan (trust me, I'm not), but because, unfortunately, that is the OS I am currently stuck with and I believe other OSs probably have much better available tools.

vsClipboard demo

Why?

I thought most available clipboard tools were a bit clunky and not well integrated, meaning you would usually use other hotkeys than the classic ones.

Additionally, they seem to have expanded into much bigger tools than just a simple clipboard, so I thought I would try writing something small sitting in the background myself.

Running instructions

The only dependency that is not part of the standard Python install on Windows is PySide (I've been using PySide 1.2.4), which can be installed following the instructions here.

EDIT: It has come to my attention that some people don't have the pywin library available on a fresh install, so you might need to get that as well - https://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32

After that, all you need to do to run the application is execute the run.py file, and that should show the config window, which can be minimized to let the app run in the background.

python run.py

Config

The main window contains all the preferences the tool has. They are also going to be stored in a config.json file after the first execution of the tool, so they can be modified through a text editor as well.

The following options are available

  • history_length - how many entries should be available for pasting
  • hold_before_showing - the amount of time (in seconds) before the window is shown when pressing Ctrl + V. If the hotkey is released before that time, normal pasting functionality is performed. The default is 0.15
  • poll_clipboard_interval - how often (in seconds) to poll the clipboard for changes

Building an executable

For freezing to an executable I have been using cxfreeze, as it's recommended by Qt.

cxfreeze run.py --target-dir dist --base-name Win32GUI --include-modules atexit,PySide.QtNetwork --target-name vsClipboard.exe && ^
cd dist && ^
mkdir vsClipboard && ^
cd vsClipboard && ^
mkdir ui && ^
cd .. && ^
cd .. && ^
cp vsClipboard/ui/styles.css dist/vsClipboard/ui/ && ^
cp icon.png dist/

Please forgive the horrible batch scripting skills.

This will freeze the python code to an .exe and a bunch of libraries, and once that is done, it will copy the needed stylesheets and icons to the dist folder, leaving you with a portable version of the app.

Known limitations

Pasting is slightly slower than usual, because the tool performs the pasting function on release of the Ctrl + V hotkey instead of doing it on press as usual.

The reason for this is that the tool waits for the specified hold_before_showing amount of time before being shown, in order to retain normal pasting functionality if a clipboard history is not required.

Lowering that setting results in a snappier performance, but also the tool gets triggered much quicker, so pasting without it getting shown might become trickier.

That being said, in my experience of working with the tool, the difference has been negligible.

Attribution

The icon is slightly modified version of the clipboard found in Open Iconic

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].