ijhack / qtpass Goto Github PK
View Code? Open in Web Editor NEWQtPass is a multi-platform GUI for pass, the standard unix password manager.
Home Page: https://qtpass.org/
License: GNU General Public License v3.0
QtPass is a multi-platform GUI for pass, the standard unix password manager.
Home Page: https://qtpass.org/
License: GNU General Public License v3.0
When creating a new folder git is not initialized . . that causes issues.
Related to: #66 and #55
Also found here http://barrenfrozenwasteland.com/2015/06/migrating-lastpass-to-pass-password-store/
When trying to start QtPass on my Windows 8.1 machine, I just get the message:
"Please install GnuPG on your system.
Install gpg using your favorite package manager
or download it from GnuPG.org"
The programm then does not display anything upon clicking Ok, the process just hangs in the background. On the first try, it did ask me about my password-store location, but then nothing happened.
When running the Windows command line window, gpg and gpg2 are valid commands.
I am running the most recent installation of GPG4Win.
This is a proposal I will probably implement but welcome feedback on.
I do not really like git for synching/backup, because
The only alternative that seemed easy enough to support is WebDAV.
Windows offers the WNetAddConnection3 function, which can basically do everything, ask for username, password, pick a drive letter and map it there. It can then be used as normal files.
Linux has davfs2. This is more tricky, as we will have to read in the password and pass it to the mount command, plus if it is not configured suid then only root can mount etc. But it should still be possible with reasonable effort (and would be easy to extend to use sshfs or anything else instead).
I have no idea about whether this is possible to do on OSX, too.
Unless someone has better ideas or convinces me this is a really bad idea I'll probably try to implement these and see how well it works.
That commit changes
output.replace(QRegExp("\n"), "
");
to
output.replace(QRegExp("\n )"), "
");
was that intentional?
I thought the point was to replace all newlines with HTML tags (which I admit I do not know if it is necessary).
The new code triggers only on a sequence I'd think would almost never appear in the output...
I guess this just happened because something had to be in the button, and a label would be too big. Right?
It looks rather prototypy:
Instead the system icon for "clear" should be used. Or better an inline x within the input box.¹ Or even more awesome and better: the inline clear icon of the system/toolkit.
Example (sorry, dark theme):
1: as known from mobile websites and mobile safari
BTW: Just looked at my desktop apps (~120) and qtpass is the only one with a clear button
Oh look, you don't have to do it yourself: https://doc.qt.io/archives/qt-4.7/declarative-ui-components-searchbox.html
Other password managers like keepassx, keepass and last past choose another option. No clear functionality at all.
Source: quick google image search
Whenever I start typing in the quick-search input, QtPass quits unexpectedly.
I have 270 entries in password-store.
Process: QtPass [39157]
Path: /Applications/QtPass.app/Contents/MacOS/QtPass
Identifier: $(PRODUCT_BUNDLE_IDENTIFIER)
Version: 1.0 (???)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: QtPass [39157]
User ID: 501
Date/Time: 2015-08-03 13:31:38.608 +0300
OS Version: Mac OS X 10.10.4 (14E46)
Report Version: 11
Anonymous UUID: B16F30CD-28CE-DBB3-FA5F-E0A4123C5620
Sleep/Wake UUID: 41E1A7D4-138F-48F5-AEF7-4AF252853210
Time Awake Since Boot: 9900 seconds
Time Since Wake: 4800 seconds
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 org.qt-project.QtCore 0x0000000104ad82e7 QIdentityProxyModel::qt_metacall(QMetaObject::Call, int, void**) + 9015
1 org.qt-project.QtCore 0x0000000104ae2122 QSortFilterProxyModel::mapToSource(QModelIndex const&) const + 18
2 org.qt-project.QtCore 0x0000000104ae0dfa QSortFilterProxyModel::flags(QModelIndex const&) const + 90
3 org.qt-project.QtCore 0x0000000104ac5b90 QItemSelection::contains(QModelIndex const&) const + 48
4 org.qt-project.QtCore 0x0000000104acc5c0 QItemSelectionModel::isSelected(QModelIndex const&) const + 656
5 org.qt-project.QtWidgets 0x0000000103fde66e 0x103d68000 + 2582126
6 libqcocoa.dylib 0x0000000106a8ba3a 0x106a54000 + 227898
7 libqcocoa.dylib 0x0000000106a8846e 0x106a54000 + 214126
8 com.apple.AppKit 0x00007fff8c97e16e NSAccessibilityEntryPointAttributeNames + 115
9 com.apple.AppKit 0x00007fff8c9bb4bf -[NSObject(NSAccessibilityInternal) _accessibilityAttributeNamesClientError:] + 56
10 com.apple.AppKit 0x00007fff8c9be53a CopyAttributeNames + 216
11 com.apple.HIServices 0x00007fff8b56ebde _AXXMIGCopyAttributeNames + 252
12 com.apple.HIServices 0x00007fff8b5770d6 _XCopyAttributeNames + 385
13 com.apple.HIServices 0x00007fff8b553119 mshMIGPerform + 199
14 com.apple.CoreFoundation 0x00007fff889eac79 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41
15 com.apple.CoreFoundation 0x00007fff889eabeb __CFRunLoopDoSource1 + 475
16 com.apple.CoreFoundation 0x00007fff889dc767 __CFRunLoopRun + 2375
17 com.apple.CoreFoundation 0x00007fff889dbbd8 CFRunLoopRunSpecific + 296
18 com.apple.HIToolbox 0x00007fff90b7d56f RunCurrentEventLoopInMode + 235
19 com.apple.HIToolbox 0x00007fff90b7d2ea ReceiveNextEventCommon + 431
20 com.apple.HIToolbox 0x00007fff90b7d12b _BlockUntilNextEventMatchingListInModeWithFilter + 71
21 com.apple.AppKit 0x00007fff8c5dc8ab _DPSNextEvent + 978
22 com.apple.AppKit 0x00007fff8c5dbe58 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 346
23 com.apple.AppKit 0x00007fff8c5d1af3 -[NSApplication run] + 594
24 libqcocoa.dylib 0x0000000106a757fd 0x106a54000 + 137213
25 org.qt-project.QtCore 0x0000000104b068cd QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) + 381
26 org.qt-project.QtCore 0x0000000104b0978a QCoreApplication::exec() + 346
27 $(PRODUCT_BUNDLE_IDENTIFIER) 0x0000000103c71aa7 main + 2135
28 $(PRODUCT_BUNDLE_IDENTIFIER) 0x0000000103c71244 start + 52
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff88062232 kevent64 + 10
1 libdispatch.dylib 0x00007fff89d6da6a _dispatch_mgr_thread + 52
Thread 2:
0 libsystem_kernel.dylib 0x00007fff8806194a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8bf5140d start_wqthread + 13
Thread 3:: com.apple.CFSocket.private
0 libsystem_kernel.dylib 0x00007fff880613fa __select + 10
1 libsystem_pthread.dylib 0x00007fff8bf53268 _pthread_body + 131
2 libsystem_pthread.dylib 0x00007fff8bf531e5 _pthread_start + 176
3 libsystem_pthread.dylib 0x00007fff8bf5141d thread_start + 13
Thread 4:: QFileInfoGatherer
0 libsystem_kernel.dylib 0x00007fff88061136 __psynch_cvwait + 10
1 org.qt-project.QtCore 0x00000001049601db QWaitCondition::wait(QReadWriteLock*, unsigned long) + 299
2 org.qt-project.QtCore 0x0000000104960092 QWaitCondition::wait(QMutex*, unsigned long) + 162
3 org.qt-project.QtWidgets 0x0000000103fc4e43 0x103d68000 + 2477635
4 org.qt-project.QtCore 0x000000010495eb53 QThreadStorageData::finish(void**) + 2691
5 libsystem_pthread.dylib 0x00007fff8bf53268 _pthread_body + 131
6 libsystem_pthread.dylib 0x00007fff8bf531e5 _pthread_start + 176
7 libsystem_pthread.dylib 0x00007fff8bf5141d thread_start + 13
Thread 5:
0 libsystem_kernel.dylib 0x00007fff8806194a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff8bf5140d start_wqthread + 13
Thread 6:
Thread 7:
0 libsystem_kernel.dylib 0x00007fff8805c4de mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8805b64f mach_msg + 55
2 com.apple.CoreFoundation 0x00007fff889dceb4 __CFRunLoopServiceMachPort + 212
3 com.apple.CoreFoundation 0x00007fff889dc37b __CFRunLoopRun + 1371
4 com.apple.CoreFoundation 0x00007fff889dbbd8 CFRunLoopRunSpecific + 296
5 com.apple.AppKit 0x00007fff8c6a456b _NSEventThread + 137
6 libsystem_pthread.dylib 0x00007fff8bf53268 _pthread_body + 131
7 libsystem_pthread.dylib 0x00007fff8bf531e5 _pthread_start + 176
8 libsystem_pthread.dylib 0x00007fff8bf5141d thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x0000000000000000 rbx: 0x00007fff5bf8e808 rcx: 0x0000000000000000 rdx: 0xbaddc7e9e6b7bead
rdi: 0x000060000004b2e0 rsi: 0x00007fc1fa416710 rbp: 0x00007fff5bf8e7d0 rsp: 0x00007fff5bf8e780
r8: 0x000060000004b2b0 r9: 0x00000000000001c4 r10: 0x00000000000002c6 r11: 0x00000000fffffff7
r12: 0x000061000008db38 r13: 0x000061000008db38 r14: 0x00006080001a6608 r15: 0x00006080001a6580
rip: 0x0000000104ad82e7 rfl: 0x0000000000010246 cr2: 0xffffff81d0991004
Logical CPU: 4
Error Code: 0x00000000
Trap Number: 13
Binary Images:
0x103c6d000 - 0x103d49fff +$(PRODUCT_BUNDLE_IDENTIFIER) (1.0 - ???) <95C3F667-5975-37C3-9A3B-B7271AB460D4> /Applications/QtPass.app/Contents/MacOS/QtPass
0x103d68000 - 0x10427cff7 +org.qt-project.QtWidgets (5.5 - 5.5.0) <DF74BFA6-B274-3FC1-889B-AE8CCAF166E0> /Applications/QtPass.app/Contents/Frameworks/QtWidgets.framework/Versions/5/QtWidgets
0x1043b4000 - 0x104847ff7 +org.qt-project.QtGui (5.5 - 5.5.0) <B7C3E3B9-4466-38CD-8939-D4728537A4C0> /Applications/QtPass.app/Contents/Frameworks/QtGui.framework/Versions/5/QtGui
0x104927000 - 0x104e35fff +org.qt-project.QtCore (5.5 - 5.5.0) <E1A2B357-93A4-395A-AB30-D5D8E85031E1> /Applications/QtPass.app/Contents/Frameworks/QtCore.framework/Versions/5/QtCore
0x104ec4000 - 0x104fe0fff +org.qt-project.QtNetwork (5.5 - 5.5.0) <F675D0EA-1DBF-3C19-9399-EEA0FBB8592C> /Applications/QtPass.app/Contents/Frameworks/QtNetwork.framework/Versions/5/QtNetwork
0x10501a000 - 0x10501efff com.apple.agl (3.3.0 - AGL-3.3.0) <4E8F579B-A2E2-3A27-96D7-02A9465A78D8> /System/Library/Frameworks/AGL.framework/Versions/A/AGL
0x106a54000 - 0x106afbfff +libqcocoa.dylib (0) <FB09B9DA-5F7C-377B-972A-8C591D1DD085> /Applications/QtPass.app/Contents/PlugIns/platforms/libqcocoa.dylib
0x106b34000 - 0x106b9bfff +org.qt-project.QtDBus (5.5 - 5.5.0) <4B97B481-FD03-3312-B33F-54A9E902DC85> /Applications/QtPass.app/Contents/Frameworks/QtDBus.framework/Versions/5/QtDBus
0x106bb0000 - 0x106be5fff +org.qt-project.QtPrintSupport (5.5 - 5.5.0) <5116A322-CA11-3C44-9029-81FB53B51F3F> /Applications/QtPass.app/Contents/Frameworks/QtPrintSupport.framework/Versions/5/QtPrintSupport
0x107004000 - 0x10700eff7 +libqdds.dylib (0) <CDF80BEA-3CFA-3F81-8B9C-931CB12FEC75> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqdds.dylib
0x107013000 - 0x107017ff7 +libqtga.dylib (0) <3D814602-B539-38C7-BD2F-AF056BF92907> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqtga.dylib
0x10a9ad000 - 0x10a9b4ff7 +libqgif.dylib (0) <51F4DF97-9999-3FA3-9C6D-E0CDDCC0D47F> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqgif.dylib
0x10a9b8000 - 0x10a9c0fff +libqicns.dylib (0) <5CBF3967-9FAA-3F70-9691-1E82F5E38315> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqicns.dylib
0x10a9c5000 - 0x10a9cbff7 +libqico.dylib (0) <FDD111B5-638F-3B84-A39C-CD2A3A41D837> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqico.dylib
0x10a9d0000 - 0x10aa57fff +libqjp2.dylib (0) <A8404AA8-77B5-3DEF-920A-52D34989402B> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqjp2.dylib
0x10aa65000 - 0x10aaa3fff +libqjpeg.dylib (0) <F4EB5413-63BB-3529-AC0D-E98C3328303C> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqjpeg.dylib
0x10aaa9000 - 0x10aaf9ff7 +libqmng.dylib (0) <D2A1A517-7C7D-3BAC-A600-709E023B7D5B> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqmng.dylib
0x10ab01000 - 0x10ab63ff7 +libqtiff.dylib (0) <23A39D56-6B66-3624-ADE2-93685C91FDE5> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqtiff.dylib
0x10ab6b000 - 0x10ab6fff7 +libqwbmp.dylib (0) <ADCD45B7-E6E9-34CC-94BA-E5974E938703> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqwbmp.dylib
0x10ab73000 - 0x10abd2fff +libqwebp.dylib (0) <5ABD01B1-35ED-3B4B-92DF-624BC710475A> /Applications/QtPass.app/Contents/PlugIns/imageformats/libqwebp.dylib
0x10b986000 - 0x10b986fe7 +cl_kernels (???) <C7636964-5AFB-4879-91A4-F4EE04D7F7FE> cl_kernels
0x10b988000 - 0x10ba6efef unorm8_bgra.dylib (2.4.5) <5F488C7E-2FB2-3C66-9764-28CF16B03E7A> /System/Library/Frameworks/OpenCL.framework/Versions/A/Libraries/ImageFormats/unorm8_bgra.dylib
0x10bbb8000 - 0x10bbb8fef +cl_kernels (???) <E16F044D-1A01-480C-92B2-65122303808E> cl_kernels
Not working for me in both "native" and "pass" modes.
In "native git/gpg" I get this error – "gpg: Sorry, no terminal at all requested - can't get input". As I looked up in google I should remove "no-tty" string from gpg config file, but in my config there is no such string.
After installing gpg2 and pointing gpg exec to "/usr/local/bin/gpg2", I get this error:
I clicked Add, then typed in "Google/Personal" (where I previously did not have any passwords under the Google folder). This error message is displayed after clicking Save:
fatal: Could not switch to '/home/tony/.password-store/Shopping/Google/': No such file or directory
Shopping is the label that is currently selected on the left. How do I create a new top level folder?
This negates the usefulness of user/folder management currently
I really like that qtpass displays colours to indicate ownership or validity.
But the colours are a bit to bright. And especially the black on bright red makes it relatively hard to read.
The colours should be a bit more friendly, so it is easier to read and nicer to look at them.
My suggestion is to use the tango colour palette, because it is friendly, simple and unobtrusive.
When you launch qtpass for the first time it askes you which keys/users should be able to decrypt it.
The problem is, if you have your old expired keys in your keyring, then it is hard to know which key is still valid (except you know the key id).
So my feature request is that qtpass displays not only Name, email and key id, but also the date the key expires.
Hello,
in windows 8.1 64 I have an error message after launching Qtpass. It says Qprocess doesn't start...any help.
Thank you.
Arnauld
Util::normalizeFolderPath is changed to only
!path.endsWith(QDir::separator())
instead of before
!path.endsWith("/") && !path.endsWith(QDir::separator())
I think that is less correct. Other changes are possibly problematic as well
A few relevant facts:
Hi there
Can't compile it on Kubuntu 15.10
hyper@subi:/Desktop/git-repos/qtpass$ make clean core *.core
rm -f qrc_resources.cpp
rm -f moc_mainwindow.cpp moc_dialog.cpp moc_storemodel.cpp moc_usersdialog.cpp moc_keygendialog.cpp moc_progressindicator.cpp moc_trayicon.cpp moc_singleapplication.cpp
rm -f ui_mainwindow.h ui_dialog.h ui_usersdialog.h ui_keygendialog.h
rm -f main.o mainwindow.o dialog.o storemodel.o util.o usersdialog.o keygendialog.o progressindicator.o trayicon.o singleapplication.o qrc_resources.o moc_mainwindow.o moc_dialog.o moc_storemodel.o moc_usersdialog.o moc_keygendialog.o moc_progressindicator.o moc_trayicon.o moc_singleapplication.o
rm -f _
hyper@subi:/Desktop/git-repos/qtpass$ rm Makefile/Desktop/git-repos/qtpass$ qmake -qt5
hyper@subi:
hyper@subi:/Desktop/git-repos/qtpass$ make/Desktop/git-repos/qtpass$
/usr/lib/x86_64-linux-gnu/qt5/bin/uic mainwindow.ui -o ui_mainwindow.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic dialog.ui -o ui_dialog.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic usersdialog.ui -o ui_usersdialog.h
/usr/lib/x86_64-linux-gnu/qt5/bin/uic keygendialog.ui -o ui_keygendialog.h
g++ -c -m64 -pipe -std=c++11 -DSINGLE_APP=1 -O2 -std=c++0x -Wall -W -D_REENTRANT -fPIC -DVERSION=""0.8.4"" -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o main.o main.cpp
In file included from main.cpp:1:0:
mainwindow.h:4:23: fatal error: QMainWindow: Datei oder Verzeichnis nicht gefunden
#include
^
compilation terminated.
Makefile:441: recipe for target 'main.o' failed
make: *_* [main.o] Error 1
hyper@subi:
Whenever I close the Qt-window of QtPass, I can Cmd+Tab back and forth between applications without QtPass returning.
Only when QtPass is selected as active app, and when I press the tray icon, the Qt-window reappears.
@annejan I've showed you this behaviour :)
Reproduce:
Have a password file at internal/services/mollom
When opening qtpass and searching the item will not be found.
When deleting the search terms and redoing the search the item is found.
I think its something to do with the folders not being expanded on the first search (as on the second one they are expanded by default).
I briefly searched through the open and closed issues to see if this was already mentioned, so forgive me if I missed it.
I see the "Hide Password" and "Hide Content" options in Config, but what I think would be cool is if the password / content window respected the "Autoclear" option and duration.
For example, if I have "Autoclear" set to 25 seconds, and "Hide Password" and "Hide content" unchecked, it would be great if that panel was cleared out when the clipboard was cleared out.
If this is something that sounds good I'd love to give it a shot implementing it if you would point me in the right direction. I haven't touched C++ in ages, heh.
Currently when QtPass starts, the [X]
button is focused.
Instead, please auto-focus the search input box for quicker usage.
Since everything is currently merged to master it means that its quite easy to break when mistakes are made.
Can we do development on a develop branch and then release on master? This means we can have a 'stable' master branch and test things on develop in case they break stuff.
Greetings,
I just went through setting up a Yubikey NEO with pass.
I got all the keys exported properly, and went and re-encrypted all my entries with the new subkey. The Yubikey is successfully working on the CLI and also on android-password-store on my phone with Openkeychain.
When I try to open a password entry in qtpass now I see the following:
Let me know if there's anything else I can provide to help diagnose.
When firing off wrapper requests before the previous one has ended the later ones end up not being executed.
I should probably make a queue or something for this, but if anyone has a better idea on how to handle this I'd like to hear it.
This is currently only relevant for the https://github.com/IJHack/qtpass/tree/develop branch.
I used to be able to set the GNUPGHOME
environment variable by setting QtPass' 'Executable gpg' setting:
GNUPGHOME=/Users/foo/.vault/gnupg /opt/local/bin/gpg2
I've just recompiled master, and I'm getting an error now saying QProcess::FailedToStart
. Bummer. Will you be able to add support for the GNUPGHOME environment variable option?
Without these linking against a static Qt still needs libgcc_s_sjlj-1.dll and libstdc++-6.dll, which I think is not desirable.
Enabling ASLR and NX should be a good idea always.
Haven't really tested except compilation and starting with WINE though.
--- a/qtpass.pro
+++ b/qtpass.pro
@@ -44,6 +44,10 @@ RESOURCES += resources.qrc
win32 {
RC_FILE = windows.rc
QMAKE_LFLAGS += -static-libgcc -static-libstdc++
It'll be super great if QtPass will remember the last window size, and the vertical pane width size.
Hi Guys,
I start qtpass with my window manager and i was wondering if an option to start it and minimize it straight to tray could be added?
Thanks!!
Needs configuration options, I'm currently thinking.
[ ] automatically pull in updates [ ] automatically push changes
Possibly just one [ ] automatically synchronize option.
(Might get slow on pulling each time (network))
Possibly only synchronize on edits etc . . or those two options.
Perhaps hide the [Push] and [Update] buttons (and possibly rename push
to [Upload] or something, since we did rename pull
to [Update])
hi
i tried to compile qtpass from the commandline but i get
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
i think the ubuntu's have qt5 qmake now so using the qt4 path is a no go.
When trying to do a push or an update on windows, qtpass hangs.
My best guess would be an ssh session trying to unlock the ssh-key, without prompting the user, as I get a prompt when I do a manual push or pull by command line.
I wrote a script that binds to a key and opens a password-store item that matches current Chrome's tab address. It will be great to complement it with a script that opens QtPass in the "new" creation menu with item name and directory already pre-selected, for sites I'd like to store a new password quickly, e.g.:
QtPass -add "sites/foobar.com"
If someone is interested, here's my
terminal-notifier
on run {input, parameters}
tell application "Google Chrome"
return URL of active tab of first window
end tell
end run
Note: For other browsers, check this out
~/.local/bin/urlpass "$@"
~/.local/bin/urlpass
:#!/usr/bin/env bash
# Import the gpg-agent-info variable and export it
eval $(cat "~/.gpg-agent-info" | cut -d: -f 1)
export GPG_AGENT_INFO
for f in "$@"
do
# Filter out domain without 'www.' from url
host=$(echo "$f" | awk -F/ '{print $3}' | sed 's/^www.//')
# Copy password to clipboard
if pass -c "sites/$host" 1>/dev/null; then
# Show notification with all other info except the 1st line
data=$(pass "sites/$host" | sed '1d')
terminal-notifier -message "${data:-N/A}" -title "$host"
fi
done
chmod ug+x ~/.local/bin/urlpass
I will start by saying how much I am enjoying qtpass, it is a great ui for pass! Thanks for developing it!
It would be great to be able to highlight a password file in the tree and be able to Ctrl+C the password onto the clipboard instead of having to highlight it in the viewer on the right.
Does that make sense?
Again, thanks!
Hi,
I had to rename the icon to qtpass-icon.png for xdg-icon-resource install --size 128 artwork/qtpass-icon.png
to run without complaining about improper naming format. I'm interested to know whether the icons should be kept generic in the project and renamed during build with something like a PKGBUILD for Archlinux.
Thanks,
ctag
When using version 0.9.2, I noticed that the behavior on password deletion is different than in 'pass' cli.
pass delete Foo
will both delete the file in git, and commit that deletion.
QTpass will only delete the file in git, but not commit it.
Simply letting Qt handle the argument splitting makes it work on Windows.
Plus, the code is more obvious.
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 616fb92..0553b5e 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -188,7 +188,7 @@ void MainWindow::executePass(QString args) {
*/
void MainWindow::executeWrapper(QString app, QString args) {
process->setWorkingDirectory(passStore);
username[tab]password[enter] style pasting etc . .
Need to think about this in conjunction with #34 or rather the idea of adding templates (username, url etc..)
There seem to be some extra line breaks added to the output of some processes (on some platforms).
This needs to be investigated further.
Mostly just looks ugly.
When a process hangs (for example git interaction) the whole app starts behaving badly.
When going to config for example the key pair generation dialog pops up because the list of keys can't be retrieved.
This breaks down to two things.
A) The "wizard" needs to not jump to action on errors like this.
B) Process scheduling should behave in a more sane way and possibly also kill "hanging" processes.
Would it be possible to immediately open QtPass with a specific entry selected and opened?
e.g.
QtPass sites/foobar.com
Thanks
Just like this:
I assume from the UI: the upper input field is the name of the things i create. And with the button next to it i confirm the action. The create thing then lands in box below.
Okay i know the first is the password, the button is password generation and the last is the secret text input field, or what ever we want to call it.
Suggestion:
PS: Owncloud does not use a checkbox, but:
I had parentheses in a filename and they broke the decryption command. I think that will happen with other characters that have a function in the shell. The app run ok but just outputted the errors in the decryption area:
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `/usr/local/bin/pass filename-with-(parentheses)'
I guess just quoting the files where you run the external commands would do the job but I'm no CPP expert... I think it's here: https://github.com/IJHack/qtpass/blob/master/mainwindow.cpp#L189
Hi Everyone,
when I try to create a new password, (Macos 10.9.5, git version 1.9.3 (Apple Git-50), gpgtools 1.2b6 (1057b)), once I enter the password and press "OK" I get an error like
error: pathspec '/Users/matthias.huttar/dev/atlas/password-store/asdfsdf.gpg' did not match any file(s) known to git.
and no file is created. am i doing something wrong here?
Probably some leftover code when developing:
$ qtpass
"/home/hugo/.bin//pass"
"/home/hugo/.bin/proxies/pass"
"/home/hugo/.bin/mount/pass"
"/home/hugo/.bin/scripts/pass"
"/home/hugo/.bin/wine/pass"
"/home/hugo/.bin/tunnels/pass"
"/usr/local/sbin/pass"
"/usr/local/bin/pass"
"/usr/bin/pass"
"/home/hugo/.bin//git"
"/home/hugo/.bin/proxies/git"
"/home/hugo/.bin/mount/git"
"/home/hugo/.bin/scripts/git"
"/home/hugo/.bin/wine/git"
"/home/hugo/.bin/tunnels/git"
"/usr/local/sbin/git"
"/usr/local/bin/git"
"/usr/bin/git"
"/home/hugo/.bin//gpg"
"/home/hugo/.bin/proxies/gpg"
"/home/hugo/.bin/mount/gpg"
"/home/hugo/.bin/scripts/gpg"
"/home/hugo/.bin/wine/gpg"
"/home/hugo/.bin/tunnels/gpg"
"/usr/local/sbin/gpg"
"/usr/local/bin/gpg"
"/usr/bin/gpg"
Hi,
with 0.8.4, the tray icon is invisible/not shown in xfce 4.12 in ArchLinux.
Anything I could help you with?
In the console, I have this:
(qtpass:11398): Gtk-WARNING **: Im Modulpfad »murrine« konnte keine Themen-Engine gefunden werden,
(sorry, it's german...)
Unfortunately the SingleApplication implementation seems to be full of race conditions, e.g. when one application has started closing down but you are starting a new one (this one seems unavoidable by design) but there also seem to be other issues that mean that after a crash it is not possible to start a new instance for several seconds.
The latter seems to happen because the shared memory instance somehow lingers while the server does not respond.
It is probably fixable (by starting the application if the message is never acknowledged - but this just leads to other issue like that in some cases like extreme system load you can end up with multiple running instances after all), but is this feature really worth the amount of code and really annoying bugs?
Especially since as far as I can tell there are no too serious conflicts between 2 instances running at the same time, as qtpass has almost no internal state.
As MinGW is the only working way to compile for Windows AFAIK and even Mingw-w64 defines MINGW32 that commit completely breaks Windows WebDAV support.
In addition it does not even warn about the fact that it is not working, it just silently does nothing.
Could you please open a ticket or otherwise inform me if my changes introduce issues?
Preferably with information to reproduce, since as said MinGW (though the more modern -w64 variant) is what I test all code with.
Hi there
It's great that you added editing. However when I have entries with multilines there's only one line to edit - it will be saved again as multi-line... but for editing purposes it would also be good if that was multiline.
There should be a clearer way to make git optional (not just removing path from config).
Git initialisation is completely broken or absent.
Hello Guys,
qtpass rocks and i no longer use pass since i have to many password stores to maintain and qtpass profiles works like a charm! but one thing that is still an issue for me is no way to generate passwords using qtpass :( so i was wondering can you add a button that calls pwgen and dumps its output into the password box as then i can set the type of passwords i want it to generate and still have qtpass generate the passwords.
Thanks!
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.