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
!URGENT ß74 Fix: Show the icon in the dock if users have never changed the setting #669
Conversation
If 'Show Dock Icon' has never been set in the prefs, there's no corresponding key in the preferences .plist. The old behaviour was to show the icon if there was no key, so we should respect this.
I'm more than happy to merge this into ß64 if it's deemed OK. I have the release branch and everything ;) |
… it's reflected in QS' prefs
@@ -59,8 +59,9 @@ - (id)init { | |||
|
|||
// Honor dock hidden preference if new version | |||
isUIElement = [self shouldBeUIElement]; | |||
if (isUIElement && [defaults objectForKey:kHideDockIcon] && ![defaults boolForKey:kHideDockIcon]) { | |||
if (![defaults objectForKey:@"QSShowMenuIcon"]) | |||
if (isUIElement && (![defaults objectForKey:kHideDockIcon] || ![defaults boolForKey:kHideDockIcon])) { |
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 think you need the objectForKey:
test. The documentation for boolForKey:
states: “If a boolean value is associated with defaultName in the user defaults, that value is returned. Otherwise, NO is returned.”
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.
Right you are!
It took me a few seconds to get my head round the !NO etc. business, but I
got there!
New commit, let me know what you think.
On 30 January 2012 13:34, Rob McBroom <
reply@reply.github.com
wrote:
@@ -59,8 +59,9 @@ - (id)init {
// Honor dock hidden preference if new version isUIElement = [self shouldBeUIElement];
![defaults boolForKey:kHideDockIcon]) {if (isUIElement && [defaults objectForKey:kHideDockIcon] &&
if (![defaults objectForKey:@"QSShowMenuIcon"])
- if (isUIElement && (![defaults objectForKey:kHideDockIcon] ||
![defaults boolForKey:kHideDockIcon])) {I dont think you need the
objectForKey:
test. The documentation for
boolForKey:
states: If a boolean value is associated with defaultName in
the user defaults, that value is returned. Otherwise, NO is returned.
Reply to this email directly or view it on GitHub:
https://github.com/quicksilver/Quicksilver/pull/669/files#r396928
Hmm... I guess there's no point really in setting the value unconditionally. if the I'll remove it unless you think it's necessary |
I don’t see the new commit. Did you push it? |
Apologies, should be there now. On 30 January 2012 14:39, Rob McBroom <
|
OK. Tested in a clean account and the Dock icon shows up. I actually saw this problem the other day, but didn’t connect the dots. I had an account with Quicksilver in the Dock (permanently) and noticed there was never a glowing |
!URGENT ß74 Fix: Show the icon in the dock if users have never changed the setting
I’ve merged it to master. I’ll let you merge it into release. Are you going to upload a new build to qsapp.com? Unfortunately, I’m just thinking of this now, but should we bump the build number (leaving the version number the same) so pre-release users will get it? If you think so, feel free to make such a commit on your own with no pull request. |
I was planning on doing that. I'll go ahead and do it :)
I think the easier way of doing it would have just been to merge 'release' On 30 January 2012 16:04, Rob McBroom <
|
Oh, I think I see what you're saying now. Well, my thoughts are: this is a On 30 January 2012 16:35, Patrick Robertson robertson.patrick@gmail.comwrote:
|
But the commits would have to be on the release branch in the first place, which they won't be since GitHub merges pull requests to master. The goals (I thought) were to preserve the GitHub workflow, but also have a known-good branch with only commits that are part of a release. I don't think we want a free-for-all where sometimes we merge master into release and sometimes we go the other way. Since master will contain everything from various pull requests, we pretty much have to go from that to release, rather than the other way around. Here's what I had envisioned:
In hindsight, it's so easy to create a release branch from an existing tag, I wonder if we even need to keep it around permanently. Seems to me we could just create a release branch as needed in a situation like this.
True, but my last 20 builds said 64 and they were all different. :-) All that really matters is what's released.
I'm all for incrementing the build number so pre-release users will get the new version. I just don't think we should up the version number unless the fix comes after a final release (as mentioned above). So I think current pre-release users should get B64 (3914). We'd chew through version numbers too quickly the other way. (Yes, that's very subjective.) As for avoiding confusion: I'm assuming the pre-release user base is smaller and more technical, on average. If we keep the version the same (and just increment the build), the few pre-release users that even notice will probably get what's going on. On the other hand, if we do what you suggest, all the regular users (who are still on 63) will eventually jump to 65. Now that will generate confusion and questions. :-) |
We really need to decide on the best workflow for all of this...! Probably best to discuss it all in the dev groups, so I'll move it over I think the fundamental differences in thinking between us is that: Your thinking is 6x means a 'final' release. Similar to a X.0.0 (e.g. Maybe we should just go v1.0 and forget about all this confusion. Then bug On 30 January 2012 18:47, Rob McBroom <
|
I agree with Rob. With our current version numbers, ß64 is the name for a major release, the build number is the name for a minor bug fix |
BTW:
When you make a pull request, you can choose which branch you want to apply the pull request to. Does that not work? |
Alright, I'm happy with that. I was going to open a new topic on the dev Rob - About your mention of not keeping the 'release' branch around On 31 January 2012 12:46, Henning Jungkurth <
|
Nope, for some reason the 'release' branch wasn't there. That's why I On 31 January 2012 14:18, Henning Jungkurth <
|
Sure, but if we decided that was the official way from now on, half the people wouldn’t know and the other half would forget. :-) We could have “dev” and “master” and send all pull requests to “dev”, or we could have “master” and “release” and send all pull requests to master. The only real difference is in naming, so I say we do what’s easiest (which is to accept GitHub’s default behavior). Now, we can talk about maybe doing that for fixes between pre-release and release. That is, open pull requests for fixes on the release branch. But they still need to get applied to master as well somehow. I don’t have strong feelings about how we handle that (but again, not having to remember the exception and just going with GitHub defaults might be best). |
@skurfer: I agree. Go with GitHub defaults, and only do special things when they need to be special. That comment was meant for Patrick. It seemed that he couldn't get the "pull request to another branch than master" to work, for some reason. |
If 'Show Dock Icon' has never been set in the prefs, there's no corresponding key in the preferences .plist. The old behaviour was to show the icon if there was no key, so we should respect this.
I learnt about this problem here: https://twitter.com/sadhuramrourato/status/163805906470047746
The change just shows the dock icon if the pref is set, or if it doesn't exist.
P.S. sorry for sending this twice. I wanted to try and make it merge automatically into Quicksilver/release france, but alas it doesn't seem possible. I'll get onto GitHub about it.