Changeset 37

Show
Ignore:
Timestamp:
07/18/06 11:43:38 (2 years ago)
Author:
mike
Message:

[new] fullscreen guest/windowcycling
[new] hotkey support for guest/windowcycling
[new] animation when switch to monitor and back (ctrl-alt-1..9)
[new] new Guest Assistant launched when double-clicking a empty table row
[new] qcontrol Makefile added "install" target
[fix] shutdown of paused guests
[fix] edit of not hilited guests
[fix] editPC file-selector remembers last position
[fix] file formats editPC and guest: qcow, raw, cow, vmdk, cloop, img, iso, dsk, dmg, cdr, toast, flp, fs
[fix] qcontrol Makefile added rm -rf for "app" target

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/changelog.txt

    r36 r37  
     1Q-0.8.1d37 
     2[new] fullscreen guest/windowcycling 
     3[new] hotkey support for guest/windowcycling 
     4[new] animation when switch to monitor and back (ctrl-alt-1..9) 
     5[new] new Guest Assistant launched when double-clicking a empty table row 
     6[new] qcontrol Makefile added "install" target 
     7[fix] shutdown of paused guests 
     8[fix] edit of not hilited guests 
     9[fix] editPC file-selector remembers last position 
     10[fix] file formats editPC and guest: qcow, raw, cow, vmdk, cloop, img, iso, dsk, dmg, cdr, toast, flp, fs 
     11[fix] qcontrol Makefile added rm -rf for "app" target 
     12 
    113Q-0.8.1d36 
    214[new] microicon to stop a crashed guest 
  • trunk/host-cocoa/cocoaQemu.h

    r5 r37  
    8989- (NSString *) pcWindowName; 
    9090- (NSString *) smbPath; 
     91- (id) qdoserver; 
    9192- (int) modifierAtIndex:(int)index; 
    9293- (BOOL) fullscreen; 
  • trunk/host-cocoa/cocoaQemu.m

    r36 r37  
    3131#import "cocoaQemuQuickDrawView.h" 
    3232 
     33#import "CGSPrivate.h" 
     34 
    3335/* Pasteboard *//* 
    3436#include "sdl_keysym.h" 
     
    9193        if ((self = [super init])) { 
    9294                /* set allowed filetypes */ 
    93                 fileTypes = [[NSArray arrayWithObjects:@"img",@"iso",@"dmg",@"qcow",@"cow",@"cloop",@"vmdk",@"toast",nil] retain]; 
     95                fileTypes = [[NSArray arrayWithObjects:@"qcow", @"raw", @"cow", @"vmdk", @"cloop", @"img", @"iso", @"dsk", @"dmg", @"cdr", @"toast", @"flp", @"fs", nil] retain]; 
    9496 
    9597                /* pc */ 
     
    210212 
    211213        return smbPath; 
     214} 
     215 
     216- (id) qdoserver 
     217{ 
     218//      NSLog(@"cocoaQemu: qdoserver"); 
     219 
     220    return qdoserver; 
    212221} 
    213222 
     
    757766//      NSLog(@"cocoaQemu: shutdownPC"); 
    758767 
     768    /* exit fullscreen */ 
     769    if (fullscreen) 
     770        [contentView toggleFullScreen]; 
     771 
    759772        if (!pcDialogs) { 
    760773                pcStatus = @"shutdown"; 
     
    801814                pcStatus = @"shutdown"; 
    802815                qemu_system_shutdown_request(); 
     816                vm_start(); 
    803817        } 
    804818} 
     
    819833                        pcStatus = @"shutdown"; 
    820834                qemu_system_shutdown_request(); 
     835                vm_start(); 
    821836        } 
    822837} 
     
    11691184//                                                                              [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 
    11701185//                                                                      return; 
     1186                                                                         
     1187                                                                /* window switch */ 
     1188                                                                case 50: /* backquote key */ 
     1189                                                                    if ([[pc qdoserver] guestSwitch:[pc pcName] fullscreen:[pc fullscreen] nextGuestName:nil]) 
     1190                                        return; 
     1191                                                                    else 
     1192                                                                        break; 
    11711193                                                        } 
    11721194                                                } 
     
    11771199                                                                /* toggle Monitor */ 
    11781200                                                                case 0x02 ... 0x0a: /* '1' to '9' keys */ 
    1179                                                                         console_select(keycode - 0x02); 
    1180                                                                         break; 
     1201                                                                    { 
     1202                                        /* setup transition */ 
     1203                                        CGSConnection cid = _CGSDefaultConnection(); 
     1204                                        int transitionHandle = -1; 
     1205                                        CGSTransitionSpec transitionSpecifications; 
     1206                                         
     1207                                        transitionSpecifications.type = 9; //transition; 
     1208                                        if (keycode - 0x02 == 0) 
     1209                                            transitionSpecifications.option = 1; //option; 
     1210                                        else 
     1211                                            transitionSpecifications.option = 2; //option; 
     1212                                        transitionSpecifications.wid = [[pc pcWindow] windowNumber]; //wid 
     1213                                        transitionSpecifications.backColour = 0; //background color 
     1214             
     1215                                        /* freeze desktop: OSStatus CGSNewTransition(const CGSConnection cid, const CGSTransitionSpec* transitionSpecifications, int *transitionHandle) */ 
     1216                                        CGSNewTransition(cid, &transitionSpecifications, &transitionHandle); 
     1217                             
     1218                                        /* change monitor */ 
     1219                                        console_select(keycode - 0x02); 
     1220                                        vga_hw_update(); 
     1221                                         
     1222                                        /* wait */ 
     1223                                        usleep(10000); 
     1224                                         
     1225                                        /* run transition: OSStatus CGSInvokeTransition(const CGSConnection cid, int transitionHandle, float duration) */ 
     1226                                        CGSInvokeTransition(cid, transitionHandle, 1.0); 
     1227                                         
     1228                                        break; 
     1229                                    } 
     1230//                                                                      console_select(keycode - 0x02); 
     1231//                                                                      break; 
    11811232                                                                /* toggle Fullscreen */ 
    11821233                                                                case 0x21: /* 'f' key */ 
  • trunk/host-cocoa/cocoaQemuWindow.m

    r35 r37  
    408408 
    409409 
    410     if ([pc fullscreen] && [self windowIsVisible]) 
    411         [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 
     410    if ([pc fullscreen] && [self windowIsVisible]) { 
     411//        [pc setFullscreen:[[pc contentView] toggleFullScreen]]; 
     412         
     413         /* setup transition */ 
     414        CGSConnection cid = _CGSDefaultConnection(); 
     415        int transitionHandle = -1; 
     416        CGSTransitionSpec transitionSpecifications; 
     417         
     418        transitionSpecifications.type = 7;          //transition; 
     419        transitionSpecifications.option = 0;        //option; 
     420        transitionSpecifications.wid = 0;           //wid 
     421        transitionSpecifications.backColour = 0;    //background color 
     422 
     423        /* freeze desktop: OSStatus CGSNewTransition(const CGSConnection cid, const CGSTransitionSpec* transitionSpecifications, int *transitionHandle) */ 
     424        CGSNewTransition(cid, &transitionSpecifications, &transitionHandle); 
     425 
     426        /* change monitor */ 
     427        [NSApp hide:self]; 
     428         
     429        /* wait */ 
     430        usleep(10000); 
     431         
     432        /* run transition: OSStatus CGSInvokeTransition(const CGSConnection cid, int transitionHandle, float duration) */ 
     433        CGSInvokeTransition(cid, transitionHandle, 1.0);        
     434    } 
    412435 
    413436    if ([pc absolute_enabled]) { 
  • trunk/qcontrol/Makefile

    r36 r37  
    1212# generate OS X .app Packages 
    1313app: 
     14        rm -rf "../$(prefix)/Q.app"; 
    1415        mkdir -p "../$(prefix)/Q.app/Contents/MacOS/"; 
    1516        mkdir -p "../$(prefix)/Q.app/Contents/Resources/English.lproj/Q Help/"; 
     
    5556                install -m 644 ../../tmp/qemu/pc-bios/linux_boot.bin "../$(prefix)/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
    5657                done 
     58 
     59# generate OS X .app Packages and install it to /applications 
     60install: 
     61        rm -rf "/Applications/Q.app"; 
     62        mkdir -p "/Applications/Q.app/Contents/MacOS/"; 
     63        mkdir -p "/Applications/Q.app/Contents/Resources/English.lproj/Q Help/"; 
     64        install -m 755 -s ../../tmp/qemu/qemu-img "/Applications/Q.app/Contents/MacOS/"; 
     65        install -m 755 -s qemu-control "/Applications/Q.app/Contents/MacOS/"; 
     66        sed 's/QEMU_VERSION/$(VERSION)/;s/QKJU_VERSION/$(QVERSION)/' Info.plist > "/Applications/Q.app/Contents/Info.plist"; 
     67        echo "APPLQKJU" > "/Applications/Q.app/Contents/PkgInfo"; 
     68        cp -R Resources/* "/Applications/Q.app/Contents/Resources/"; 
     69        install -m 644 ../../tmp/qemu/qemu-doc.html "/Applications/Q.app/Contents/Resources/English.lproj/Q Help/html/"; 
     70        install -m 644 ../../tmp/qemu/qemu-tech.html "/Applications/Q.app/Contents/Resources/English.lproj/Q Help/html/"; 
     71 
     72        for d in $(TARGET_DIRS); do \ 
     73                mkdir -p "/Applications/Q.app/Contents/MacOS//"$$d".app/Contents/MacOS/"; \ 
     74                mkdir -p "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     75                cp -R ../../tmp/qemu/host-cocoa/Resources/* "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/"; \ 
     76                echo "APPLQEMU" > "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/PkgInfo"; \ 
     77                sed 's/QEMU_TARGET/'$$d'/;s/QEMU_VERSION/$(VERSION)/;s/QKJU_VERSION/$(QVERSION)/' ../../tmp/qemu/host-cocoa/Info.plist > "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Info.plist"; \ 
     78                case "$$d" in \ 
     79                        i386-softmmu) \ 
     80                                install -m 755 -s ../../tmp/qemu/$$d/qemu "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d \ 
     81                        ;; \ 
     82                        x86_64-softmmu) \ 
     83                                install -m 755 -s ../../tmp/qemu/$$d/qemu-system-x86_64 "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d \ 
     84                        ;; \ 
     85                        ppc-softmmu) \ 
     86                                install -m 755 -s ../../tmp/qemu/$$d/qemu-system-ppc "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d; \ 
     87                                install -m 644 ../../tmp/qemu/pc-bios/ppc_rom.bin "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/" \ 
     88                        ;; \ 
     89                        sparc-softmmu) \ 
     90                                install -m 755 -s ../../tmp/qemu/$$d/qemu-system-sparc "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d \ 
     91                        ;; \ 
     92                        mips-softmmu) \ 
     93                                install -m 755 -s ../../tmp/qemu/$$d/qemu-system-mips "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d \ 
     94                        ;; \ 
     95                        arm-softmmu) \ 
     96                                install -m 755 -s ../../tmp/qemu/$$d/qemu-system-arm "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/MacOS/"$$d \ 
     97                        ;; \ 
     98                esac; \ 
     99                install -m 644 ../../tmp/qemu/pc-bios/bios.bin "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     100                install -m 644 ../../tmp/qemu/pc-bios/vgabios.bin "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     101                install -m 644 ../../tmp/qemu/pc-bios/vgabios-cirrus.bin "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     102                install -m 644 ../../tmp/qemu/pc-bios/video.x "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     103                install -m 644 ../../tmp/qemu/pc-bios/linux_boot.bin "/Applications/Q.app/Contents/MacOS/"$$d".app/Contents/Resources/qemu/"; \ 
     104                done 
  • trunk/qcontrol/Resources/English.lproj/cocoaControl.nib/classes.nib

    r36 r37  
    1111        { 
    1212            ACTIONS = { 
     13                activateApp = id;  
    1314                addPC = id;  
     15                addPCFromAssistant = id;  
     16                cycleWindows = id;  
    1417                deletePC = id;  
    1518                editPC = id;  
     
    3033                progressText = NSTextField;  
    3134                progressTitle = NSTextField;  
    32                 table = NSTableView;  
     35                table = QControlTableView;  
    3336                windowMenu = id;  
    3437            };  
  • trunk/qcontrol/Resources/English.lproj/cocoaControl.nib/info.nib

    r36 r37  
    88        <dict> 
    99                <key>453</key> 
    10                 <string>333 834 286 44 0 0 1440 878 </string> 
     10                <string>332 834 286 44 0 0 1440 878 </string> 
    1111        </dict> 
    1212        <key>IBFramework Version</key> 
     
    1414        <key>IBOpenObjects</key> 
    1515        <array> 
     16                <integer>453</integer> 
    1617                <integer>546</integer> 
    17                 <integer>453</integer> 
    1818                <integer>21</integer> 
    1919        </array> 
  • trunk/qcontrol/Resources/English.lproj/cocoaControl.nib/keyedobjects.nib

    r36 r37  
    1212                        <dict> 
    1313                                <key>CF$UID</key> 
    14                                 <integer>383</integer> 
     14                                <integer>390</integer> 
    1515                        </dict> 
    1616                        <key>NSAccessibilityConnectors</key> 
    1717                        <dict> 
    1818                                <key>CF$UID</key> 
    19                                 <integer>380</integer> 
     19                                <integer>387</integer> 
    2020                        </dict> 
    2121                        <key>NSAccessibilityOidsKeys</key> 
    2222                        <dict> 
    2323                                <key>CF$UID</key> 
    24                                 <integer>381</integer> 
     24                                <integer>388</integer> 
    2525                        </dict> 
    2626                        <key>NSAccessibilityOidsValues</key> 
    2727                        <dict> 
    2828                                <key>CF$UID</key> 
    29                                 <integer>382</integer> 
     29                                <integer>389</integer> 
    3030                        </dict> 
    3131                        <key>NSClassesKeys</key> 
    3232                        <dict> 
    3333                                <key>CF$UID</key> 
    34                                 <integer>297</integer> 
     34                                <integer>302</integer> 
    3535                        </dict> 
    3636                        <key>NSClassesValues</key> 
    3737                        <dict> 
    3838                                <key>CF$UID</key> 
    39                                 <integer>298</integer> 
     39                                <integer>303</integer> 
    4040                        </dict> 
    4141                        <key>NSConnections</key> 
     
    5757                        <dict> 
    5858                                <key>CF$UID</key> 
    59                                 <integer>281</integer> 
     59                                <integer>286</integer> 
    6060                        </dict> 
    6161                        <key>NSNamesValues</key> 
    6262                        <dict> 
    6363                                <key>CF$UID</key> 
    64                                 <integer>282</integer> 
     64                                <integer>287</integer> 
    6565                        </dict> 
    6666                        <key>NSNextOid</key> 
    67                         <integer>564</integer> 
     67                        <integer>574</integer> 
    6868                        <key>NSObjectsKeys</key> 
    6969                        <dict> 
    7070                                <key>CF$UID</key> 
    71                                 <integer>241</integer> 
     71                                <integer>246</integer> 
    7272                        </dict> 
    7373                        <key>NSObjectsValues</key> 
    7474                        <dict> 
    7575                                <key>CF$UID</key> 
    76                                 <integer>280</integer> 
     76                                <integer>285</integer> 
    7777                        </dict> 
    7878                        <key>NSOidsKeys</key> 
    7979                        <dict> 
    8080                                <key>CF$UID</key> 
    81                                 <integer>299</integer> 
     81                                <integer>304</integer> 
    8282                        </dict> 
    8383                        <key>NSOidsValues</key> 
    8484                        <dict> 
    8585                                <key>CF$UID</key> 
    86                                 <integer>300</integer> 
     86                                <integer>305</integer> 
    8787                        </dict> 
    8888                        <key>NSRoot</key> 
     
    309309                        </dict> 
    310310                        <key>NSsFlags</key> 
    311                         <integer>594</integer> 
     311                        <integer>530</integer> 
    312312                        <key>NSvFlags</key> 
    313313                        <integer>274</integer> 
     
    10061006                                <integer>65</integer> 
    10071007                        </dict> 
    1008                         <key>NSEnabled</key> 
    1009                         <true/> 
    10101008                        <key>NSFrame</key> 
    10111009                        <dict> 
     
    10331031                        <integer>-2147483392</integer> 
    10341032                </dict> 
    1035                 <string>{{-30, 1}, {15, 398}}</string> 
     1033                <string>{{-30, 1}, {15, 384}}</string> 
    10361034                <string>_doScroller:</string> 
    10371035                <dict> 
     
    12151213                                <dict> 
    12161214                                        <key>CF$UID</key> 
    1217                                         <integer>172</integer> 
    1218                                 </dict> 
    1219                                 <dict> 
    1220                                         <key>CF$UID</key> 
    1221                                         <integer>177</integer> 
    1222                                 </dict> 
    1223                                 <dict> 
    1224                                         <key>CF$UID</key> 
    1225                                         <integer>181</integer> 
    1226                                 </dict> 
    1227                                 <dict> 
    1228                                         <key>CF$UID</key> 
    1229                                         <integer>185</integer> 
    1230                                 </dict> 
    1231                                 <dict> 
    1232                                         <key>CF$UID</key> 
    1233                                         <integer>197</integer> 
    1234                                 </dict> 
    1235                                 <dict> 
    1236                                         <key>CF$UID</key> 
    1237                                         <integer>231</integer> 
    1238                                 </dict> 
    1239                                 <dict> 
    1240                                         <key>CF$UID</key> 
    1241                                         <integer>233</integer> 
    1242                                 </dict> 
    1243                                 <dict> 
    1244                                         <key>CF$UID</key> 
    1245                                         <integer>235</integer> 
    1246                                 </dict> 
    1247                                 <dict> 
    1248                                         <key>CF$UID</key> 
    1249                                         <integer>237</integer> 
     1215                                        <integer>175</integer> 
     1216                                </dict> 
     1217                                <dict> 
     1218                                        <key>CF$UID</key> 
     1219                                        <integer>180</integer> 
     1220                                </dict> 
     1221                                <dict> 
     1222                                        <key>CF$UID</key> 
     1223                                        <integer>184</integer> 
     1224                                </dict> 
     1225                                <dict> 
     1226                                        <key>CF$UID</key> 
     1227                                        <integer>188</integer> 
     1228                                </dict> 
     1229                                <dict> 
     1230                                        <key>CF$UID</key> 
     1231                                        <integer>200</integer> 
     1232                                </dict> 
     1233                                <dict> 
     1234                                        <key>CF$UID</key> 
     1235                                        <integer>234</integer> 
     1236                                </dict> 
     1237                                <dict> 
     1238                                        <key>CF$UID</key> 
     1239                                        <integer>236</integer> 
     1240                                </dict> 
     1241                                <dict> 
     1242                                        <key>CF$UID</key> 
     1243                                        <integer>238</integer> 
     1244                                </dict> 
     1245                                <dict> 
     1246                                        <key>CF$UID</key> 
     1247                                        <integer>240</integer> 
     1248                                </dict> 
     1249                                <dict> 
     1250                                        <key>CF$UID</key> 
     1251                                        <integer>244</integer> 
    12501252                                </dict> 
    12511253                        </array> 
     
    13081310                        <dict> 
    13091311                                <key>CF$UID</key> 
    1310                                 <integer>170</integer> 
     1312                                <integer>173</integer> 
    13111313                        </dict> 
    13121314                        <key>NSMenuItems</key> 
     
    13181320                        <dict> 
    13191321                                <key>CF$UID</key> 
    1320                                 <integer>169</integer> 
     1322                                <integer>172</integer> 
    13211323                        </dict> 
    13221324                        <key>NSTitle</key> 
     
    15241526                        <dict> 
    15251527                                <key>CF$UID</key> 
    1526                                 <integer>170</integer> 
     1528                                <integer>173</integer> 
    15271529                        </dict> 
    15281530                        <key>NSMenuItems</key> 
    15291531                        <dict> 
    15301532                                <key>CF$UID</key> 
    1531                                 <integer>250</integer> 
     1533                                <integer>282</integer> 
    15321534                        </dict> 
    15331535                        <key>NSTitle</key> 
    15341536                        <dict> 
    15351537                                <key>CF$UID</key> 
    1536                                 <integer>248</integer> 
     1538                                <integer>280</integer> 
    15371539                        </dict> 
    15381540                </dict> 
     
    17341736                        <dict> 
    17351737                                <key>CF$UID</key> 
    1736                                 <integer>170</integer> 
     1738                                <integer>173</integer> 
    17371739                        </dict> 
    17381740                        <key>NSMenuItems</key> 
    17391741                        <dict> 
    17401742                                <key>CF$UID</key> 
    1741                                 <integer>260</integer> 
     1743                                <integer>251</integer> 
    17421744                        </dict> 
    17431745                        <key>NSTitle</key> 
    17441746                        <dict> 
    17451747                                <key>CF$UID</key> 
    1746                                 <integer>259</integer> 
     1748                                <integer>249</integer> 
    17471749                        </dict> 
    17481750                </dict> 
     
    19341936                        <dict> 
    19351937                                <key>CF$UID</key> 
    1936                                 <integer>170</integer> 
     1938                                <integer>173</integer> 
    19371939                        </dict> 
    19381940                        <key>NSMenuItems</key> 
    19391941                        <dict> 
    19401942                                <key>CF$UID</key> 
    1941                                 <integer>244</integer> 
     1943                                <integer>274</integer> 
    19421944                        </dict> 
    19431945                        <key>NSTitle</key> 
    19441946                        <dict> 
    19451947                                <key>CF$UID</key> 
    1946                                 <integer>243</integer> 
     1948                                <integer>272</integer> 
    19471949                        </dict> 
    19481950                </dict> 
     
    20502052                        <dict> 
    20512053                                <key>CF$UID</key> 
    2052                                 <integer>170</integer> 
     2054                                <integer>173</integer> 
    20532055                        </dict> 
    20542056                        <key>NSMenuItems</key> 
    20552057                        <dict> 
    20562058                                <key>CF$UID</key> 
    2057                                 <integer>267</integer> 
     2059                                <integer>259</integer> 
    20582060                        </dict> 
    20592061                        <key>NSName</key> 
    20602062                        <dict> 
    20612063                                <key>CF$UID</key> 
    2062                                 <integer>273</integer> 
     2064                                <integer>270</integer> 
    20632065                        </dict> 
    20642066                        <key>NSTitle</key> 
    20652067                        <dict> 
    20662068                                <key>CF$UID</key> 
    2067                                 <integer>265</integer> 
     2069                                <integer>257</integer> 
    20682070                        </dict> 
    20692071                </dict> 
     
    23252327                        <dict> 
    23262328                                <key>CF$UID</key> 
    2327                                 <integer>171</integer> 
     2329                                <integer>174</integer> 
    23282330                        </dict> 
    23292331                        <key>NSSource</key> 
     
    23662368                                        <integer>82</integer> 
    23672369                                </dict> 
     2370                                <dict> 
     2371                                        <key>CF$UID</key> 
     2372                                        <integer>169</integer> 
     2373                                </dict> 
    23682374                        </array> 
    23692375                </dict> 
     
    23742380                                <integer>92</integer> 
    23752381                        </dict> 
    2376                         <key>NSIsDisabled</key> 
    2377                         <true/> 
    23782382                        <key>NSIsSeparator</key> 
    23792383                        <true/> 
     
    24082412                        </dict> 
    24092413                </dict> 
     2414                <dict> 
     2415                        <key>$class</key> 
     2416                        <dict> 
     2417                                <key>CF$UID</key> 
     2418                                <integer>92</integer> 
     2419                        </dict> 
     2420                        <key>NSKeyEquiv</key> 
     2421                        <dict> 
     2422                                <key>CF$UID</key> 
     2423                                <integer>171</integer> 
     2424                        </dict> 
     2425                        <key>NSKeyEquivModMask</key> 
     2426                        <integer>1048576</integer> 
     2427                        <key>NSMenu</key> 
     2428                        <dict> 
     2429                                <key>CF$UID</key> 
     2430                                <integer>83</integer> 
     2431                        </dict> 
     2432                        <key>NSMixedImage</key> 
     2433                        <dict> 
     2434                                <key>CF$UID</key> 
     2435                                <integer>90</integer> 
     2436                        </dict> 
     2437                        <key>NSMnemonicLoc</key> 
     2438                        <integer>2147483647</integer> 
     2439                        <key>NSOnImage</key> 
     2440                        <dict> 
     2441                                <key>CF$UID</key> 
     2442                                <integer>86</integer> 
     2443                        </dict> 
     2444                        <key>NSTitle</key> 
     2445                        <dict> 
     2446                                <key>CF$UID</key> 
     2447                                <integer>170</integer> 
     2448                        </dict> 
     2449                </dict> 
     2450                <string>Cycle Windows</string> 
     2451                <string>&lt;</string> 
    24102452                <string>_NSWindowsMenu</string> 
    24112453                <dict> 
     
    24332475                        <dict> 
    24342476                                <key>CF$UID</key> 
     2477                                <integer>179</integer> 
     2478                        </dict> 
     2479                        <key>NSSource</key> 
     2480                        <dict> 
     2481                                <key>CF$UID</key> 
    24352482                                <integer>176</integer> 
    24362483                        </dict> 
    2437                         <key>NSSource</key> 
    2438                         <dict> 
    2439                                 <key>CF$UID</key> 
    2440                                 <integer>173</integer> 
    2441                         </dict> 
    24422484                </dict> 
    24432485                <dict> 
     
    24502492                        <dict> 
    24512493                                <key>CF$UID</key> 
    2452                                 <integer>175</integer> 
     2494                                <integer>178</integer> 
    24532495                        </dict> 
    24542496                        <key>NSKeyEquivModMask</key> 
     
    24742516                        <dict> 
    24752517                                <key>CF$UID</key> 
    2476                                 <integer>174</integer> 
     2518                                <integer>177</integer> 
    24772519                        </dict> 
    24782520                </dict> 
     
    24942536                        <dict> 
    24952537                              &nb