Skip to content
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

Update for M1 #3

Closed
ITRecords38 opened this issue Jan 10, 2021 · 27 comments
Closed

Update for M1 #3

ITRecords38 opened this issue Jan 10, 2021 · 27 comments

Comments

@ITRecords38
Copy link

Hi

Is an update possible?

Thanks

amm

@xilopaint
Copy link
Owner

Hi! I can't reproduce your issue on my side. The machine.png icon is retrieved by the getMacIcon.applescript created by @ChristoferK. I got in touch with him and he will help us in the coming days to debug the issue.

@ITRecords38
Copy link
Author

Hi! I can't reproduce your issue on my side. The machine.png icon is retrieved by the getMacIcon.applescript created by @ChristoferK. I got in touch with him and he will help us in the coming days to debug the issue.

Hi,

Really nice. Thank you. I'm waiting for your return 😉

@ChristoferK
Copy link

@GrimlocK38, sorry for keeping you waiting. To provide more clues as to where the problem might lie, and—just as importantly—where it does not, would you mind running the script below from within Script Editor ? It's a modified, stripped-down version of the script used by the Alfred workflow, containing only the essential lines necessary for generating the image appropriate for the machine.

Upon execution, the script should return either true or false. If it returns true, then you can run it again after removing the following line:

return the result

Removing that line will allow whatever image is generated by this script to open in Preview for you to discern whether or not it's what one would expect (i.e. not simply a blank image).


use framework "Foundation"
use framework "AppKit"

property this : a reference to the current application
property NSWorkspace : a reference to NSWorkspace of this
property sharedWorkspace : a reference to NSWorkspace's sharedWorkspace

property filepath : "/tmp/machine.tiff" as «class furl»

set root to the sharedWorkspace()'s iconForFileType:"'root'"
set tiff to root's TIFFRepresentation()
tell tiff to writeToURL:filepath atomically:yes

return the result


tell application id "com.apple.finder" to open filepath ¬
	using application file id "com.apple.Preview"

@ITRecords38
Copy link
Author

ITRecords38 commented Feb 18, 2021

Hi @ChristoferK

I waited wisely but no problem :)

I just tested and got the right result
screen

I removed the line and got the picture. Am I replacing everything in the script now ?

  1. These 2 pieces of information are reversed

screen

  1. you will update the info in the script for operation

Thanks

@xilopaint
Copy link
Owner

  1. These 2 pieces of information are reversed

I take care of this part. Please, post the Terminal output for system_profiler SPHardwareDataType.

@ITRecords38
Copy link
Author

Ok @xilopaint. Here

Last login: Fri Feb 19 06:48:14 on ttys000
itrecords@MacBook-Pro-M1 ~ % system_profiler SPHardwareDataType
Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro17,1
      Chip: Apple M1
      Total Number of Cores: 8 (4 performance and 4 efficiency)
      Memory: 16 GB
      System Firmware Version: 6723.100.337.121.1
      OS Loader Version: 6723.100.337.121.1
      Serial Number (system): FVFDQ1ZGQ05P
      Hardware UUID: 00A09928-1610-502F-A415-78C10C428972
      Provisioning UDID: 00008103-001C644420C0291E
      Activation Lock Status: Enabled

itrecords@MacBook-Pro-M1 ~ % 

Repository owner deleted a comment from ITRecords38 Feb 19, 2021
@xilopaint
Copy link
Owner

Could you test this build and post here the Alfred UI output image?

It should fix the processor part. I need the Terminal output for system_profiler SPDisplaysDataType to debug the graphics part.

@ITRecords38
Copy link
Author

ITRecords38 commented Feb 19, 2021

@xilopaint,

I test. Thanks and here the processor part.

Last login: Fri Feb 19 08:27:22 on ttys000
itrecords@MacBook-Pro-M1 ~ % system_profiler SPDisplaysDataType
Graphics/Displays:

    Apple M1:

      Chipset Model: Apple M1
      Type: GPU
      Bus: Built-In
      sppci_cores: 8
      Vendor: Apple (0x106b)
      Metal Family: Supported, Metal GPUFamily Apple 7
      Displays:
        Color LCD:
          Resolution: 3360 x 2100
          UI Looks like: 1680 x 1050 @ 60.00Hz
          Main Display: Yes
          Mirror: Off
          Online: Yes
          Automatically Adjust Brightness: No
          Connection Type: Internal

itrecords@MacBook-Pro-M1 ~ %

Result

For image of processor possible logo Apple or not ?

screen

Repository owner deleted a comment from ITRecords38 Feb 19, 2021
@xilopaint
Copy link
Owner

xilopaint commented Feb 19, 2021

For image of processor possible logo Apple or not ?

I'm looking for an icon for Apple M1. Btw, Apple M1 is the right title for the graphics. What is this icon for the graphics, by the way? Did you put it by yourself? And why the resolution differs from your first image?

@ITRecords38
Copy link
Author

ITRecords38 commented Feb 19, 2021

  1. For icon m1. Ok

  2. for the resolution I did not touch anything. I restarted the script by the editor. it can come from that

  3. By cons "About this Mac“ graphic lost

aboutthismac

@xilopaint
Copy link
Owner

3. By cons "About this Mac“ graphic lost

I don't get what you tell here.

@ITRecords38
Copy link
Author

Sorry @xilopaint

I don't know if it's the script that at modify this part.

@xilopaint
Copy link
Owner

Sorry @xilopaint

I don't know if it's the script that at modify this part.

I'm struggling to understand you. Please, use Google Translate, it should do a good job with French. The icon your image shows for the graphic chipset doesn't come from the workflow I distribute. Where did you get it?

@ITRecords38
Copy link
Author

for icon graphic chipset. i changed here
icon

@xilopaint
Copy link
Owner

for icon graphic chipset. i changed here

I'm not asking where you changed but where you got the icon from.

@ITRecords38
Copy link
Author

@xilopaint, here : https://macosicons.com

@ChristoferK
Copy link

ChristoferK commented Feb 20, 2021

I waited wisely but no problem :)

I just tested and got the right result
screen

I removed the line and got the picture. Am I replacing everything in the script now ?

Not just yet. That was checking the core functionality of the script was doing what it was meant to, which means the problem with the original script must be in the conversion of the TIFF data to PNG data. The script achieved this previously using Image Events, which is the part of the process that is most likely to fail from upgrading to Big Sur (although it's strange that it appears to work as before for @xilopaint).

To be safe, I'll rewrite the script to perform the conversion without using Image Events.

On a minor note, the Objective-C method used to create the icon, namely iconForFileType:, is now deprecated as of Big Sur. There's a new method called iconForContentType:, which I will test when I install Big Sur. Since deprecated methods tend to remain functional for at least one major OS version, this isn't crucial right now.

I'll post an updated script this week. Thanks for your patience.

@ITRecords38
Copy link
Author

Hi @ChristoferK,

Thanks for your return. No problem, I wait wisely. Thanks to you 2 for the follow-up and the update :)

@xilopaint
Copy link
Owner

@ChristoferK any news on this?

@ITRecords38
Copy link
Author

@xilopaint @ChristoferK

Hi, I wait wisely. hoping that chris will be able to give us this update. Thanks again

@ChristoferK
Copy link

ChristoferK commented May 1, 2021

@xilopaint @GrimlocK38 Hello, thanks for nudging me. I've been distracted by multiple projects, plus my day job.

[ I'm a medical doctor and the entire year has been swallowed by CoViD, my time hasn't felt like my own. ]

I did write the replacement handler for converting a TIFF to and saving as a PNG. I have, erm, 164 script documents open in CotEditor, so it's in one of these. I've just written a JXA routine to search the open documents and bring the windows to the front, so I'll post some code this weekend.

Unrelated query: On contemplating installing Big Sur this weekend also, from the perspective of the impact the new OS has had on scripting, and any software that either of you might use, has the upgrade been painful at all, and is there anything useful to be aware of in advance ?

Alfred, Keyboard Maestro, Typinator, FastScripts, iTerm, FiSH shell, JXA, AppleScript, Hammerspoon, EventScripts, plus any scriptable applications that notably do less well since upgrading.


Bonjour, merci de m’avoir ecrivent. J’ai été distrait par plusieurs projets, et mon travail de jour (Je suis médecin et toute l’année a été avalée par CoViD, mon temps n’a pas senti comme le mien).

J’ai écrit le subroutine de remplacement pour convertir un TIFF et économiser comme un PNG. J’ai, erm, 164 documents de script ouverts dans CotEditor, donc c’est dans l’un d’eux. Je viens d’écrire une routine JXA pour rechercher les documents ouverts et apporter les fenêtres à l’avant, donc je vais poster du code ce week-end.


Requête sans rapport: Sur la contemplation de l’installation de Big Sur ce week-end aussi, du point de vue de l’impact du nouveau système d’exploitation a eu sur le scripting, et tout logiciel que l’un de vous pourrait utiliser, a la mise à niveau a été douloureux à tous, et y at-il quelque chose d’utile d’être conscient à l’avance?

Alfred, Keyboard Maestro, Typinator, FastScripts, iTerm, FiSH shell, JXA, AppleScript, Hammerspoon, EventScripts, ainsi que toutes les applications scriptables qui font notamment moins bien depuis la mise à niveau.

@xilopaint
Copy link
Owner

@ChristoferK Thank you for your service, Doc!

@ChristoferK
Copy link

Here we go, guys. This is the chunk of code that will safely generate the machine icon, saving it as a PNG image file, and returning the path to the file:

use scripting additions
use framework "AppKit"

property this : a reference to the current application
property nil : a reference to missing value
property NSBitmapImageRep : a reference to NSBitmapImageRep of this
property NSWorkspace : a reference to NSWorkspace of this

property filepath : POSIX file "/tmp/machine.png"

tell (TIFFRepresentation of iconForFileType_("'root'") ¬
	in the sharedWorkspace of NSWorkspace) to tell ¬
	representationUsingType_properties_(4, nil) of ¬
	(NSBitmapImageRep's imageRepWithData:it) to if ¬
	writeToURL_atomically_(filepath, yes) then ¬
	return the filepath's POSIX path

Do you want me to upload this as an .applescript file attachment ?

@xilopaint
Copy link
Owner

Do you want me to upload this as an .applescript file attachment ?

Yes, please. After we test it you can submit a PR if everything is ok.

@xilopaint
Copy link
Owner

Do you want me to upload this as an .applescript file attachment ?

@ChristoferK could you upload the file so we can test the new implementation?

@xilopaint
Copy link
Owner

@ChristoferK 👋

@xilopaint
Copy link
Owner

Apple Silicon support has been added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants