Anpassen des 10.10 Desktop Change Python-Skripts

Anpassen des 10.10 Desktop Change Python-Skripts

Ich bin nicht besonders gut in Python und verwende derzeit ein Skript basierend aufhttps://gist.github.com/gregneagle/6957826.

Ich möchte im folgenden Skript eine Änderung an der Option „Desktop Image Dictionary Keys“ vornehmen, bin mir aber nicht sicher, was der richtige Code ist.

Aktueller Code

options = {}

Was ich dort haben möchte, ist ein NO-Wert für „NSWorkspaceDesktopImageAllowClippingKey“ (Referenzierung:https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html#//apple_ref/doc/constant_group/Desktop_Image_Dictionary_Keys)

Mein Endziel ist es, dieses Programm dazu zu bringen, das Desktopbild in 10.9 und 10.10 auf Bildschirmgröße anzupassen, anstatt auf Bildschirmgröße, was anscheinend immer die Standardeinstellung ist. Es ist Teil eines NetRestore-Image-Dienstprogramms, daher muss ich dies automatisieren, da diese Informationen in den ByHost-Einstellungen enthalten sind.

Danke schön!

-rks

Hier ist das Originalskript für diejenigen, die es brauchen:

#!/usr/bin/python

'''Uses Cocoa classes via PyObjC to set a desktop picture on all screens.
Tested on Mountain Lion and Mavericks. Inspired by Greg Neagle's work: https://gist.github.com/gregneagle/6957826

See:
https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSWorkspace_Class/Reference/Reference.html

https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSURL_Class/Reference/Reference.html

https://developer.apple.com/library/mac/documentation/cocoa/reference/applicationkit/classes/NSScreen_Class/Reference/Reference.html
'''

from AppKit import NSWorkspace, NSScreen
from Foundation import NSURL
import argparse
import sys

parser = argparse.ArgumentParser(description='Sets the desktop picture on all screens')
parser.add_argument('--path', help='The path of the image')
args = vars(parser.parse_args())

if args['path']:
    picture_path = args['path']
else:
    print >> sys.stderr, 'You must supply a path for the desktop picture'
    exit(-1)

# generate a fileURL for the desktop picture
file_url = NSURL.fileURLWithPath_(picture_path)

# make image options dictionary
# we just make an empty one because the defaults are fine
options = {}

# get shared workspace
ws = NSWorkspace.sharedWorkspace()

# iterate over all screens
for screen in NSScreen.screens():
    # tell the workspace to set the desktop picture
    (result, error) = ws.setDesktopImageURL_forScreen_options_error_(
                file_url, screen, options, None)
    if error:
        print error
        exit(-1)

verwandte Informationen