સ્ક્રિપ્ટેબલ macOS એપ્લિકેશન્સમાં ટૂલટિપ ડિસ્પ્લેનું અન્વેષણ કરવું
macOS પર કામ કરતા ડેવલપર્સ ઘણીવાર એવા સંજોગોનો સામનો કરે છે જ્યાં ટૂલટિપ્સ દ્વારા ઝડપી સંદર્ભ માહિતી પ્રદર્શિત કરવાથી વપરાશકર્તાના અનુભવમાં વધારો થાય છે. જો કે, સૌથી આગળની એપ્લિકેશન્સમાં ગતિશીલ રીતે આવા વર્તનનું સંચાલન કરવું પડકારરૂપ હોઈ શકે છે. AppleScript અથવા JavaScript જેવા સ્ક્રિપ્ટીંગ ટૂલ્સનો લાભ લેવો ઓસાસ્ક્રિપ્ટ વધુ નિયંત્રણ માટે શક્યતાઓ ખોલે છે.
જોકે ઉદ્દેશ્ય-C વૈવિધ્યપૂર્ણ ટૂલટિપ વિન્ડો બનાવવાની રીત પ્રદાન કરે છે, તે હંમેશા શ્રેષ્ઠ ઉકેલ ન હોઈ શકે. આ રીતે જનરેટ કરવામાં આવતી ટૂલટિપ્સ મર્યાદિત છે કારણ કે જ્યારે શૉર્ટકટ્સ દ્વારા અથવા રીઅલ-ટાઇમમાં ટ્રિગર કરવામાં આવે ત્યારે તે અન્ય એપ્લિકેશનો સાથે સારી રીતે ક્રિયાપ્રતિક્રિયા કરતી નથી. આ પ્રશ્ન ઊભો કરે છે કે શું બિલ્ટ-ઇન પ્રોપર્ટીઝ, જેમ કે ટૂલ ટીપ, વધુ કાર્યક્ષમ ઉકેલ પ્રદાન કરી શકે છે.
AppleScript અથવા JavaScript દ્વારા ટૂલટિપ્સને ગતિશીલ રીતે અસાઇન કરવાની કોઈ પદ્ધતિ છે કે કેમ તે અન્વેષણ કરવાનો અહીંનો ધ્યેય છે. આદર્શરીતે, આમાં વિસ્તૃત કસ્ટમ UI કોડની આવશ્યકતા વિના અથવા વપરાશકર્તાના વર્કફ્લોમાં ખલેલ પહોંચાડ્યા વિના ટૂલટિપ પ્રદર્શિત કરવા માટે હાલમાં સક્રિય એપ્લિકેશનને કહેવા માટે સ્ક્રિપ્ટનો ઉપયોગ શામેલ હશે.
આ લેખ તપાસ કરશે કે કેવી રીતે ટૂલટિપ પ્રોપર્ટી macOS ની અંદર કાર્ય કરે છે અને જો તેને ગતિશીલ રીતે બોલાવી શકાય છે. અમે હાલના અભિગમોનું મૂલ્યાંકન કરીશું અને સ્ક્રિપ્ટેબલ એપ્લિકેશન્સમાં ટૂલટિપ વર્તનને એકીકૃત રીતે નિયંત્રિત કરવાની વૈકલ્પિક રીતોની ચર્ચા કરીશું.
આદેશ | ઉપયોગનું ઉદાહરણ |
---|---|
initWithContentRect:styleMask:backing:defer: | આ ઑબ્જેક્ટિવ-સી પદ્ધતિ એક નવી શરૂઆત કરે છે એનએસ વિન્ડો પદાર્થ પરિમાણો વિન્ડોનું કદ, વર્તન અને તે જરૂરી હોય ત્યાં સુધી રચનાને સ્થગિત કરે છે કે કેમ તે વ્યાખ્યાયિત કરે છે. વૈવિધ્યપૂર્ણ ટૂલટિપ જેવી વિન્ડો બનાવવા માટે તે નિર્ણાયક છે. |
setHidesOnDeactivate: | આ ઑબ્જેક્ટિવ-C આદેશ એ સુનિશ્ચિત કરે છે કે ફોકસ બીજી એપ પર શિફ્ટ થાય ત્યારે પણ વિન્ડો દૃશ્યમાન રહે. આ વર્તણૂક બિન-ઘુસણખોરી ટૂલટિપનું અનુકરણ કરવા માટે જરૂરી છે જે જ્યારે સૌથી આગળની એપ્લિકેશન ધ્યાન ગુમાવે ત્યારે અદૃશ્ય થઈ જતી નથી. |
setLevel: | જેવા સ્થિરાંકોનો ઉપયોગ કરીને વિન્ડોનું પ્રદર્શન સ્તર સુયોજિત કરે છે NSFloatingWindowLevel. આ સુનિશ્ચિત કરે છે કે વિન્ડો અન્ય તમામ વિન્ડોની ટોચ પર રહે છે, ટૂલટિપના વર્તનની નકલ કરે છે. |
Application.currentApplication() | આ JavaScript આદેશ હાલમાં ચાલી રહેલ એપ્લિકેશનને પુનઃપ્રાપ્ત કરે છે. તે ટૂલટિપ સંદર્ભમાં સુસંગત છે તેની ખાતરી કરીને, સૌથી આગળની એપ્લિકેશન સાથે ગતિશીલ રીતે ક્રિયાપ્રતિક્રિયા કરવા માટે ઉપયોગી છે. |
systemEvents.processes.whose() | આ JavaScript સ્નિપેટ ક્વેરીઝ સિસ્ટમ હાલમાં કઈ એપ્લિકેશન સૌથી આગળ છે તે ઓળખવા માટે પ્રક્રિયા કરે છે. તે લક્ષ્યાંકિત ક્રિયાપ્રતિક્રિયાઓને મંજૂરી આપે છે, જેમ કે ફક્ત TextEdit જેવી વિશિષ્ટ એપ્લિકેશન્સમાં ટૂલટિપ્સ સેટ કરવી. |
set toolTip | આ AppleScript ગુણધર્મ લક્ષ્ય એપ્લિકેશનની અંદરની વિંડો અથવા તત્વને ટૂલટિપ સોંપે છે. તે વિષય સાથે સીધી રીતે સંબંધિત છે, જેનો હેતુ કસ્ટમ વિન્ડો વિના ગતિશીલ રીતે ટૂલટિપ્સ પ્રદર્શિત કરવાનો છે. |
use framework "AppKit" | ઑબ્જેક્ટિવ-C સાથે AppleScript જેવા ફ્રેમવર્કનો લાભ લઈ શકે છે એપકિટ મૂળ macOS ઘટકોને ઍક્સેસ કરવા માટે. કસ્ટમ વિન્ડોઝનો ઉપયોગ કરીને મૂળ જેવી ટૂલટિપ્સ બનાવવા માટે આ જરૂરી છે. |
display dialog | સંવાદ બોક્સ બતાવવા માટે પ્રમાણભૂત AppleScript આદેશ. અમારા ઉદાહરણોમાં, તે પ્રતિસાદ આપે છે જ્યારે લક્ષ્ય એપ્લિકેશન ટૂલટિપ્સને સપોર્ટ કરતી નથી, જે સ્ક્રિપ્ટની ઉપયોગીતામાં વધારો કરે છે. |
assert.strictEqual() | આ Node.js નિવેદન કાર્યનો ઉપયોગ એકમ પરીક્ષણોમાં ટૂલટિપ સેટિંગ તર્કને માન્ય કરવા માટે થાય છે. તે સુનિશ્ચિત કરે છે કે ટૂલટીપ યોગ્ય રીતે લાગુ કરવામાં આવી છે અને જો વર્તન અપેક્ષાઓને પૂર્ણ કરતું નથી તો પ્રતિસાદ આપે છે. |
સ્ક્રિપ્ટ્સ દ્વારા macOS માં ટૂલટિપ કાર્યક્ષમતાનો અમલ
પ્રથમ ઉકેલ લાભ લે છે એપલસ્ક્રિપ્ટ સૌથી આગળની એપ્લિકેશન સાથે સંપર્ક કરવા માટે. તે તપાસે છે કે કઈ એપ્લિકેશન સક્રિય છે અને લાગુ કરવાનો પ્રયાસ કરે છે ટૂલ ટીપ મિલકત જો એપ્લિકેશન તેને સપોર્ટ કરે છે. આ અભિગમ દર્શાવે છે કે કેવી રીતે સરળ સ્ક્રિપ્ટીંગ લોજિક ટેક્ષ્ટએડિટ જેવી સપોર્ટેડ એપ્સ સાથે ગતિશીલ રીતે સંપર્ક કરી શકે છે. જો એપ્લિકેશન ટૂલટિપ સેટ કરવાની મંજૂરી આપતી નથી, તો સ્ક્રિપ્ટ સંવાદ બોક્સનો ઉપયોગ કરીને વપરાશકર્તા પ્રતિસાદ પ્રદાન કરે છે. આ પદ્ધતિ સરળતા પ્રદાન કરે છે પરંતુ તે હકીકત દ્વારા મર્યાદિત છે કે બધી એપ્લિકેશનો તેમની ટૂલટિપ ગુણધર્મોને AppleScript પર પ્રગટ કરતી નથી.
બીજું ઉદાહરણ ઉપયોગ કરે છે ઓટોમેશન માટે જાવાસ્ક્રિપ્ટ (JXA), જે એપલનું મૂળ ઓટોમેશન સ્ક્રિપ્ટીંગ પર્યાવરણ છે. તે AppleScript ની તુલનામાં વધુ જટિલ તર્કને મંજૂરી આપે છે અને અન્ય JavaScript ટૂલ્સ સાથે વધુ સારી રીતે એકીકરણ પ્રદાન કરે છે. સિસ્ટમ ઇવેન્ટ્સ દ્વારા વર્તમાનમાં સક્રિય પ્રક્રિયાને ક્વેરી કરીને, સ્ક્રિપ્ટ સૌથી આગળની એપ્લિકેશનને ઓળખે છે અને તેને ટૂલટિપ સોંપવાનો પ્રયાસ કરે છે. આ સોલ્યુશન macOS એપ્સ સાથે ક્રિયાપ્રતિક્રિયા કરવામાં JXA ની લવચીકતાને હાઇલાઇટ કરે છે, પરંતુ તે હજુ પણ એપ પર આધાર રાખે છે જે ટૂલટિપ પ્રોપર્ટીને એક્સપોઝ કરે છે. જો નહિં, તો સ્ક્રિપ્ટ સુંદર રીતે સંદેશ સંવાદ પ્રદર્શિત કરવા માટે પાછી પડે છે.
વૈવિધ્યપૂર્ણ ટૂલટિપ જેવી વિન્ડો બનાવવા માટે ત્રીજું સોલ્યુશન ઑબ્જેક્ટિવ-C માં ડાઇવ કરે છે, જે AppleScript માં એમ્બેડ કરેલું છે. આ અભિગમ ટુલટીપની જેમ વર્તે એવી નાની, તરતી વિન્ડો જનરેટ કરીને ટૂલટીપ પ્રોપર્ટીની મર્યાદાઓને બાયપાસ કરે છે. સ્ક્રિપ્ટ નવી NSWindow શરૂ કરે છે અને ફોકસ ચોરી કર્યા વિના અન્ય વિન્ડોની ટોચ પર રહે તેની ખાતરી કરવા માટે તેના ગુણધર્મોને સમાયોજિત કરે છે. આ પદ્ધતિ ઉપયોગી છે જ્યારે વિકાસકર્તાઓને ટૂલટિપની જરૂર હોય જે એપ્લિકેશનના મૂળ સમર્થનથી સ્વતંત્ર હોય. જો કે, તેને ઑબ્જેક્ટિવ-C અને macOS ફ્રેમવર્કના વધુ અદ્યતન જ્ઞાનની જરૂર છે, જે તેને અમલમાં મૂકવા અને જાળવવા માટે થોડું વધુ જટિલ બનાવે છે.
છેલ્લે, પ્રદાન કરેલ એકમ પરીક્ષણો JavaScript ઓટોમેશન સોલ્યુશનના વર્તનને માન્ય કરવા માટે રચાયેલ છે. એપ્લિકેશન ઑબ્જેક્ટ અને તેના ટૂલટિપ સોંપણીના તર્કની મજાક ઉડાવીને, આ પરીક્ષણો ખાતરી કરે છે કે જ્યારે લક્ષ્ય એપ્લિકેશન તેને સપોર્ટ કરે છે ત્યારે ટૂલટિપ યોગ્ય રીતે સેટ છે. એકમ પરીક્ષણો એ સુનિશ્ચિત કરવામાં નિર્ણાયક ભૂમિકા ભજવે છે કે સ્ક્રિપ્ટ વિવિધ પરિસ્થિતિઓમાં અપેક્ષા મુજબ વર્તે છે, વિકાસની શરૂઆતમાં ભૂલો પકડે છે. આ પરીક્ષણો કોડ માન્યતા માટે શ્રેષ્ઠ પ્રયાસો પણ દર્શાવે છે, ખાસ કરીને ઓટોમેશન વાતાવરણમાં, જ્યાં સ્ક્રિપ્ટ્સ બહુવિધ પ્રક્રિયાઓ સાથે ક્રિયાપ્રતિક્રિયા કરે છે અને તેને સતત પ્રદર્શન કરવાની જરૂર છે.
સ્ક્રિપ્ટીંગ દ્વારા macOS એપ્લિકેશન્સમાં ટૂલટિપ સેટ કરવી
અભિગમ 1: ફ્રન્ટમોસ્ટ એપ્લિકેશનમાં ટૂલટિપ ડિસ્પ્લે માટે AppleScript
-- Check if the frontmost app supports tooltips
tell application "System Events"
set frontApp to (name of first application process whose frontmost is true)
end tell
-- Example: Try to set a tooltip on TextEdit if it's the front app
if frontApp = "TextEdit" then
tell application "TextEdit"
set toolTip of front window to "This is a dynamic tooltip!"
end tell
else
display dialog "Tooltip not supported for the current app."
end if
ઓટોમેશન માટે JavaScript નો ઉપયોગ કરીને ડાયનેમિક ટૂલટિપ
અભિગમ 2: macOS માં ટૂલટિપ ડિસ્પ્લેને સ્વચાલિત કરવા માટે JavaScript
// Use osascript to run JavaScript code targeting the front app
const app = Application.currentApplication();
app.includeStandardAdditions = true;
// Check if TextEdit is frontmost, set tooltip if true
const frontAppName = app.systemEvents.processes.whose({ frontmost: true })[0].name();
if (frontAppName === "TextEdit") {
const textEdit = Application("TextEdit");
textEdit.windows[0].toolTip = "This is a tooltip!";
} else {
app.displayDialog("Current app does not support tooltips.");
}
કસ્ટમ ટૂલટિપ વિન્ડો માટે ઑબ્જેક્ટિવ-સી સ્ક્રિપ્ટ
અભિગમ 3: ઑબ્જેક્ટિવ-C ટૂલટિપનું અનુકરણ કરવા એપલસ્ક્રિપ્ટમાં એમ્બેડેડ
use framework "Foundation"
use framework "AppKit"
property tooltip : missing value
-- Create a custom tooltip-like window
set tooltip to current application's NSWindow's alloc()'s
initWithContentRect:(current application's NSMakeRect(100, 100, 200, 50))
styleMask:1 backing:(current application's NSBackingStoreBuffered) defer:true
tooltip's setTitle:"Custom Tooltip"
tooltip's setLevel:(current application's NSFloatingWindowLevel)
tooltip's makeKeyAndOrderFront:true
-- Ensure it stays above other windows without stealing focus
tooltip's setHidesOnDeactivate:false
JavaScript ઓટોમેશન ટૂલટિપ માટે યુનિટ ટેસ્ટ
અભિગમ 4: JavaScript ટૂલટિપ ઓટોમેશન માટે યુનિટ ટેસ્ટ
const assert = require('assert');
// Mock of Application object
const mockApp = {
name: "TextEdit",
toolTip: "",
setToolTip: function (text) { this.toolTip = text; }
};
assert.strictEqual(mockApp.toolTip, "");
mockApp.setToolTip("Unit test tooltip");
assert.strictEqual(mockApp.toolTip, "Unit test tooltip");
console.log("Test passed!");
અદ્યતન તકનીકો સાથે macOS માં ટૂલટિપ પ્રદર્શનને વધારવું
સાથે કામ કરવાનું એક આવશ્યક પાસું ટૂલટિપ્સ macOS માં ઇન્ટર-એપ્લિકેશન સ્ક્રિપ્ટીંગની મર્યાદાઓને સમજે છે. તમામ એપ્લીકેશનો તેમના UI તત્વોને સ્ક્રિપ્ટીંગ ઈન્ટરફેસ દ્વારા ઉજાગર કરતી નથી, જેનો અર્થ છે કે વિકાસકર્તાઓને વારંવાર ઉકેલો મિશ્રિત કરવાની જરૂર પડે છે, જેમ કે સંયોજન એપલસ્ક્રિપ્ટ AppKit જેવા મૂળ માળખા સાથે. આ જટિલ પરિસ્થિતિઓમાં પણ સુસંગત પરિણામોની ખાતરી કરે છે, જેમ કે જ્યારે એપ્લિકેશનો ટૂલટિપ્સને મૂળ રૂપે સપોર્ટ કરતી નથી અથવા જ્યારે ગતિશીલ ક્રિયાપ્રતિક્રિયાની જરૂર હોય ત્યારે.
એક નિર્ણાયક વિચારણા એ છે કે કેવી રીતે macOS વિન્ડો સ્તરો અને ફોકસનું સંચાલન કરે છે. ઑબ્જેક્ટિવ-સી સાથે બનાવેલ કસ્ટમ ટૂલટિપ વિન્ડો વપરાશકર્તાના ઇનપુટમાં દખલ કર્યા વિના અન્ય તમામ વિન્ડો ઉપર રહેવી જોઈએ. ફ્લોટિંગ વિન્ડો લેવલનો ઉપયોગ કરીને આ વર્તણૂક પ્રાપ્ત કરી શકાય છે, પરંતુ તેના માટે ટૂલટિપના જીવનચક્રને અસરકારક રીતે સંચાલિત કરવાની જરૂર છે. ઉદાહરણ તરીકે, વિકાસકર્તાઓએ સુનિશ્ચિત કરવું જોઈએ કે ટૂલટિપ નિર્ધારિત સમય પછી અદૃશ્ય થઈ જાય છે અથવા જ્યારે વપરાશકર્તા મૂળ એપ્લિકેશન સાથે સંપર્ક કરે છે. આનું સંચાલન કરવામાં નિષ્ફળતા પ્રદર્શન સમસ્યાઓ અથવા અણધાર્યા વર્તન તરફ દોરી શકે છે.
ઉલ્લેખ કરવા યોગ્ય અન્ય વૈકલ્પિક અભિગમનો ઉપયોગ છે કીબોર્ડ માસ્ટ્રો અથવા અન્ય macOS ઓટોમેશન ટૂલ્સ. આ ટૂલ્સ કસ્ટમ કીબોર્ડ શૉર્ટકટ્સ દ્વારા AppleScript અથવા JavaScript સોલ્યુશન્સને ટ્રિગર કરી શકે છે, વપરાશકર્તાના વર્કફ્લો સાથે સીમલેસ એકીકરણ ઓફર કરે છે. જો કે, વિવિધ એપ્લિકેશનો પર સ્વચાલિત ટૂલટિપ્સ માટે ભૂલ સંભાળવાની જરૂર છે, કારણ કે કેટલીક એપ્લિકેશનો સ્ક્રિપ્ટીંગ વિનંતીઓનો પ્રતિસાદ આપી શકશે નહીં. આમ, શરતી તપાસ અને કસ્ટમ ઑબ્જેક્ટિવ-સી વિન્ડો જેવી બહુવિધ પદ્ધતિઓનું સંયોજન-વિવિધ વાતાવરણમાં મજબૂત કામગીરીની ખાતરી આપે છે.
macOS એપ્સમાં ટૂલટિપ્સ સેટ કરવા વિશે વારંવાર પૂછાતા પ્રશ્નો
- હું AppleScript નો ઉપયોગ કરીને ટૂલટિપ કેવી રીતે ટ્રિગર કરી શકું?
- તમે ઉપયોગ કરી શકો છો tell application અને set toolTip ચોક્કસ વિન્ડો માટે ટૂલટિપ સોંપવા માટે આદેશો.
- કીબોર્ડ શોર્ટકટનો ઉપયોગ કરતી વખતે ટૂલટીપ શા માટે દેખાતી નથી?
- કેટલીક એપ્લીકેશનો જ્યારે ફોકસમાં ન હોય ત્યારે ટૂલટીપ આદેશોને પ્રતિસાદ આપતી નથી. ઉપયોગ કરીને NSWindow ઑબ્જેક્ટિવ-સી માંથી આ સમસ્યાને ઉકેલવા માટે કસ્ટમ ટૂલટિપ બનાવી શકે છે.
- ની ભૂમિકા શું છે NSFloatingWindowLevel?
- આ સતત ખાતરી કરે છે કે તમારી ટૂલટિપ વિન્ડો વપરાશકર્તાના ઇનપુટમાં ખલેલ પહોંચાડ્યા વિના અન્ય વિન્ડોની ટોચ પર રહે છે.
- શું હું ટૂલટિપ્સ સેટ કરવા માટે JavaScript for Automation (JXA) નો ઉપયોગ કરી શકું?
- હા, સાથે Application.currentApplication() અને systemEvents.processes.whose(), તમે સ્ક્રિપ્ટેબલ એપ્લિકેશન્સમાં ટૂલટિપ્સના પ્રદર્શનને સ્વચાલિત કરી શકો છો.
- શું તમામ એપ્લિકેશનોમાં ટૂલટિપ્સ લાગુ કરવી શક્ય છે?
- કમનસીબે, બધી એપ્લિકેશનો તેમની છતી કરતી નથી toolTip સ્ક્રિપ્ટીંગ દ્વારા પ્રોપર્ટી, તેથી કસ્ટમ ઓબ્જેક્ટિવ-સી વિન્ડોની જેમ ફોલબેકની જરૂર પડી શકે છે.
macOS પર ટૂલટિપ્સના અમલીકરણ માટે મુખ્ય ઉપાયો
AppleScript અને JavaScript જેવા સ્ક્રિપ્ટીંગ ટૂલ્સનો ઉપયોગ કરીને, વિકાસકર્તાઓ ટૂલટિપ્સને ગતિશીલ રીતે સેટ કરીને વપરાશકર્તાના અનુભવને વધારી શકે છે. જો કે, તમામ એપ્લીકેશનો તેમના UI ઘટકોને સ્ક્રિપ્ટીંગ માટે ઉજાગર કરતી નથી, જે સંભવિત પડકારો તરફ દોરી જાય છે. ઑબ્જેક્ટિવ-સી સાથે સંકળાયેલા કસ્ટમ સોલ્યુશન્સ લવચીકતા પ્રદાન કરે છે, પરંતુ તેમને વધુ વિકાસ પ્રયત્નોની જરૂર છે.
વૈવિધ્યપૂર્ણ સ્ક્રિપ્ટીંગ સાથે ઓટોમેશન તકનીકોનું સંયોજન macOS માં ટૂલટિપ્સ પર વધુ સારું નિયંત્રણ સુનિશ્ચિત કરે છે. ડેવલપર્સે એજ કેસને હેન્ડલ કરવા જોઈએ, જેમ કે એપ્સ સપોર્ટ કરતી નથી ટૂલ ટીપ કસ્ટમ NSWindows જેવી ફોલબેક પદ્ધતિઓનો ઉપયોગ કરીને મિલકત. મજબૂત અભિગમ સાથે, ગતિશીલ ટૂલટિપ્સ ઉત્પાદકતા અને વપરાશકર્તાની સગાઈને સુધારી શકે છે.
macOS માં ટૂલટિપ અમલીકરણ માટે સ્ત્રોતો અને સંદર્ભો
- ના ઉપયોગ વિશે વિગતવાર જણાવે છે ટૂલ ટીપ AppleScript અને JavaScript નો ઉપયોગ કરીને પ્રોપર્ટી અને macOS ઓટોમેશન ક્ષમતાઓ, સત્તાવાર Apple ડેવલપર ડોક્યુમેન્ટેશનમાંથી સંદર્ભિત. એપલ ડેવલપર ડોક્યુમેન્ટેશન .
- ચોક્કસ કોડ ઉદાહરણો સાથે JavaScript ફોર ઓટોમેશન (JXA) દ્વારા ઓટોમેટીંગ macOS એપ્લિકેશન્સમાં આંતરદૃષ્ટિ પ્રદાન કરે છે. ઓટોમેશન માર્ગદર્શિકા માટે JavaScript .
- ના એકીકરણની ચર્ચા કરે છે ઉદ્દેશ્ય-C અને મેકઓએસ એપ્લિકેશન્સમાં કસ્ટમ વિન્ડો બનાવવા માટે AppleScript. NSWindow વર્ગ દસ્તાવેજીકરણ .