Re: Gitk doesn't work on macOS Mojave

2018-07-19 Thread Evgeny Cherpak
đź‘Ť

> On 20 Jul 2018, at 9:25, Eric Sunshine  wrote:
> 
> [re-adding cc:git]
> 
> On Fri, Jul 20, 2018 at 12:38 AM Evgeny Cherpak  wrote:
>>> On 20 Jul 2018, at 7:30, Eric Sunshine  wrote:
>>> 
>>> On Fri, Jul 20, 2018 at 12:11 AM Evgeny Cherpak  wrote:
>>>> Not sure what you referring to?
>>>> Is it alternative to gitk? How I install it?
>>> 
>>> This: https://git-scm.com/docs/git-gui
>>> 
>>> It's not an alternative to gitk, but complements it by providing
>>> ability to stage and create commits, show blame information
>>> graphically, etc.
>>> 
>>> It's a standard part of the Git distribution, although it may not be
>>> installed by default, depending upon your platform and the packager.
>>> Some Linux distributions, for instance, may place it in a separate
>>> package for installation (named "git-gui" or something).
>> 
>> Just tried it - it works, but doesn't get focus.
> 
> Looking more closely, the code in "git gui" is catching and silently
> ignoring errors:
> 
>## On Mac, bring the current Wish process window to front
>if {[tk windowingsystem] eq "aqua"} {
>catch {
>exec osascript -e [format {
>tell application "System Events"
>set frontmost of processes whose unix id is %d to true
>end tell
>} [pid]]
>}
>}
> 
> which explains why you don't see the "Not authorized to send Apple
> events" error you see with gitk, and also explains why the application
> doesn't get focus.
> 
> So, updating gitk to mirror git-gui might be one way forward.



Re: Gitk doesn't work on macOS Mojave

2018-07-19 Thread Evgeny Cherpak
It seems this code placed at the end of the file, after getcommits() does the 
trick:

if {[tk windowingsystem] eq "aqua"} { 
set openscript [format { 
open -a \"$(ps -p %d -o comm=)\"
} [pid] ]
exec osascript -e [format {
do shell script "%s"
} "$openscript” ]
}


> On 19 Jul 2018, at 22:12, Eric Sunshine  wrote:
> 
> On Thu, Jul 19, 2018 at 2:48 PM Evgeny Cherpak  wrote:
>> You have probably heard this by now already, but gitk doesn’t work on macOS 
>> 10.14 - because it uses Apple Events,
>> And apps on 10.14 require user to give them permissions to control other 
>> apps with Apple Events.
> 
> This hasn't been reported, so thanks for bringing it up.
> 
>> Here is what I get when I try running it on my machine with beta 4 installed:
>> 
>> Error in startup script: 58:102: execution error: Not authorized to send 
>> Apple events to System Events. (-1743)
>>while executing
>> "exec osascript -e [format {
>>tell application "System Events"
>>set frontmost of processes whose unix id is %d to true
>>end te..."
> 
> Fortunately, this feature is merely a convenience, not otherwise
> critical to gitk functioning. It would be ideal if someone running
> Mojave could devise up a patch to work around the problem (either by
> skipping this code on Mojave or discovering a different way to bring
> the application to the foreground). An alternative would be to revert
> 76bf6ff93e (gitk: On OSX, bring the gitk window to front, 2013-04-24),
> which introduced this code.
> 
> (Note, however, that the gitk project is dormant, so it's not clear if
> such a patch will be picked up.)



Gitk doesn't work on macOS Mojave

2018-07-19 Thread Evgeny Cherpak
Hi

You have probably heard this by now already, but gitk doesn’t work on macOS 
10.14 - because it uses Apple Events,
And apps on 10.14 require user to give them permissions to control other apps 
with Apple Events.

Here is what I get when I try running it on my machine with beta 4 installed:

Error in startup script: 58:102: execution error: Not authorized to send Apple 
events to System Events. (-1743)
while executing
"exec osascript -e [format {
tell application "System Events"
set frontmost of processes whose unix id is %d to true
end te..."
invoked from within
"if {[tk windowingsystem] eq "aqua"} {
exec osascript -e [format {
tell application "System Events"
set frontmost of processes ..."
(file "/usr/local/bin/gitk" line 12212)

And Apple doesn’t allow to add apps to “Automation” :( 

Best regards.
And thanks for git :)