|
ecaradec
|
 |
« Reply #150 on: February 23, 2012, 07:08:25 AM » |
|
I hope that whatever choice is made, the app can remain portable
That's the issue with relying on activex objects to bind behaviors. Windows has a lot of theses objects preinstalled, but some will need a separate installation. Implementing JSctypes would be best; it's also quite a bit of work because nobody seem to have done and published it on a JScript basis. I tried the import.vbs. It seems to works with google chrome too, I just needed to change the path to : bookmarkfile = objShell.ExpandEnvironmentStrings("%USERPROFILE%") & "\Local Settings\Application Data\Google\Chrome\User Data\Default\Bookmarks" However Qatapult doesn't seems to know what to do with thoses types, may be that's just a bug in Qatapult. Did actions worked for you pigeonlips ?
|
|
|
|
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #151 on: February 23, 2012, 03:31:28 PM » |
|
yeah it works for me. I did have to use the full path to the import.vbs script and set the working dir to be the location of the sqlite3.exe. Qatapult doesn't seems to know what to do with thoses types
not sure what you mean. I did get the 'import bookmarks' verb in the middle pane and it ran ok. I did have to select a bookmark in the web cat first. I'm also working on a better more simple (but maybe more helpful) plugin where you can add or delete an entry from the website.db The problem is that need to use 4 panes to get all the details for the row: any entry in website (cat) > add bookmark (verb) > Name > URL it would be sweet if qataplut knew that anything in the first pane that starts with http:// is a website and inherits the verb for website type. Then i could do this. http://some.url > Add bookmark > Name at the moment i added an entry called new (no URL) to work around, but i still need to use 4 panes or present a dialogue to add the name. I was hoping to avoid this as it always seems a little bolt on when i have to come out of qatapult to complete an action.
|
|
|
|
« Last Edit: February 23, 2012, 04:26:45 PM by pigeonlips »
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #152 on: February 23, 2012, 04:59:35 PM » |
|
quick suggestion too - hope you dont mind.
In another launcher i used (executor) it separated the results list by what it called group which is your cats. This would be nice so that when i search for something say 'word' i can easily distinguish what it is. IE
APPLICATION word WINDOW word - some open document WEBSITE help using MS WORD
|
|
|
|
|
Logged
|
|
|
|
|
|
ewemoa
|
 |
« Reply #153 on: February 23, 2012, 05:01:04 PM » |
|
Don't know if it's a good idea, but if "multiple items per pane" is implemented at some point (in QS lingo "the comma trick" -- see page 15 of the manual), may be that would be a work-around of a sorts...
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #154 on: February 23, 2012, 05:06:28 PM » |
|
In another launcher i used (executor) it separated the results list by what it called group which is your cats. This would be nice so that when i search for something say 'word' i can easily distinguish what it is.
It does seem like some kind of grouping of results might be nice. Not sure what a good UI would be for it though. I used Exector for a bit at some point too but I don't think I ended up feeling that the grouping was done well (though perhaps better than nothing?). The following screenshot is from one of the launcher's pages (to supplement pigeonlips' description a bit): 
|
|
|
|
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #155 on: February 23, 2012, 05:08:20 PM » |
|
so would that be
Website (Cat) > Add Bookmark > Name , URL ?
i like it although it assumes the user knows what values need to be in each side of the comma. All the same i like it!
|
|
|
|
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #156 on: February 23, 2012, 05:09:33 PM » |
|
The following screenshot is from one of the launcher's pages
thanks was just about to upload an example screen shot!
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #157 on: February 23, 2012, 05:57:35 PM » |
|
so would that be
Website (Cat) > Add Bookmark > Name , URL ?
i like it although it assumes the user knows what values need to be in each side of the comma. All the same i like it!
It's a bit of a hack for the current situation for sure. To clarify, after pressing the comma key, a little icon is added below the now-shrunken pane. FWIW, here are some images from some folks around the net: first pane with comma trick third pane with comma trick
|
|
|
|
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #158 on: February 23, 2012, 06:19:19 PM » |
|
nice - thanks - looks good. Them quicksliver folks know good ui 
heres an example of (doesnt work) on how to add and delete from the website db.
you need sqlite3.exe in the plugin folder. http://www.sqlite.org/sqlite.html
<settings> <rules> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Add Bookmark</lbl> <ico>plugins\.png</ico> </item> </arg> <cmd>plugins\Bookmarks\sqlite3.exe</cmd> <args>"..\..\databases\websites.db" "insert into websites values ('new','new','','','website','0');"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Delete Bookmark</lbl> <ico>plugins\.png</ico> </item> </arg> <cmd>plugins\Bookmarks\sqlite3.exe </cmd> <args>"..\..\databases\websites.db" "delete from websites where display = 'new';"</args> </rule> </rules> </settings>
It doesnt work, and i think this is because of the "'s. @ewemoa you posted that you had this problem too - did you ever get around it. I think its the dbling up on the "". Tried all sorts.
If i can get this to work then i can replace the 'new' with $1.name and deleting at least will work.
|
|
|
|
« Last Edit: February 23, 2012, 07:39:38 PM by pigeonlips »
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #159 on: February 23, 2012, 06:33:04 PM » |
|
forget that last post - I'm winning:
<settings> <rules> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Add Bookmark</lbl> <ico>plugins\.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\Bookmarks\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "insert into websites values ('new','new','','','website','0');"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Delete Bookmark</lbl> <ico>plugins\.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\Bookmarks\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "delete from websites where display = 'new';"</args> </rule> </rules> </settings>
I win - hooray for me! create your plugin folder ( i called it 'bookmark') add an icon in there called bookadd.png, bookrem.png, bookname.png and book.png download and extract sqlite3.exe ( http://www.sqlite.org/sqlite.html) to that folder. add the plugin xml [ copy or print] <settings> <rules> <rule> <arg>TEXT</arg> <arg> <item> <lbl>Add Bookmark As</lbl> <ico>plugins\bookmark\bookadd.png</ico> </item> </arg> <arg>TEXT</arg> <arg> <item> <lbl>Bookmark Name?</lbl> <ico>plugins\bookmark\bookadd.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\bookmark\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "insert into websites values ('$2.text','$2.text','$0.text','','website','0');"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Open Bookmark</lbl> <ico>plugins\bookmark\book.png</ico> </item> </arg> <cmd>$0.href</cmd> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Delete Bookmark</lbl> <ico>plugins\bookmark\bookrem.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\bookmark\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "delete from websites where display = '$0.display';"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Rename Bookmark</lbl> <ico>plugins\bookmark\bookname.png</ico> </item> </arg> <arg>TEXT</arg> <arg> <item> <lbl>Bookmark Name?</lbl> <ico>plugins\bookmark\bookname.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\bookmark\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "update websites set display ='$2.text' where display = '$0.display';"</args> </rule> </rules> </settings>
|
|
|
|
« Last Edit: February 27, 2012, 08:40:02 PM by pigeonlips »
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #160 on: February 24, 2012, 02:35:11 AM » |
|
I hope that whatever choice is made, the app can remain portable
That's the issue with relying on activex objects to bind behaviors. Windows has a lot of theses objects preinstalled, but some will need a separate installation. Implementing JSctypes would be best; it's also quite a bit of work because nobody seem to have done and published it on a JScript basis. Sorry to hear it may be a lot of work...I hadn't heard of JSctypes until you mentioned it. I doubt I'll find anything helpful, but I'm interested in finding out more  I don't suppose V8 / node.js is a practical option -- I was surprised to learn that MS provided some aid in the Windows port...
|
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #161 on: February 24, 2012, 02:39:46 AM » |
|
At least I have a new version  It has been a bit long, there is now a simple skin system. I've designed a simple inline skin as a demo :  So you can try making a few skins with that  . The position of text and icons inside fields is probably not pixel perfect which means it might change slightly, so you should avoid making tightly ajusted things. Qatapult automatically detect if the ratio W/H is more than 2 then it will do a inline things instead of the big icon thing. I've also added some variables : rpath, rdirectory and rfilename that resolve links . This is useful for making cmdhere or explore commands on links, as you'd usually do not want to explore the startmenu but the linked location instead.
|
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #162 on: February 24, 2012, 12:41:01 PM » |
|
I found an interesting guide on how to develop plugins for QS : http://projects.skurfer.c...verPlug-inReference.mdown . It goes deeper that the user manual. I found that QS maintains a list of types for objects, it might be nice to have something like that : Currently a catalog in Qatapult can only return one type of data. QS catalogs can return various types : as a example a contact might return a 'phone number','an address', etc.. all of them correctly typed. I could be very nice for declarating actions. That will also maintain types more homogeneous. @pigeonlips : Very creative use of the sqlite commands within Qatapult. I was on the go for work and didn't really tried your command.
|
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #163 on: February 24, 2012, 12:55:48 PM » |
|
I had a look at node.js and spotted that it now has a Windows installer. The previous time I had a look it was only available on linux. Node.js would be very nice to include, as it has a lot of librairies. However its purpose is to be a server and it doesn't seems to be easily embeddable : http://stackoverflow.com/...e-js-interpreter-into-c-cv8 seems embedable however, I'll have a quick look if I can integrate that.
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #164 on: February 24, 2012, 08:59:32 PM » |
|
I found that QS maintains a list of types for objects, it might be nice to have something like that : Currently a catalog in Qatapult can only return one type of data. QS catalogs can return various types : as a example a contact might return a 'phone number','an address', etc.. all of them correctly typed. I could be very nice for declarating actions. That will also maintain types more homogeneous.
I used to think of QS' object/type idea as something like -- each type for a given object representing a different "view" or "perspective". As an example, some object might have a view as a file on one's disk but another view of it might be the text of the full path to the file. Is that close to your understanding?
On a related note about examining existing systems... It used to be that QS' source code was not available and writing plugins involved trying to understand the few examples available, asking on the forums, and trying to catch the main developer on IRC. I think the main developer felt his source code was very messy and was reluctant to release it for a while -- though he eventually did. Following a link from the guide you posted about, I learned that QS' source code went through a fair bit of cleaning up in recent years and IIUC it is generally available. It's probably very obvious, but FWIW, being able to interact with QS and work with its source has some hurdles -- it's written in Objective C and only builds and runs on Mac OS X. In contrast, the Kupfer launcher seems to me a pretty close emulation of QS and though AFAIK it doesn't run on Windows, its source (Python) is available and can run on *nix -- so can be tested pretty easily via something like Virtualbox. I've only written one plugin for Kupfer, but I found it much easier than writing plugins for QS. I believe this has to do with Python being easier to work with for this type of thing compared to Objective C, but I think that's not the only reason. My impression so far is that historically, Kupfer had the advantage of being able to examine how QS worked and the developer was able to avoid a lot of messiness that crept into QS' evolution. Well...anyway 
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #165 on: February 24, 2012, 11:36:43 PM » |
|
At least I have a new version  Thanks for the new version! I'm not sure if it's from this version or a previous one, but in the process of trying out pigeonlips' Bookmarks plugin:  After tabbing to the 3rd pane:  Pane 3 appears to be truncated. The truncation appears to happen with the inline skin too (vertical this time):   Also inline text mode seems to lead to truncation:  This was all with Windows XP Pro SP3.
|
|
|
|
« Last Edit: February 25, 2012, 12:15:06 AM by ewemoa »
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #166 on: February 25, 2012, 12:12:43 AM » |
|
add the plugin xml
I changed some of the plugins\bookmark\ instances to plugins\Bookmarks\. Renaming and opening worked here. Although I see a DOS window come up for a moment, adding didn't work with: Pane 1: https://duckduckgo.com/Pane 2: Add Bookmark As Pane 3: DuckDuckGo I checked websites.db via SQLiteDatabaseBrowser after exiting Qatapult, and didn't see any new bookmarks. Deleting didn't seem to work either. This is all with Windows XP Pro SP3.
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #167 on: February 25, 2012, 07:22:21 AM » |
|
I had a look at node.js and spotted that it now has a Windows installer. The previous time I had a look it was only available on linux. Node.js would be very nice to include, as it has a lot of librairies.
It certainly appears to be an interesting project. It'd be nice to somehow leverage node.js -- its asynchronous programming model may take some getting used to though. As I understand it, it's similar to Python's Twisted. v8 seems embedable however, I'll have a quick look if I can integrate that.
That sounds interesting -- wishing you luck!
|
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #168 on: February 26, 2012, 03:13:27 PM » |
|
I reproduced you issue ewemoa : it seems related to having 4 panes query or something like that (Qatapult default to the background.png background instead of the correct length one ). I'll have a fix as soon as I can release the new version. I'm reworking code so that catalogs can output more than one type of object and other clean up things. I've moved fast, I have to pay the price a bit of it now in order to add a plugin system. the developer was able to avoid a lot of messiness that crept into QS' evolution.
That should work for us as well  . It's actually really helpful not having to inspect every direction to check if everything is ok in the long run. I thought about the script integration too. I think that it'll be faster that I use JScript first. I can keep it apart enough so that we might switch latter. The main issue with V8 is that we would end up with a script engine without system connectivity : V8 doesn't comes with activexobject support of course and it would be a lot harder to write plugins without it. Anyways plugins aren't probably going to do a lot of length compute so that shouldn't be too bad.
|
|
|
|
« Last Edit: February 27, 2012, 02:30:24 AM by ecaradec »
|
Logged
|
|
|
|
|
|
|
ewemoa
|
 |
« Reply #170 on: February 27, 2012, 08:59:15 AM » |
|
Put together a rudimentary package to make it easier to get started with some of the plugins that have been posted. Usage
1. Execute BuildApp.exe. Should produce plugins directory.
2. Review content of resulting plugins directory and compare with existing Qatapult plugins directory.
3. Copy resulting plugins folder (or selected portions of) to Qatapult installation directory.
At the moment, the produced plugins directory should include: - AHK
- Calculate
- LargeType
- Timer
- Window
It's not as robust as it could be, but it's a start. MD5: 3722fc6fd0367e004e583b9fe9e08b7c
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #171 on: February 27, 2012, 02:44:27 PM » |
|
Here is a new release : - It is now possible to select sources you want to show up in the first pane or to disable them completly. - the bad background bug detected by ewemoa should be a thing of the past too - I enlarged the detail pane so that it match the size of the default background.png. This looks prettier imho. As you are sensible to that kind of thing, tell me you impression pigeonlips  - the clock is gone, I don't think it was very useful and it was difficult to keep with the current changes. It will come back later. Most changes are really preparation so that I can add a light plugin support in js, so there is a lot of internal changes.
|
|
|
|
|
Logged
|
|
|
|
|
ecaradec
|
 |
« Reply #172 on: February 27, 2012, 02:47:31 PM » |
|
Also I've found the Alfred app which is sort of the new hot thing among the world of keyboard launcher under mac os : http://www.alfredapp.com/powerpack/ . It looks really nice too. It's a very different presentation but I think it might be possible that I improve the skin system enough that it should be possible to make skins of that flavor under Qatapult... but hum, later 
|
|
|
|
|
Logged
|
|
|
|
|
pigeonlips
|
 |
« Reply #173 on: February 27, 2012, 06:09:13 PM » |
|
opps - typos in the plugin.xml - updated the post. looking forward to trying the new version 
|
|
|
|
|
Logged
|
|
|
|
|
ewemoa
|
 |
« Reply #174 on: February 27, 2012, 07:11:02 PM » |
|
opps - typos in the plugin.xml - updated the post.
Thanks! Adding seems to work now 
Removing still doesn't work for me. Below is what I have for plugin.xml: Formatted for XML with the GeSHI Syntax Highlighter [ copy or print] <settings> <rules> <rule> <arg>TEXT</arg> <arg> <item> <lbl>Add Bookmark As</lbl> <ico>plugins\Bookmarks\bookadd.png</ico> </item> </arg> <arg>TEXT</arg> <arg> <item> <lbl>Bookmark Name?</lbl> <ico>plugins\Bookmarks\bookadd.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\Bookmarks\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "insert into websites values ('$2.text','$2.text','$0.text','','website','0');"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Open Bookmark</lbl> <ico>plugins\Bookmarks\book.png</ico> </item> </arg> <cmd>$0.href</cmd> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Delete Bookmark</lbl> <ico>plugins\Bookmarks\bookrem.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\Bookmarks\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "delete from websites where display = 'new';"</args> </rule> <rule> <arg>WEBSITE</arg> <arg> <item> <lbl>Rename Bookmark</lbl> <ico>plugins\Bookmarks\bookname.png</ico> </item> </arg> <arg>TEXT</arg> <arg> <item> <lbl>Bookmark Name?</lbl> <ico>plugins\Bookmarks\bookname.png</ico> </item> </arg> <cmd>cmd.exe</cmd> <workdir>plugins\Bookmarks\</workdir> <args>/c sqlite3.exe "..\..\databases\websites.db" "update websites set display ='$2.text' where display = '$0.display';"</args> </rule> </rules> </settings>
Attached please find a packaging of what's being tried here (includes some temporary icons). MD5: 5cf077ccc5996420f146c3061ab77685
|
|
|
|
Logged
|
|
|
|
|