Page 1 of 1

Change in v6.10 behavior?

Posted: Sun Mar 31, 2024 2:11 am
by mrbungle
I was playing with the new 6.10 OS X release and notice that this code does not run properly (spinning cursor):
https://www.purebasic.fr/english/viewto ... 50#p426750

However, the same code runs fine on version 6.04. Was there a change?

Thank you

Re: Change in v6.10 behavior?

Posted: Sun Mar 31, 2024 3:18 am
by mk-soft
Sometimes things change internally at PB.
The code must therefore be adapted.

Code: Select all

EnableExplicit

#NSSquareStatusBarItemLength = -2

Define ItemLength.CGFloat = 32
Define StatusBar.I
Define StatusItem.I

UsePNGImageDecoder()

OpenWindow(0, 270, 100, 300, 100, "SysTray Menu Example")

If LoadImage(0, #PB_Compiler_Home + "Examples/Sources/Data/World.png")
  StatusBar = CocoaMessage(0, 0, "NSStatusBar systemStatusBar")
 
  If StatusBar
    ; ----- Create icon in system status bar (SysTray)
    StatusItem = CocoaMessage(0, CocoaMessage(0, StatusBar,
      "statusItemWithLength:", #NSSquareStatusBarItemLength), "retain")

    If StatusItem
      CocoaMessage(0, StatusItem, "setLength:@", @ItemLength)
      CocoaMessage(0, StatusItem, "setImage:", ImageID(0))
     
      ; ----- Create menu with entries for click on SysTray icon
      CreatePopupMenu(0)
      MenuItem(0, "Show computer name")
      MenuItem(1, "Show user name")
      
      CompilerIf #PB_Compiler_Version < 610
        ; Old __NSArrayM of NSMenu
        ;CocoaMessage(0, StatusItem, "setMenu:", CocoaMessage(0, MenuID(0), "firstObject"))
      CompilerElse  
        ; Now direct
        CocoaMessage(0, StatusItem, "setMenu:", MenuID(0))
      CompilerEndIf
      
      Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            Break
          Case #PB_Event_Menu
            Select EventMenu()
              Case 0
                MessageRequester("Info", "Computer name: " + ComputerName())
              Case 1
                MessageRequester("Info", "User name: " + UserName())
            EndSelect
        EndSelect
      ForEver
    EndIf
  EndIf
EndIf

Re: Change in v6.10 behavior?

Posted: Sun Mar 31, 2024 4:12 am
by mrbungle
Understood. thank you for the guidance!