Image 01


Anders Aagaard
System Runners
fsrunner for KRunner

System Runners 87 comments

Score 83.0%
Oct 03 2012
I haven't had time to work on it at all for some time. But another person has joined the project and fixed multiple issues. - Sep 05 2010
Well, I can't ask for it to be included and then stop maintaining it. That's not how things work.

Fsrunner also has some limitations, especially with symlinks, that I'd like to see fixed before inclusion.

You might want to feature request this kind of feature, and then link them to fsrunner for inspiration/code. - May 30 2010
Unfortunatly I work so much overtime, and have been for the last 6 months it's incredibly hard for me to get to this. I don't even have a build enviroment setup right now to test it :/ - May 30 2010
Post and issue with as much information as possible here:

It'd increase your chances of getting it fixed a lot if you build it in debug mode and get me a console output of that as well. See, it's in the svn tree.

Please note that I'm working a lot of hours lately, so excuse the delay on replies/lack of updates. - Mar 03 2010
I don't really have time to implement localization now, atleast with it's current userbase. - Aug 21 2009
It actually filters backup extensions by default ;), I don't support user defined filters though, and I dont have the time to add that right now.

This is the only filtering going on:

if ((fileInfo.suffix() == "bak") || (fileInfo.fileName().rightRef(1) == "~") || (fileInfo.suffix() == "old") || fileInfo.fileName() == "lost+found")
continue; - Aug 17 2009
Unfortunately that doesn't tell me much, could be an issue in kde 4.2.4 if I'm lucky. - Jul 13 2009
Can't fix bugs nobody tells me about, you got a backtrace or anything? - Jul 13 2009
Open dirwatcher.cpp and search for bak, it demonstrates suffix (aka extension), rightRef (last char in filename) and full .filename usage. - May 17 2009
The action system is disabled, core functionality for extra buttons for cut/copy/paste/open with etc is there, but disabled as it always broke for me for no good reason.

Exception rules are there for files, just not user configurable. And for directories adding a subdirectory with different settings will override parent directory. - May 15 2009

Glad you like it, and go ahead, I haven't had much time to work on it lately, but it's a simple idea.

I had some more things I wanted to add/change internally that hasn't been done, but it's been working flawlessly for me and I haven't had any bugreports. - May 14 2009
Much appreciated, it's been on my todo list for quite a long time. I've used gentoo exclusively for years, and if you ever find a problem with fsrunner I'm neuron on #gentoo-kde on freenode ;) - Mar 14 2009
new version out with some settings on how searches are handled.

So checkout the configuration menu, cuz it's more or less the only change in this release.

Worth mentioning that I had krunner crash on me once, but I wasn't able to get a backtrace, and I've been trying really really hard to reproduce it. Hopefully it wasn't my runner (I got tons on), and if it was, and someone gets me a backtrace I'll have it fixed within a few hours anyway. - Mar 13 2009
New features have been kinda on the back burner, as I've focused on performance, if there is anything you particularly want implemented, make a comment here or in the issue tracker, even if there is an issue open.

Most of the stuff in there is quick enough to do, I just dont get around to it, if I know people are waiting for it it'll be done faster. - Mar 11 2009
Added some new code now, to cache more in memory during the scan. It upped the memory usage by about 3mb on my system (6000 entries monitored), but it's only during the scan.

And this lowered scan time from 40 seconds (while profiling, running the same scan over and over for testing) to 7 seconds.

Should be worth 3mb extra memory usage during the scan I should think, all memory is cleared afterwards, and no more memory is used. - Mar 11 2009
I considered adding it as an option, but I dont wanna start putting in options 99% of the population wouldn't know what to do with.

I'll put it at 200ms, it shouldn't really be a problem if a scan is a tiny bit slower on one selected scan folder. - Mar 10 2009
a forced delay between folder scans is now implemented in svn, should make scanning your ntfs filesystem usable.

The hardcoded delay is 10ms between directories, if that's too little let me know and I'll up it. You can play with values in dirwatcher.cpp (search for msleep). - Mar 10 2009
Can you turn off scanning files in your mp3 directory and see if that changes the scan speed at all? (I'm hoping it won't).

Also could you do a match for *mp3 and see if it takes forever to pull up?

Just realized there might be some potentional issues with very slow filesystems. - Mar 09 2009
that's not to 0.3 seconds, that's by 0.3 seconds, but I am atleast working on things! ;) - Mar 09 2009
Had something on my todo list that wasn't in the issue tracker, and forgot it.

Now reduced the scanspeed on my home system from 4-5 seconds to 0.3 in svn. More improvements are coming in as well. - Mar 09 2009
I'm running a profiler now, and I'll add some code to be nicer on slow filesystems, such as a static pause between directories. Although you might wanna open a bug about that on the google issue tracker so I dont forget.

And the kmail one... I've never seen kmail crash and I've had this on for ages, and I got depth 3 and files true. - Mar 09 2009
Ah, yeah, ntfs scanning might take a lot of resources, but that's not really something I can improve, it's ntfs being incredibly inefficient, and even if the scanner is running on low priority the filesystem doesn't have any priority levels, so it will suck up a lot of resources.

Scanning $HOME crashes kmail?.... that seems incredibly odd to me. What filesystem is this? And can you confirm that bug again, the only thing my code does is watch, it shouldn't affect any other program in ANY way. - Mar 09 2009
oh, and dont compile with debugging, it adds a lot of safety checks.

See if that reduces the time it takes, it should, a lot. - Mar 09 2009
The scanning thread is on nice priority, and ionice is also used.

This however for me takes about 1-2 seconds.

Could you try echo "select count(*) from entries;" | sqlite3 .kde4/share/apps/fsrunner/database.sql and tell me how many entries are in your database?
Also what kind of hardware is this on? Cpu speed/harddrive type or speed would be helpfull. - Mar 09 2009
They will be faster IF you want to search the same place as the locate database.

For example for scanning your entire filesystem for one specific file using locate will likely be more efficient. But for scanning your home directory locate would be rather inefficient, as it would scan through more data, and I would have to filter the data returned.

Also I dont want the entire filesystem poluting my output, as I rarely need to find something in say /usr/share when I search, I like confining my searches to $HOME.

I believe with it's current resource usage it would be very usable on even very very old computers. - Mar 09 2009
Thank you :), Added that link to the download list. And bumped version to 0.3.1, actions are still giving me some rare issues.

0.3.1 wont change anything for people using the standard interface, it only disabled actions by default in the task oriented interface.

I'm starting to think it's a krunner problem and not a problem in my code, but they should be working soon.

I dont use them myself, and I dont have that interface enabled, so I dont test that code as much as I should (apperantly). - Mar 09 2009
0.3 out, has action system and internal changes that should improve scanning performance a bit. - Mar 09 2009
0.2 released, now ionice's.

0.2 only has some rather uninteresting small tweaks, as I'm not entirely sure what more to add. It "just works" for me right now. - Mar 02 2009
Added a little usage page with some basic screenshots.

And yeah, I know I'm lucky there isn't capital punishment for poor web design. - Mar 02 2009
You enable the fsplugin, add some directories in the configuration for the plugin, click alt+f2 to bring up krunner and type in a search term. - Mar 01 2009
I just realized you said no referance in desktop search, this isn't related to desktop search, this is a krunner.

Click alt+f2 to open krunner, and the little configure symbol on the left side to enable and configure my plugin. - Mar 01 2009
hm, if those files exists kde should pick then up.

Which version of qt and kde are you running? - Mar 01 2009
You should have these files installed after a sudo make install:


If you dont you might have missed CMAKE_INSTALL_PREFIX when doing cmake (see README, and remember to make uninstall to get rid of the files in /usr/local/* before the new install).

If those files are there, try restarting krunner (a simple killall krunner; krunner should do it). - Feb 28 2009
Added this in revision 23, very simple code, more or less a copy&paste from yours for the action system. And completely untested, as I only have a 4.2.0 stable system right now.

Do you think there's a way to share this code, maybe in krunner? If search result is of type file/directory then dynamically add open/cut/copy etc?

A system like that could also allow krunner to filter out duplicates when multiple runners return the same file or directory. Of course each runner might want a different custom action... hm, I dunno. - Feb 28 2009
You install it, open krunner's configuration, enable it and change the configuration of what directories to monitor there.

I choose not to use locatedb, as it needs to be run on schedule, and is used more for locating files in root than in the users home directory. I also wouldn't want my root directory's files to show up, as I never need to access /usr/share/* from krunner. - Feb 28 2009
And I've already used your addon as a referance to how runners work ;) - Feb 28 2009
it's on the todo list :) - Feb 28 2009
I plan to add some more fun stuff as well.

For example being able to use / to browse subdirectories/files in a directory.

And also krunner actions, such as cut/copy/paste etc, for extremely efficient filesystem management. - Feb 27 2009
Yes, but that's my point, indexing all data for me produces a massive database, where more or less every search term will give tons of hits, making it completely useless.

99.9% of the times I need access to a directory/file, I know exactly where I'm going, I just needed a quicker way of getting there. - Feb 27 2009
The scanning thread is already started at low priority, but it's the thread, not the process, so it might not look that way in top.

Also using ionice is issue #2 in the bug tracker ;) - Feb 27 2009
Addon Runners for KRunner

System Runners 4 comments

Score 58.0%
Jan 30 2009
turning on email notify in this thread. - Mar 09 2009
I found a fairly reproducable bug when using the code in fsrunner.

Write in a search term, and remove it, the main window will say "loading", but the actions will still be visible (and selectable), clicking them crashes krunner.

That's tested with the window plugin, I dont have nepomuk, however I use the nepomuk code with fsrunner, and it works fine, but as soon as that scenario occures it crashes.

So if I search for a few different terms, one valid, then pull up actions, then search for some invalid terms it breaks the action system.

The window code only crashes if I click an invalid action actions, however the fsrunner code seems to crash as soon as invalid actions are produced from a search term.

Backtrace shows fsrunner crashes at:
m_actions->addOpenWithActionsTo(&dummy, QString());

Could you have a look at fsrunner's action system and see if I'm doing something terribly wrong, or if this is krunner's fault? I've been looking at this for ages, and I'm really not sure what's going on here. - Mar 09 2009