New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
A few minor fixes I picked - mainly with rename action #1586
Conversation
@tiennou seems like I had a stashed fix for that QSPluginUpdater.xib warning. See 3697bc6 for a hopeful fix. @skurfer - see fe515df for a potential fix to #1030. It does what I just suggested on the issue thread, but it'll probably need a fair bit of testing first (plus on 10.7 to make sure things still work there) |
Doesn’t build for me as is. There’s still a call to It seems to fix #1030, though. |
Xcode seems to be really buggy atm. (related to Etienne seeing different numbers of warnings)... I saw that error, did a clean and then a rebuild, and it went away... I'll take another look |
Alright, so I think one of our project settings must have changed at some point to treat warnings as errors. I checked the code, and I was only getting a warning, not a build error. Changed now. |
P.S. Keep testing the fixes for #1030 - if you can think of any other ⇧'something' (like ⇧␣) key combinations that this might break, be sure to try them out ;-) |
return NO; | ||
} | ||
|
||
if (![[QSLib scoredArrayForString:mnem] containsObject:object]) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know if there's a clean and easy way to do it, but I think this and line 135 below need to do what “filter results” would do instead of “filter catalog”. As it is, this prevents you from assigning a mnemonic to anything that isn't in the catalog.
Offering to add a synonym is a nice idea, but not necessary in the first pass. It’s probably sufficient to just add a note to the error message, like “You might want to create a synonym instead”. Also, I think the abbreviation in the error message should be in quotes. The changes related to renaming look good. |
Your points have been taken aboard. I'll try and figure out the not-in-catalog object business. So as it is, hold yer horses. Hopefully in the next day I'll have a commit which fixes single/double modifier activation in password fields/secure text mode. It's working right now, just needs some testing and smoothing out :D |
OK, that problem you mentioned should be fixed. I opted to just use the object ranker to check that the single object actually matches - more efficient and fixes your problem :) There are also a whole host of new fixes for you to enjoy... not least, the single/double tap modifier business for password fields/secure text entry in Terminal. I told you (and @tiennu) I'd get round Apple's flimsy security measures :D |
OK. Any idea what the merge conflict is about? |
Hmm... maybe I had an old master lying about which I'd based this off. I've done a merge and fixed the problem. But hang on a sec... now it seems like tapping a modifier for some keyboard shortcut brings up QS, which isn't right of course Looking into it |
Heh, I found https://developer.apple.com/library/mac/technotes/tn2150/_index.html, if you go to "Discussion", there's this interesting tidbit :
No security cookie for you @pjrobertson ;-). But here's the gold nugget : |
I know it's late in La France… but IRC? It'd be good to break Apple's security again :P
?! On 8 Medi 2013, at 07:42, Etienne Samson notifications@github.com wrote:
|
P.S. Good find, but I want my cookie! :P |
Heh, I'm going to sleep. I'm working on tiennou/Letters, and I just finished a good batch of the rewrite I'm doing.
It's not even "frowned upon" reactions you will get, people are going to come at us with forks and flammable things if we do that ;-). I mean, I expect secure input to prevent stuff like copy/pasting when someone enables it (or else it would be too easy to game, wait until a process triggers the secure mode, and perform copy action like crazy until you get their password out). If that's the case and you lock the whole secure system all the time, you can kiss goodbye to that (and TextExpander, and so much things that my mind boggles). I'll be among the first to complain vehemently ;-). The "stop listening" part was about preventing us from triggering in case we only see a modifier (like the ⌃C thing in Terminal) but can't get to the keys because the Secure Mode is active. At least we could bring up a notification or something, instead of the interface (since that's likely unexpected). That would a least lower the reports, and we could have a page on the Wiki giving a more complete explanation. For reference, here's TextExpander one. See the list of misbehavers. Personally, I never used activation modifiers because of that : they're too easy to trigger inadvertently, what ever you set (except maybe ⌥, but the others are out of luck). I'm fine with my ⌃˽ ;-). |
Yeah, that's perhaps the better solution - keep things as they are and just ignore modifiers in secure inputs. FYI, I've just looked into the private NSEvent methods to see if there was a way to get the delta between events. There's a method called but I can't seem to get it to work, no matter what arg1 is (I've just tried a loop from i=0 to i=999999999999 and got 0 every time!) That struct contains soooo much information, but I can't figure it out either. So I think it's a no-go with
But that doesn't seem to work at all for me, plus it needs 'Access for assistive devices' enabled in sys prefs. Letters looks fun and crashy. Just like Quicksilver right? ;-) Or have you got bored of QS since it's not crashy enough :P 8 Medi 2013, at 10:55, Etienne Samson notifications@github.com wrote:
|
In fact, addGlobalMonitorForEventsMatchingMask:handler: does work, another bit of tidying up there :) n 8 Medi 2013, at 11:08, Patrick Robertson robertson.patrick@gmail.com wrote:
|
Lots of progress here this morning. I've fixed another merge conflict (with the minVersion branch) and fixed the modifier only activation to work super properly :) Take a look everyone |
_Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \ | ||
Code; \ | ||
_Pragma("clang diagnostic pop") \ | ||
} while (0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No newline at end of file, says GitHub ;-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bonjour :)
Is that the best you can come up with? :P
Hehehe. On IRC if need be
And if you really want it, I can add it in :)
On 8 Medi 2013, at 17:04, Etienne Samson notifications@github.com wrote:
In Quicksilver/Code-QuickStepCore/QSMacros.h:
@@ -18,3 +18,11 @@
#define QSLog(s, ...)
[MLog logFile:FILE lineNumber:LINE
format:(s), ##VA_ARGS]
+
+#define SuppressPerformSelectorLeakWarning(Code)
+do {
+_Pragma("clang diagnostic push")
+_Pragma("clang diagnostic ignored "-Warc-performSelector-leaks"")
+Code;
+_Pragma("clang diagnostic pop")
+} while (0)
No newline at end of file, says GitHub ;-)—
Reply to this email directly or view it on GitHub.
Nice! I always wanted to see Letters go somewhere. |
Somewhere might be a little too far though ;-). I'm trying to test what I did this weekend, and I get back "A stable connection to the server could not be established" errors. Either MailCore sees that I'm on an iPhone, or it sees that I'm doing debug-level things ;-). |
I've got a server running Dovecot and Postfix. Those are probably closer to a standard implementation than a lot of the big online services. Plus, I can see error logs on the server side, which was pretty helpful when adding MailCore to the E-mail Support plug-in. Contact me privately if you want a test account. |
Is this good to go? Renaming and abbreviation stuff seems fine. I can use ⌘⌘ in Terminal now. What else needs checking? Should I maybe change that to a single modifier and run it for a while to make sure there aren't any weird side effects? |
if (!key || [key isEqualToString:@""]) return; | ||
|
||
[QSLib scoredArrayForString:mnem]; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why call this if the result isn't captured/used at all? Does it update something internal to QSLib
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed now
Yes, I've done lots of testing, but single modifier and caps lock modifier are the two to play with. Also checking the capitalised keys change action business. Otherwise, it's good. I discussed the screwy indentation with Etienne on IRC, Xcode's fault, so ignore it! On 11 Medi 2013, at 05:10, Rob McBroom notifications@github.com wrote:
|
Oh, and check it when you have triggers that use CTRL+key hotkeys, as well as stuff like on release, after delay… settings :) On 11 Medi 2013, at 07:40, Patrick Robertson robertson.patrick@gmail.com wrote:
|
Small bug. When I change between ⌥ and ⌘ (single or double), it still recognizes the other until a restart. Not sure if it also affects others but definitely those two. |
Good spot. Looking at the code, this seems it was always a bug... funny nobody ever came across it. The fix is simple(ish) - to observe the old value of the modifier key before the change, disable that hotkey, then observe the new value after the change event and enable that hotkey. ...however, the bindings thing doesn't seem to be working. Setting |
Thanks Apple, useless. A bug that's going to be fixed 'soon' after 2009 right? |
It now works properly for secure fields Use less Carbon and more Cocoa Don't send flags changed modifiers through to NSApp anymore (deal with them locally) Remove dead code and use more properties
… of the new method Means that doing something like: caps on, type 'a', caps off (within 0.5s) will no longer activate QS
(P.S. Sorry, I had to force push. If you want to test (it's probably worth it since there were lots of conflicts) then you'll need to force pull) |
I was just about to say the conflict wasn't a big deal, but OK. I'll pull again. :-) |
VDK Queue was funny for me. I tried a git submodule sync and git submodule update but it still didn't work. I probably got it wrong :( On 20 Sep 2013, at 00:30, Rob McBroom notifications@github.com wrote:
|
I think that's all that's holding this up. Can you confirm which commit we should be pointing to, @tiennou? |
Yeah, sorry. Me and submodules don't go nicely together. If you could let me know what I need to do to update, I'll go ahead and make the changes. Lots of tasty things (minor - hehe) things in this pull ;-) On 28 Sep 2013, at 04:36, Rob McBroom notifications@github.com wrote:
|
Oh, and one more thing - has anybody tested the #1030 bug on 10.7? If not I think I have a copy of the Lion install still lying around so may be able to install it . And I've just fixed the VDKQueue thing. I |
FYI I have no 10.7 install lying around so if anybody else has a running 10.7 that'd be handy |
I’ve got VMWare Fusion. I should be able to install 10.7 there. Downloading it from the App Store now. I’ll let you know what happens. |
Cool, I appreciate it. I could have gone through the trouble myself - so thanks for saving me the hassle (except now you make me feel bad!) |
At 4.72 GB, I don't know that you could have. It's already done downloading for me. :-) |
What you saying about Korean internet? ;-) Although I only have 50GB of my SSD left :( On 30 Sep 2013, at 23:45, Rob McBroom notifications@github.com wrote:
|
Difficult to test since the prefs window just spins without showing anything. I'll look into it some more after lunch. |
OK, installed 1.1.0, which allowed me to enable the right preferences, then tested the ⇧ key behavior and it still appears to work correctly with these changes. I should probably open a separate issue on the prefs hanging. |
A few minor fixes I picked - mainly with rename action
This’ll be change log hell. Lots of good treats in here, though. :-) |
Wahey!
I guess it's kind of a good thing we found a 10.7 bug :) On 1 Oct 2013, at 03:14, Rob McBroom notifications@github.com wrote:
|
4008: 'Assign Abbreviation…' works for me for the first time since… ß54? Thanks! |
.
in them. E.g. before renaminga.folder
toa
(i.e. removing the apparent folder extension) would fail.A.txt
toa.txt
). OS X is case insensitive (so the move previously failed) but is case preserving (so we should respect the case)abc
as a mnemonic to the file/hij.txt
(i.e. there are no matches). Other ideas: we could ask the user if they want to set up a synonym?