Closed PAStheLoD closed 8 years ago
Which Linux distro are you using?
You need to run update-icon-caches
or something like that to let the OS know there are new icons.
And you can figure out which dlls are needed by looking at the debian/*.install
files and the dependencies in debian/control
. It looks like the app indicator plugin needs DBus.dll
and ImageMagick.dll
.
Ubuntu Vivid (15.04). Just using KeePass Portable. (Probably I could just migrate to the packaged version, but installing plugins was easier for this. At least for KeePassHttp, though I guess you arranged packaging for that too. :smile: )
No luck with any of the magic update commands (update-icon-caches, which calls gtk-update-icon-cache-3.0 --force --quiet /usr/share/icons/hicolor/, which puts the keepass2-locked into the icon-theme.cache), but nothing happens after several KeePass2 restarts. I tried to lock it too. Maybe I need to relogin?
Does the plugin actually show up in Tools > Plugins... in KeePass? If not, try running from the command line with mono KeePass.exe --debug
to see if it gives you an error message.
I mean the plugin works. I get a "space" on the toolbar, I can right click on it. Just the icon is missing.
I'm with you now...
What is the full path to the icon(s) that you copied?
cp -r Resources/* /usr/share/icons/
which resulted in
/usr/share/icons/ubuntu-mono-dark/apps/24/keepass2-locked.svg
/usr/share/icons/hicolor/256x256/apps/keepass2-locked.png
/usr/share/icons/ubuntu-mono-light/apps/24/keepass2-locked.svg
Just thought of something... If you accidentally created a Debug build instead of Release build, then it looks for the icons in a different path instead of the icon cache.
Or you could steal the dlls out of the .deb (it's just a zip file) and try them.
I used /property:Configuration=Release.
However, now I found a rather ugly ... bug. I don't think it's related to the icons, but probably to using different libs to build different parts of the running KeePass.
SendMessage (14680091, 0x444, 0x1, 0x35a0b10)
SendMessage (14680091, 0x444, 0x1, 0x35a0b10)
SendMessage (14680091, 0x444, 0x1, 0x34d2870)
SendMessage (14680091, 0x444, 0x1, 0x34d2870)
[xcb] Too much data requested from _XRead
[xcb] This is most likely caused by a broken X extension library
[xcb] Aborting, sorry about that.
cli: ../../src/xcb_io.c:736: _XRead: Assertion `!xcb_xlib_too_much_data_requested' failed.
Stacktrace:
at <unknown> <0xffffffff>
at (wrapper managed-to-native) System.Windows.Forms.X11Keyboard.XCreateFontSet (intptr,string,intptr&,int&,intptr) <0xffffffff>
at System.Windows.Forms.X11Keyboard.CreateOverTheSpotXic (intptr,intptr) <0x000af>
at System.Windows.Forms.X11Keyboard.CreateXic (intptr,intptr) <0x000d7>
at System.Windows.Forms.X11Keyboard.CreateXicForWindow (intptr) <0x00037>
at System.Windows.Forms.X11Keyboard.FocusIn (intptr) <0x00087>
at System.Windows.Forms.XplatUIX11.SetFocus (intptr) <0x000b3>
at System.Windows.Forms.XplatUI.SetFocus (intptr) <0x0001f>
at System.Windows.Forms.ContainerControl.SendControlFocus (System.Windows.Forms.Control) <0x00083>
at System.Windows.Forms.Form.SetVisibleCore (bool) <0x0071f>
at System.Windows.Forms.Control.set_Visible (bool) <0x00032>
at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control.set_Visible (bool) <0xffffffff>
at System.Windows.Forms.Application.RunLoop (bool,System.Windows.Forms.ApplicationContext) <0x002ef>
at System.Windows.Forms.Form.ShowDialog (System.Windows.Forms.IWin32Window) <0x008a3>
at System.Windows.Forms.Form.ShowDialog () <0x00013>
at System.Windows.Forms.MessageBox/MessageBoxForm.RunDialog () <0x00073>
at (wrapper remoting-invoke-with-check) System.Windows.Forms.MessageBox/MessageBoxForm.RunDialog () <0xffffffff>
at System.Windows.Forms.MessageBox.Show (System.Windows.Forms.IWin32Window,string) <0x00057>
at KeePassHttp.KeePassHttpExt.RequestHandler (System.IAsyncResult) <0x00077>
at System.Net.ListenerAsyncResult.InvokeCallback (object) <0x00065>
at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
/usr/bin/cli() [0x4b5bc0]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10d10) [0x7f25daf5bd10]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x37) [0x7f25dabb6267]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x16a) [0x7f25dabb7eca]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e03d) [0x7f25dabaf03d]
/lib/x86_64-linux-gnu/libc.so.6(+0x2e0f2) [0x7f25dabaf0f2]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XRead+0xd5) [0x7f25d35e8b55]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XRead32+0x25) [0x7f25d35e9625]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XListFontsWithInfo+0x380) [0x7f25d35cc070]
/usr/lib/x86_64-linux-gnu/libX11.so.6(+0x73db5) [0x7f25d361fdb5]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XCreateOC+0xec) [0x7f25d35d7dbc]
/usr/lib/x86_64-linux-gnu/libX11.so.6(XCreateFontSet+0x5c) [0x7f25d35ccaac]
[0x40ec7b0b]
Will try the DLLs, try without any "custom" built stuff.
Looks like your bug is with KeePassHttp:
at KeePassHttp.KeePassHttpExt.RequestHandler (System.IAsyncResult) <0x00077>
Is this still an issue or can we close?
Haven't got around to look at it. If you're interested in it, I'll find some time during the week.
I guess my approach would be to use the packaged version of KeePass and plugins, so I am not particularly interested in making it work. I would rather package the other plugins instead of trying to make the Kebuntu plugins work with non-packaged KeePass. But if you want to try to make it work with the portable version of KeePass, I'm glad to answer questions.
Another idea that I just had (no tested) is that maybe you could use the packaged version of KeePass (keepass2
) and create a symbolic link from /usr/lib/keepass2/user
to a directory in you home directory. Then you could easily install plugins that are not packaged and use plugins that are packaged.
Hello!
I've managed to compile and sort-of install the ApplicationIndicator plugin (for KDE5) based on the rules file and some tinkering with the KeePassExePath property group, however, it's a bit unclear which .dlls are needed for which plugin(s), and alas there is no icon in the system tray. (So even though I copied the icons from the Resource directory to /usr/share/... none are being used.)
Thanks!