> On June 27, 2011, 8:33 a.m., Sebastian Trueg wrote: > > I will have to review this project in general as I did a while back before > > looking at the code: > > The user is not really concerned with the status of any Nepomuk services > > since that is an implementation detail. Thus, your main widget is not very > > end user friendly. It could be a great developer tool though if it also > > provided the possibility to start and stop services. > > > > The there are a few issues: > > - The tooltip just shows "Running Running Running Running Running" without > > any details > > - The menu has two quit actions > > - The systray applet does not provide actions to suspend/resume strigi or > > show its detailed status. > > - I have two entries for the strigi service here > > > > Also I see no need for a plugin system when there is only one single plugin. > > > > So for now I would have to vote against this merge as it does not bring any > > useful features to the user while at the same time removing essential ones. > > Artem Serebriyskiy wrote: > There are more plugins, they are just autogenerated at build time. > Separate plugins are necessary only if service want's to export some > functionality to user, like suspend/resume for strigi. I will provide > separate backend for backup too. > > About issues: > 1. Well, I will see what can i do, because tooltips are not working on my > system at all. > About other issues - well, it is possible that I commited really wrong > version, but all other issues seem incorrect( no offence) ( or may be I > don't understand them correctly). See attached screensoot please: > 2. The menu has one quit action - in context menu. > 3. The systray applet do provide actions for suspend/resume strigi, both > from widget and from context menu. If this actions don't work, then it is a > bug and I will fix it. > 4. There is one entry for strigi service. > > Other: > I think the question about role of this applet - for developer or for > user - should be solved later, after we solve this weird situation with 4 > issues. > > Please, attach your screenshot too. > > > Sebastian Trueg wrote: > I would not know how to attach a screenshot. Here is a link though: > http://simplest-image-hosting.net/jpg-0-plasma-desktopt22088 > > And here the console log (I renamed it to nepomukcontroller2 to avoid a > collision with the one from kde-runtime since I build from your scratch > repo): > > nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file > "systraynepomukfilewatchpluginui.rc" for component "nepomukcontroller2" > nepomukcontroller2(26210) > Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk > file watch service system tray plugin" > nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file > "systraynepomukqueryservicepluginui.rc" for component "nepomukcontroller2" > nepomukcontroller2(26210) > Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk > query service system tray plugin" > nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file > "systraynepomukstoragepluginui.rc" for component "nepomukcontroller2" > nepomukcontroller2(26210) > Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Nepomuk > storage system tray plugin" > nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file > "systraystrigipluginui.rc" for component "nepomukcontroller2" > nepomukcontroller2(26210) > Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Strigi > system tray plugin" > nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc file > "systraystrigipluginui.rc" for component "nepomukcontroller2" > nepomukcontroller2(26210) > Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: "Strigi > system tray plugin" > nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: > "Nepomuk file watch service" finish initialization > nepomukcontroller2(26210) > Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already > initialized > nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed > to retrieve menu > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "Nepomuk file watch service" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: > "Nepomuk query service" finish initialization > nepomukcontroller2(26210) > Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already > initialized > nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed > to retrieve menu > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "Nepomuk query service" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: > "Nepomuk storage" finish initialization > nepomukcontroller2(26210) > Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already > initialized > nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed > to retrieve menu > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "Nepomuk storage" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: > "strigi_basic" finish initialization > nepomukcontroller2(26210) > Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already > initialized > nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed > to retrieve menu > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "strigi_basic" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "strigi_basic" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::pluginInitialized: Plugin: > "strigi_basic" finish initialization > nepomukcontroller2(26210) > Nepomuk::SystrayServiceWidget::SystrayServiceWidget: Plugin already > initialized > nepomukcontroller2(26210) Nepomuk::SystrayServiceWidget::doInit: Failed > to retrieve menu > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "strigi_basic" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "strigi_basic" changed status to "Not started" > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "Nepomuk query service" changed status to "Running" > nepomukcontroller2(26210) Nepomuk::SystemTray::updateToolTip: Plugin > "Nepomuk storage" changed status to "Running" > > Artem Serebriyskiy wrote: > Ok. I am sorry for all this mess. I was sure that using the same name for > new application would be more convinient. In contrary, it creates hard to > catch bugs. > > So, I was able to reproduce last 2 issues after I do the same thing - > rename nepomukcontroller to another name. As you can see in > >> nepomukcontroller2(26210) KXMLGUIClient::setXMLFile: cannot find .rc > file "systraystrigipluginui.rc" for component "nepomukcontroller2" > plugin failed to load ui. Because of this, it failed to create menu and > thus to provide any actions. The ui files location is determineg using apps > name. I am not sure what name is used - name of executable or name given to > KAboutData. > > The issuse with 2 strigi plugins was caused by the same problem. It > looks like that ksycoca return 2 plugins for strigi service. One from > location ~/kde/share/kde4/services/nepomukcontroller2 and one from > ~/kde/share/kde4/services/nepomukcontroller. Because of this, plugin is > loaded twice. Or it is possible that only one file actually exists, but > ksycoca cached both entries. > > Anyway, I renamed application myself. Now it is called nepomuksystray_qt. > I hope this name is not in use. After install, you must have no messages like > "KXMLGUIClient::setXMLFile: cannot find .rc file ... " and all actions should > appear. > If you still will have 2(3,4) entries for strigi service, then check the > output please. It now writes things like: > >> Nepomuk::SystrayPluginManager::SystrayPluginManager: Load plugin: > <PLUGIN NAME> defined in <PATH TO DESKTOP FILE> > There must exist only one plugin for every service. If you have more then > one, then remove extra .desktop files and update ksycoca. > > The changes are only in repo, I wouldn'd publish a patch here until I get > a conformation from you. > > Thanks for your patience and sorry again for this mess. > > > Sebastian Trueg wrote: > No need to be sorry. Apparently I did cause it myself by not renaming > properly. :/ > > Now it works, here, too. > > Now how about some start/stop service actions? > > Artem Serebriyskiy wrote: > No problem with that. But I still think that this system tray should be > for user too. > So, I have added a so-called "development mode". In development mode, you > can start/stop services and plugin may export extra actions. To enable this > mode you must edit config file ( ~/.kde/share/config/nepomuksystray_qtrc ) > and add following lines: > [main] > devMode=true > > Then restart system tray. You will see start/stop actions only in main > widget - not in context menu. > > Sebastian Trueg wrote: > I checked the current state with the backup plugin. It makes sense to > have this in the systray. But: > > 1. The systray tooltip provides information about the number of running > services. This is of no interest to the user. The current systray shows the > indexing state. While this is rather random it puts users at ease when > nepomuk uses resources. It might make more sense to allow the plugins to > provide useful information in some way (that is if you are fixed on the whole > plugin design which IMHO is a bit over-engineered). > > 2. The main widget is not very pretty. It shows non-localized service > names and uses a list with buttons that do not fit the rest of KDE. It would > be much more helpful to have generic information in there like the current > systray widget does. Seeing the state of services is not interesting to the > user. It is an implementation detail! > > 3. Having a developer mode which needs to be activated in a config file > is like having no such mode at all. It would make more sense to provide a > config dialog which allowed to set some "advanced mode". > > Artem Serebriyskiy wrote: > 1. Ok. I will see what I can invent here. > 2. The main widget is awfull, I know. I was never a good designer. I am > currently trying to find someone who can create a good mockup that I can > implement. > 3. Well, I was afraid that if I create KCM for system tray applet, you > will kill me in place :). There is a question: currently 'advanced mode' must > be enabled on application initialization. So switching to 'advanced mode' > will require KCM to restart applet(automatically, of course. No manual typing > 'kquitapp blablabla'). Is it ok with you ? > > Sebastian Trueg wrote: > If it is too hard to do it dynamically restarting should be fine. > > Sebastian Trueg wrote: > About the GUI: the plugin system makes it hard to create a really nice > and coherent GUI since fitting together different parts always means to > either separate them completely (through tabs or a list) or to restrict the > GUIs to certain constraints. You should evaluate what each plugin needs to > show and try to design the API accordingly. Although I still think a fixed > GUI without plugins would be much easier to create, easier to maintain, and > quicker to code. :P > > Artem Serebriyskiy wrote: > That is mockup that Lucas kindly created after I requested help in > kde-usability. If you have suggestions/comments, please join this mailing > list discussin http://lists.kde.org/?l=kde-usability&m=130990705521800&w=2 > > Mockup is: > > https://docs.google.com/drawings/d/1plYfsFPfIRme2JM-tke6kwnLnzev5ekzVZt_sEhFm8s/edit?hl=en_US&pli=1 > > It requires exporting my plugins as Plasma Engine with Datasources. That > is task I have started some time ago and then suspended before merging. I > think(hope) it will be easy to finish, especially with my > brilliant<s>although really overcomplicated</s> plugin-based GUI-separated > design :)
Remark: They suggests that I allow exporting non-Nepomuk services in this Plasma Engine, but I really doubt I can do this. And GetHotNewStuff thing too. And I didn't give enough explanation, that's why there is usuall folders Backup on the widget, not Nepomuk Backup. But the whole idea looks nice, as for me. - Artem ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: http://git.reviewboard.kde.org/r/101786/#review4191 ----------------------------------------------------------- On June 27, 2011, 9:35 p.m., Artem Serebriyskiy wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > http://git.reviewboard.kde.org/r/101786/ > ----------------------------------------------------------- > > (Updated June 27, 2011, 9:35 p.m.) > > > Review request for Nepomuk. > > > Summary > ------- > > Merge project nepomuk-system-tray into kde-runtime. > > (Quick note: There were a merge request about 6-8 month ago, it was done in > bug tracker and I think it is long gone ) > > Description of the project: provides library and several runtime components ( > well, currently one, plasma dataengine is in [slow] development ) for quering > and displaying status(es) of nepomuk service(s). > > 2 main parts + plugins: > library - view independed, async, plugin-based framework that allow you to > track status of the service > runtime/[systemtray] - current implementation of system tray, done with usual > technologies ( no plasma/QML ) > plugins/ - library with written plugin for strigi and build-time plugin > autogeneration for other services. > > Personal repo is [email protected]:nepomuk-system-tray > > > Diffs > ----- > > nepomuk/controller/CMakeLists.txt 76c452d > nepomuk/controller/Messages.sh ea4aa1e > nepomuk/controller/lib/CMakeLists.txt PRE-CREATION > nepomuk/controller/lib/config.h.in PRE-CREATION > nepomuk/controller/lib/nepomuksystray_export.h PRE-CREATION > nepomuk/controller/lib/serverclient.h PRE-CREATION > nepomuk/controller/lib/systrayplugin.h PRE-CREATION > nepomuk/controller/lib/systrayplugin.cpp PRE-CREATION > nepomuk/controller/lib/systraypluginmanager.h PRE-CREATION > nepomuk/controller/lib/systraypluginmanager.cpp PRE-CREATION > nepomuk/controller/main.cpp c14c165 > nepomuk/controller/nepomukcontroller.desktop debbfff > nepomuk/controller/plugins/CMakeLists.txt PRE-CREATION > > nepomuk/controller/plugins/basic_template/nepomuksystray_template.desktop.in > PRE-CREATION > nepomuk/controller/plugins/basic_template/systraytemplatepluginui.rc.in > PRE-CREATION > nepomuk/controller/plugins/basic_template/templateplugin.cpp.in > PRE-CREATION > nepomuk/controller/plugins/basic_template/templateplugin.h.in PRE-CREATION > nepomuk/controller/plugins/nepomuksystray_plugin.desktop PRE-CREATION > nepomuk/controller/plugins/strigi/CMakeLists.txt PRE-CREATION > nepomuk/controller/plugins/strigi/nepomuksystray_strigi.desktop > PRE-CREATION > nepomuk/controller/plugins/strigi/strigiplugin.h PRE-CREATION > nepomuk/controller/plugins/strigi/strigiplugin.cpp PRE-CREATION > nepomuk/controller/plugins/strigi/systraystrigipluginui.rc PRE-CREATION > nepomuk/controller/runtime/CMakeLists.txt PRE-CREATION > nepomuk/controller/runtime/systemtray/CMakeLists.txt PRE-CREATION > nepomuk/controller/runtime/systemtray/main.cpp PRE-CREATION > nepomuk/controller/runtime/systemtray/mainWidget.ui PRE-CREATION > nepomuk/controller/runtime/systemtray/mainWindow.ui PRE-CREATION > nepomuk/controller/runtime/systemtray/mainwidget.h PRE-CREATION > nepomuk/controller/runtime/systemtray/mainwidget.cpp PRE-CREATION > nepomuk/controller/runtime/systemtray/nepomukcontroller.desktop > PRE-CREATION > nepomuk/controller/runtime/systemtray/nepomukcontrollerrc PRE-CREATION > nepomuk/controller/runtime/systemtray/nepomukcontrollerui.rc PRE-CREATION > nepomuk/controller/runtime/systemtray/serviceWidget.ui PRE-CREATION > nepomuk/controller/runtime/systemtray/servicewidget.h PRE-CREATION > nepomuk/controller/runtime/systemtray/servicewidget.cpp PRE-CREATION > nepomuk/controller/runtime/systemtray/systray.h PRE-CREATION > nepomuk/controller/runtime/systemtray/systray.cpp PRE-CREATION > nepomuk/controller/systray.h 3e2adb6 > nepomuk/controller/systray.cpp 920877b > > Diff: http://git.reviewboard.kde.org/r/101786/diff > > > Testing > ------- > > Testing: > ( My machine ) GNU/Linux x86_64, 2.6.38. > > Compiles, works. There are problems with resizing of main widget - Qt doesn't > support automatic resizing of top-level windows, so a dirty-dirty hack is > used. > > > Screenshots > ----------- > > systray-on-dev-machin > http://git.reviewboard.kde.org/r/101786/s/190/ > nepomuk-systray-xephyr > http://git.reviewboard.kde.org/r/101786/s/192/ > > > Thanks, > > Artem > >
_______________________________________________ Nepomuk mailing list [email protected] https://mail.kde.org/mailman/listinfo/nepomuk
