Это зависит от программы. Большинство этих настроек "основного" окна (или, точнее, настроек окна "документ") являются жестко заданными. Я полагаю, что они используют то, что Apple предоставляет в своих структурах управления окнами, например, Preview.app.
Для большинства приложений, только свойства NSWindow
вспомогательных окон сохраняются в списках свойств программы, в то время как параметры окна документа может храниться в другом месте. Это то, что делает Chrome, поскольку он кроссплатформенный и использует общий формат настроек на нескольких компьютерах.
Например, com.macromates.textmate.plist
имеет следующую запись:
NSWindow Frame New File Sheet
568 932 386 209 0 0 1920 1178
Вы можете изменить их, и я полагаю, что они используют прямоугольные координаты и начало координат для представления, первые четыре значения - NSRect
:
- верхняя левая координата X
- верхняя левая координата Y
- ширина
- рост
TextMate делает сохранить свое основное положение окна под OakDocumentWindowFrame
но , как я уже говорил, это не тот случай для всех приложений , документы на основе.
Google Chrome использует свой собственный способ решения этой проблемы, а именно в файле JSON. У него есть настройка window_placement
, и вы можете найти его в:
~/Library/Application Support/Google/Chrome/Default/Preferences
Вот как это выглядит:
"window_placement": {
"always_on_top": false,
"bottom": 1046,
"left": 0,
"maximized": false,
"right": 1680,
"top": 22,
"work_area_bottom": 1046,
"work_area_left": 0,
"work_area_right": 1680,
"work_area_top": 22
},