Настройка скрипта Python 10.10 для рабочего стола

339
ghostof101

Я не фантастик в Python, и в настоящее время я использую скрипт, основанный на https://gist.github.com/gregneagle/6957826 .

Я пытаюсь внести одно изменение в параметр «Ключи словаря изображений для рабочего стола» в следующем сценарии, но я не уверен, какой код правильный.

Текущий код

options = {} 

То, что я хочу получить, - это значение NO для "NSWorkspaceDesktopImageAllowClippingKey" (Ссылка: https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSWorkspace_Class/index.html#// apple_ref / doc / constant_group / Desktop_Image_Dictionary_Keys )

Моя конечная цель - просто заставить эту программу установить изображение рабочего стола в 10.9 и 10.10 в FIT для экрана вместо экрана FILL, что, как кажется, всегда по умолчанию. Это часть утилиты изображений NetRestore, поэтому мне нужно автоматизировать ее, поскольку эта информация содержится в настройках ByHost.

Спасибо!

-rks

Вот оригинальный скрипт для тех, кому это нужно:

#!/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) 
1

0 ответов на вопрос