hluk / copyq Goto Github PK
View Code? Open in Web Editor NEWClipboard manager with advanced features
License: GNU General Public License v3.0
Clipboard manager with advanced features
License: GNU General Public License v3.0
I heard that github is discontinuing binary downloads. Could you find a site to host the windows binaries?
People are starting to use copyq on windows: http://www.essential-freebies.de/board/viewtopic.php?f=37&t=16909
Although code is supposed to run on OS X there is no developer for this platform.
src/platform/mac/macplatform.cmake
and src/platform/mac/macplatform.pri
.PlatformNativeInterface
in src/platform/mac/macplatform.cpp
.Some window management functions are available in libqxt:
https://bitbucket.org/libqxt/libqxt/src/master/src/widgets/mac/qxtwindowsystem_mac.cpp?at=master
Replace "Import/Export Tab" in File menu with more general "Import ...", "Export ...".
Export command will open simple dialog containing list with all tabs -- with only the current one selected by default -- and check boxes with whatever else to export.
Exported/imported could be none or multiple tabs, options, theme and commands. Accepting dialog should be disabled if nothing is selected to be exported/imported.
Import should provide the import dialog only if imported file contains anything else than single tab. This dialog should allow user to choose elements to import from imported file.
If commands are imported, existing commands should not be overwritten (the same goes for tabs).
Edit: Import dialog should be open even if imported file contains only single tab -- for user to review changes.
Step to reproduce:
1 Click on kde menu
2 Type copyq in search box
3 Click on CopyQ icon
4 plasma freeze
Nepomuk and akonadi are activated. Launching copyq from terminal and from menu tree is ok, maybe a krunner problem?
Regards.
If "selection to clipboard" is checked and "selection to history" is not checked the new content from mouse selection (without Ctrl+C) is copied to clipboard but it's not added to CopyQ history. This works correctly.
If you press <Ctrl+C> on the selection it should be added to the history -- but it's not.
I cannot find any hint on what dependencies are needed. Sorry if I'm missing the obvious. In the AUR we had a hint about qtwebkit being a dependency. How can I make sure?
portableapps.com is a very famous portable app distrubtion website.
Just show text/plain of an item in QLabel. This will replace useless functionality of DummyItem in {{itemfactory.cpp}}.
Could you create a git tag for 1.5.0?
I'd like to update AUR package :).
Clipboard monitor sets focused window title text in new clipboard item. This window is treated as clipboard owner -- it's not very reliable since user can focus different window before clipboard content is propagated to monitor.
Monitor should send clipboard item with window title set only "immediately" after clipboard is changed.
If some command "ignores" a content with given window title, all items without window title (this MIME type missing) should be also ignored.
Interface for coding new plugins should be easy to use and as dynamic as possible.
bool ItemLoaderInterface::matches(const QModelIndex &index, const QRegExp &re)
to search for items.ItemLoaderInterface
and ItemWidget
.On enter key or double-click mark put the item content to clipboard (current behavior) but don't move the item to the first position in list.
Also keep the item selected after window is closed and create shortcut to move next/previous item to clipboard in the same manner -- i.e. pressing ctrl-shift-n will select next item and move it to clipboard ( ctrl-shift-p to select previous). Additionally create scripting capability and global shortcuts for this.
After a new item is added to history, select the item -- but only if list is not focused or inline-editing is not active in the list.
Make this new behavior optional.
Main window title should contain preview of current clipboard content.
"first line without leading spaces ..." - CopyQ
<image> - CopyQ
<data> - CopyQ
Note: <image>
and <data>
should be translatable.
When I press ctrl-left on an item to render it as text/plain and press enter, I would expect CopyQ to copy the item as text/plain. Instead it copies the item still formatted.
I know I can instruct CopyQ to strore only text/plain, but I want to retain the formatting in CopyQ otherwise.
So as not to make GUI slower while running commands from multiple clients, serve each client (process commands, run script) in different thread (non-GUI thread).
Create new class which performs commands from client and sends back responses. Objects of this class will run in different thread communicating with other objects only using signals/slots.
It would be nice if you could set main windows opacity value. So main window wouldn't hide the window where you were typing.
usleep() event is in micro seconds! So usleep(500) used when pasting text from tray on X11 is too small. On some systems even big period is not enough.
Use QApplication::processEvents() before pasting to window and use usleep() with argument 200000 (500 ms seems too big). Also change the interval for Windows platform with Sleep(250).
Suppose I want to copy a name, say Bob Smith
, and an email, say
bobsmith@...
from a document, into
a form that has three fields:
(1) First Name
, (1) Last Name
, and (3) email
I would like to be able to copy Bob
, then copy Smith
, then copy
bobsmith@...
and then go to the form and paste one after
the other. It would be nice if after I pasted one, it was deleted from
CopyQ so I don't even have to go to the history and select the next
one, it's already loaded and ready to go. I think a fitting name could
be "pop mode" where after you paste
something, that entry just pop's off.
Could this be done with native paste directly? If CopyQ does not own
the paste, then it could still be implemented by using a different
key-binding. That is to say, you could allow the user to pick a
key-binding (default to ctrl+alt+v
?) that, when called, would use the
system's paste function and then pop off the element in CopyQ.
If clipboard contains "text/uri-list" (and not text or image) show <FILES>
, instead of <DATA>
, in window title and tray tool tip.
These (very important) options should be simple to understand for any user. Default values should make sense (e.g. don't store the X11 mouse selections by default).
Rename:
Create scriptable function and global hotkey to paste HTML/rich text (and perhaps other text/* types) as plain text.
I think it would be nice if CopyQ would have a Windows installer. I know CopyQ is portable (great) but newbies users feel more confortable with a Windows installer. The installer unpack files, copy them to user application folder and makes Windows launch CopyQ at startup. Windows users could choice: portable (.zip) or installer version (.exe or .msi).
Windows installer will make more people use CopyQ (and that will be great).
Note: I don't know if you should use NSIS, InnoSetup, Wix, IzPack or someone else installation software.
Saved items for all tabs are loaded at application start. With large amount items in tabs this can take a long time.
steps to reproduce
setup keyboard shortcut for tray menu
invoke tray menu via keyboard
expected behavior:
dismiss by changing focus, hitting esc key or (most often) clickking away from the popup
actual behavior:
have to select a clip to dismiss.
n.b. dismiss works properly when tray menu is invoked by rt-click on sys tray icon
TODO: This need to be a lot simpler!
Command can be identified by name and icon (from item menu).
Color dialogs are often immediately reopened after closed.
Button "Reset theme" doesn't do anything.
These issues are reproducible on Ubuntu, Qt 4.8.3, and Windows, Qt 4.8.4.
Is there a way to prevent auto-copying of selected content?
I'm having an issue with some things - like google search - where I copy some content in one window (select & ctrl C) - goto an existing browser window with a google search. I select the current google search to delete it - and when I paste - I get back the search I just deleted.
My workflow is more:
select something - then CTRL C or CTRL X
goto another window - select some content I want to replace
paste to overwrite the content
I'm running Mint 14 with Cinnamon
Plugins should use QPluginLoader::unload() if casting failed or they're not needed anymore.
Add new option to disable clipboard monitoring, i.e. no new clipboard content is added to clipboard history.
If monitoring is disabled, application and tray icons should change, e.g. grey color for scissor icon (new icons must be installed so that desktop theme can change the appearance).
After turning monitoring on again:
Add scripting capability and global shortcut to toggle the monitoring.
Coverity Scan: http://scan2.coverity.com/
The clipboard history can contain commonly used sensitive info, which is convenient but one may not want it persisted across sessions. I created the following command to empty the clipboard history on demand:
copyq eval -- "tab('&clipboard'); for(i=size(); i>0; --i) remove(i-1);"
It would help to have the option of running this command automatically when Copyq quits, which usually happens when I logout. It would also be useful to have the history of a tab cleared at configurable time intervals while Copyq is running.
An alternate/advanced approach would be to optionally encrypt a tab and require a passphrase to access it, with a configurable no-activity timeout+reprompt.
Command option transform
will change data of selected items or (if automatic) change clipboard data and pass to next command in queue.
The new option is available only if "Command" and "Output" fields are filled in.
Methods in QMenu (e.g. clear(), removeAction()) can remove separators in TrayMenu. So separator members needs QPointer and needs to be recreated if needed after they're destroyed.
Do not delete TrayMenu object in MainWindow::createMenu(), just call QMenu::clear(). Create TrayMenu, set it as context menu for tray and connect signals in MainWindow contructor.
I can't paste from main window to current window anymore. I'm sure right option is selected in preferences. It worked for me in CopyQ 1.8.0. It fails in 1.8.1. Tested on ArchLinux and Windows 7.
Hi!
How can be saved automatically history when closing program and then restore it?
On a fresh install of Ubuntu 13.04, 64-bit of commit 5a54f05, the scissors icon is out of place (see upper-left of screenshot). This is my first install of CopyQ on 13.04. On 12.04 I didn't see this behavior. The icon seems to respond normally (left- and right- clicks). Let me know if there is any log I can send or anything else I can do to help.
GVim under X11 starts setting primary selection buffer after entering visual mode ('v' key pressed). After text cursor is moved the X11 selection is updated immediately. This clutters clipboard history in CopyQ with incomplete text of the selection.
Update the first item in history if its text is prefix or suffix of the current X11 selection from the same window (i.e. "application/x-copyq-owner-window-title" is same).
Prior to my most recent git fetch
, selecting an item from the menu would not automatically paste (emulate Shift+Insert since I'm on X11). Now it does. This breaks my workflow. Any chance we can make this an application setting instead, so that folks who liked the old behaviour can still have it?
This is mainly for Windows but may apply on Ubuntu and others too.
This should be also possible to set in Windows installer.
copied files uri can not be disabled. even if 'data items' option in history tab is disabled, they appear in the main menu.
List of contributors -- possible line format:
NAME <EMAIL>
Basically Wayland is the new X11 and Weston is its window manager.
Since Qt 5 supports Wayland it should be possible to implement some basic functionality for it src/platform/wayland
and test it on Weston.
Priority list:
Update 2021-04-11:
In connection with #5:
Is there any way to link to QtWebKit at runtime?
I'd like to make it an optional dependency, but telling the user who just compiled the app to install something and compile it again doesn't seem like a good solution.
BTW: Just checked and it seems that CopyQ (1.6.0) doesn't compile at all without QtWebKit:
In file included from /tmp/yaourt-tmp-root/aur-copyq/src/CopyQ-1.6.0/src/itemweb.cpp:22:0:
/tmp/yaourt-tmp-root/aur-copyq/src/CopyQ-1.6.0/src/include/itemweb.h:25:29: fatal error: QtWebKit/QWebView: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/copyq.dir/src/itemweb.cpp.o] Error 1
make[1]: *** [CMakeFiles/copyq.dir/all] Error 2
make: *** [all] Error 2
In README i see:
To exit the application middle-click on the tray icon
But in code i see another version:
if ( reason == QSystemTrayIcon::MiddleClick ) {
showMenu();
} else if ( reason == QSystemTrayIcon::Trigger || reason == QSystemTrayIcon::DoubleClick ) {
toggleVisible();
}
Who to belive =)
Make an user option "Clean Mode" to show only the list and hide main menu, tab bar and scroll bar. Pressing Alt key shows the hidden elements, releasing it hides the elements.
It should be possible to use Alt key for key hints to enter sub-menu in main menu and in tabs. Also Alt+left/right should focus next/previous tab.
Context menu, even in empty list, should allow user to toggle the "Clean Mode".
This option is similar to "Paste activated item to current window" in "Tray" configuration tab. Should probably be in "History" config tab.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.