triggers disappear on start-up

28 views
Skip to first unread message

tuniTMF

unread,
Mar 25, 2010, 9:19:36 PM3/25/10
to Blacktree: Quicksilver
I thought I understood how to set up the triggers and set up a couple,
patting myself on the back! But, something is causing these newly
formed triggers to disappear upon start-up. The old triggers I set up
last week are still there but no matter how many times I set up the
new ones (using ^ + alpha) - I can use them all through my current
session but when I shut down or even try "re-start" they are gone and
in the trigger pane it shows the trigger (i.e., ^Z) but next to the
checked box, it shows "null" - does this have something to do with
something I set up in preferences or maybe "actions" - I see nothing
in plug-ins/actions/command etc....that says to do away with my newly
formed triggers....any ideas would be appreciated!

This app. is a lot of work.....not for the faint-hearted!;)

Would like to use it but encounter difficulty after difficulty - am
using the newest version and Snow Leopard if that gives you any
clues.....

Paul Kohut

unread,
Mar 26, 2010, 4:53:22 AM3/26/10
to Blacktree: Quicksilver
It's hard to say why the triggers are acting this way for you. Having
just "fixed" the trigger code for SN, I have a couple suspensions
about the cause, but not a work around a user could use. Though it's
probably not related, the trigger info is not saved until 10 seconds
after the change is made. So if you quit or restart QS within 10
seconds of making a trigger change, the change is lost. This isn't
what you describe though. I suspect the problem is with the code and
trigger handles, but this is hard to confirm because I didn't write
the original code and don't know what the author intended, it's pretty
much just based on observations while fixing/debugging another trigger
issue.

A thought just occurred for a possible work around, you can check
~/Library/Application Support/Quicksilver/Triggers.plist
it is in an XML format so open it with a good editor. Find the <dict>
entry for your trigger, and make sure the enabled key is set to true -
here's an example of the Get IP script done as a ctrl A trigger from
that file. See the <key>enabled</key><true/> section? Make sure yours
has that set. Let us know if that helps.
Thanks,
Paul


<dict>
<key>ID</key>
<string>ED929E0B-8941-4EB6-8F08-68720B818102</string>
<key>command</key>
<dict>
<key>actionID</key>
<string>AppleScriptRunAction</string>
<key>directID</key>
<string>~/Library/Application Support/Quicksilver/PlugIns/Extra
Scripts.qsplugin/Contents/Resources/ExtraScripts/Networking/Get
IP.scpt</string>
</dict>
<key>enabled</key>
<true/>
<key>keyCode</key>
<integer>0</integer>
<key>modifiers</key>
<integer>262401</integer>
<key>onPress</key>
<true/>
<key>type</key>
<string>QSHotKeyTrigger</string>
</dict>

rectalogic

unread,
Mar 28, 2010, 3:53:09 PM3/28/10
to Blacktree: Quicksilver
I'm having the same problem. The trigger is enabled in the plist. But
on restart, the trigger shows up in the Custom Triggers list, with the
enabled checkbox checked and the correct hotkey, and the correct "Run
script" action, but the script arguments are all null. i.e. it shows
"Run script: (null)"

This is the trigger I'm using, but the "Get IP" trigger you posted has
the same issue (if I paste that XML into my Triggers.plist, it shows
up enabled but with "Run Script: (null)" and nonfunctional.

<dict>
<key>ID</key>
<string>A4885393-359A-49C3-8A43-F82A3646AEF2</string>


<key>command</key>
<dict>
<key>actionID</key>

<string>QSShellScriptRunAction</string>
<key>directID</key>
<string>/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb</string>
<key>indirectID</key>
<string>/Users/aw/Projects/rectalogic/window-manager/layout.yaml</


string>
</dict>
<key>enabled</key>
<true/>
<key>keyCode</key>

<integer>83</integer>
<key>modifiers</key>
<integer>2490627</integer>


<key>onPress</key>
<true/>
<key>type</key>
<string>QSHotKeyTrigger</string>
</dict>


If I set a breakpoint in QSCommand-dObject and bring up the Triggers
preferences, when my custom trigger hits the breakpoint both QSObject-
objectWithIdentifier: and QSAction-actionWithIdentifier: return nil
because the identifier being used is the "directID" in the commandDict
and that's the path to my script. So dObject (and also iObject) never
get set. It's using the pathnames as identifiers and trying to look
them up in the objectDictionary or actionIdentifiers.

(gdb) po [self commandDict]
{
actionID = QSShellScriptRunAction;
directID = "/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb";
indirectID = "/Users/aw/Projects/rectalogic/window-manager/
layout.yaml";
}

When I manually reset the trigger in preferences, it is calling
QSCommand-initWithDirectObject:actionObject:indirectObject: and
QSCommand-setIndirectObject: etc. which is why it works then.

So maybe QSCommand-dObject etc. need to handle the case where
"directID" exists in the commandDict, but is not a valid QSObject or
QSAction identifier, and in that case do
[self setDirectObject:[QSObject objectWithName:[[self commandDict]
objectForKey:@"directID"]]]

Andrew

Paul Kohut

unread,
Mar 29, 2010, 2:39:32 PM3/29/10
to Blacktree: Quicksilver
Hey Andrew, sounds like you've got a pretty good handle on the issue,
are you able to implement the changes and test? Unfortunately I can't
reproduce the trigger issue.

tuniTMF

unread,
Mar 30, 2010, 10:26:42 AM3/30/10
to Blacktree: Quicksilver
my problem with the triggers disappearing on shut down continues tool.
Do not understand all the technical scripting stuff you and Paul
describe - that is totally beyond me - however, this just is so
frustrating. Have totally removed and reinstalled the application so
many times. Even went to a previous version (34) I believe but it does
not play well with Snow Leopard. Unless I can get this trigger issue
resolved, unfortunately, QS is really of little value to me at this
point. I don't give up easily but have been trying to get it to work
properly for almost a month....It should not be this complicated.
Does any one know of an easy (to understand for a non-geek person)
fix????
many thanks,
tuni

AquaMethod

unread,
Mar 30, 2010, 12:42:04 PM3/30/10
to Blacktree: Quicksilver
One fix I've used is to open the file they mentioned above (/Users/
name/Library/Application Support/Quicksilver/Triggers.plist) after you
create a trigger, but before closing Quicksilver. Keep the file open
as you quit Quicksilver, and once Quicksilver has terminated, save the
file you have open.

tuniTMF

unread,
Mar 31, 2010, 11:51:24 AM3/31/10
to Blacktree: Quicksilver
I tried that too - whoops, no, I didn't quit & save, I saved, then
quit. Will try again and let you know.
thx

tuniTMF

unread,
Mar 31, 2010, 5:51:21 PM3/31/10
to Blacktree: Quicksilver
I think I've tried all suggestions posted here - alas, no joy!
HOwever, I do have a thought - the triggers that disappear on shut
down and start-up appear to be those I've set up for specific web
sites - those are "forums" and/or discussion groups of one sort or
another. All would open with a http://etc......those are the ones
which do not remains in my triggers. Is it possible that this thought
has any merit?

Or have any of you established triggers (with staying power <LOL>) for
a web site discussion group or forum? specifically I've tried to add
a trigger for my blackberry from "crackberry" using the link shown at
that site and one also for my favorite discussion boards on The Motley
Fool.

wondering - thanks for any input.
tuni

Marcel Hild

unread,
Apr 1, 2010, 2:40:46 AM4/1/10
to blacktree-...@googlegroups.com
I have quite some triggers set up for the websearch plugin. The URLs all start with qss-http://...
They usually survive reboots and restarts, but from time to time they also disappear.

Maybe its related to the websearch plugin?
Paul said there have been some fixes since this year.
I have vers. 104 (09/02/06)

> --
> To unsubscribe, reply using "remove me" as the subject.

Paul Kohut

unread,
Apr 1, 2010, 4:59:45 AM4/1/10
to Blacktree: Quicksilver
I don't think the web search plug in itself will be the issue. More
than likely it will be the trigger code. When the code obtains a
trigger resource id from the OS, it stores the id in the trigger
object. However, in the trigger's release code it asks the OS to
remove the ID associated with the object, but it is somehow already
nil. How it got this way or what other issues this could cause in
other parts of the trigger code is unknown. Just a heads up for
anyone that wants to take a dive into the trigger code.

BTW, Does the qss- web searches work as expected when not used as
triggers?

Marcel, the web search fixes mentioned were related to the displayed
icons
http://github.com/pkohut/blacktree-alchemy/commit/8112c8d9ff625688c3071e84ee188f16be242e85

and here some more info you might find useful
http://github.com/tiennou/blacktree-elements/commit/9b2955f1f292c550e56d8275dfc54a9769cfe282

Marcel Hild

unread,
Apr 1, 2010, 5:06:27 AM4/1/10
to blacktree-...@googlegroups.com
> BTW, Does the qss- web searches work as expected when not used as
> triggers?

Yes.

> Marcel, the web search fixes mentioned were related to the displayed
> icons
> http://github.com/pkohut/blacktree-alchemy/commit/8112c8d9ff625688c3071e84ee188f16be242e85

Yes, thought so, but it seemed the version number of the web search module was bumped (mine was 104 and now I have 128) so I thought I give it a try.
I'll see if my websearch triggers still disappear from time to time.

Good to know ;)

rectalogic

unread,
Apr 1, 2010, 2:15:04 PM4/1/10
to Blacktree: Quicksilver
So it looks like if I actually let the latest QS (from git) save the
Triggers.plist, it uses a new format which now loads properly (even in
the B58(3814) build). The new format is saving the direct/indirect
objects as archives now instead of just plain <string>:


<dict>
<key>ID</key>
<string>A4885393-359A-49C3-8A43-F82A3646AEF2</string>
<key>command</key>
<dict>
<key>actionID</key>
<string>QSShellScriptRunAction</string>

<key>directArchive</key>
<dict>
<key>class</key>
<string>QSObject</string>
<key>data</key>
<dict>
<key>NSFilenamesPboardType</key>
<array>
<string>/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb</string>
</array>
<key>NSStringPboardType</key>
<string>/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb</string>
</dict>
<key>properties</key>
<dict>
<key>QSObjectName</key>
<string>/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb</string>
<key>QSObjectType</key>
<string>NSFilenamesPboardType</string>
</dict>
</dict>


<key>directID</key>
<string>/Users/aw/Projects/rectalogic/window-manager/
window_manager.rb</string>

<key>indirectArchive</key>
<dict>
<key>class</key>
<string>QSObject</string>
<key>data</key>
<dict>
<key>QSTextProxyType</key>
<string></string>
</dict>
<key>properties</key>
<dict>
<key>QSObjectName</key>
<string></string>
<key>QSObjectType</key>
<string>QSTextProxyType</string>
</dict>
</dict>


</dict>
<key>enabled</key>
<true/>
<key>keyCode</key>
<integer>83</integer>
<key>modifiers</key>
<integer>2490627</integer>
<key>onPress</key>
<true/>
<key>type</key>
<string>QSHotKeyTrigger</string>
</dict>

Marcel Hild

unread,
Apr 1, 2010, 2:41:56 PM4/1/10
to blacktree-...@googlegroups.com
Have there been any changes to the Source on Github? To me it looks
like the latest release is in sync with the current code.

stefenligne

unread,
Apr 9, 2010, 4:46:43 PM4/9/10
to Blacktree: Quicksilver
Hello
It seems I'm keeping my triggers running since
1 - I scoped the finder one's to "all application"
2 - I closed the triggers window before quitting ;
My graphicconverter scoped triggers never showed any problem
Great app

lloyd709

unread,
Apr 12, 2010, 5:00:55 AM4/12/10
to Blacktree: Quicksilver
I'm having the same problem. I'm completely new to Quicksilver and
it's not a good first taste - how would I find out when/if the bug
gets fixed.

stefenligne

unread,
Apr 12, 2010, 11:36:18 AM4/12/10
to Blacktree: Quicksilver
Hello
Wrong! none of the scoped application's triggers are working. The only
difference between a working trigger and a broken one, once my
triggers.plist edited, is the applicationScopeType's flag set to zero
or one.
Regards

tuniTMF

unread,
Apr 12, 2010, 11:57:08 AM4/12/10
to Blacktree: Quicksilver
the only triggers I am having probs with are links for forums i.e.,
http://forums/crackberry etc..... The triggers for the apps are
staying there upon shut down and restart. It seems only the http://forums
type are giving me trouble. Copy and past them into triggers pop-up
but no joy...keep getting "null" upon restart....
Reply all
Reply to author
Forward
0 new messages