Frage

Können Sie empfehlen, einen Window-Manager für den Mac?Ich möchte eine Tastenkombination, die würde und machen Sie ein Fenster an den linken oder rechten Hälfte von meinem Bildschirm.

War es hilfreich?

Lösung 3

Nach dem Testen von Getratup und Brise habe ich das entschieden Brise passt zu meinen Bedürfnissen. Mit beiden können Sie Fenster links, rechts oder volles Bildschirm positionieren. Die Funktion, die es für mich verkauft hat, bestand darin, eine Standardgröße und -position für eine Anwendung festzulegen und sie einen Abkürzungschlüssel zuzuweisen.

Andere Tipps

Größe bis ist genau das, was Sie brauchen:

Mit SizeUp können Sie ein Fenster schnell positionieren, um genau die Hälfte des Bildschirms (Splitscreen), ein Viertel des Bildschirms (Quadrant), einen Vollbildmodus oder über die Menüleiste oder konfigurierbare systemweite Verknüpfungen (Hotkeys) zentriert zu werden. Ähnlich wie bei anderen Betriebssystemen zur Verfügung stehende "Tiled Windows" -Funktionalität.

Divvy

Divvy ist ein wenig menubar-app, die ermöglicht Sie, um automatisch die Größe jeder aktive Fenster.Divviy praktisch teilt Ihren Bildschirm in ein 6x6-raster.Wenn aufgerufen, Divvy bringt ein wenig HUD in der Mitte des Bildschirms mit dieser 6x6 grid.Je nachdem, was Teil Ihrem Bildschirm, dessen Größe Sie ändern möchten Ihre aktive Fenster ist, ziehen Sie einfach und wählen Sie diese Quadrate auf dem HUD und der Fenster erledigt den rest.Es ist einfach.

Verschieb es (Originalversion bei Link Contectinued) macht dies und ist kostenlos und Open Source.

Bearbeiten: Das Projekt ist jetzt eingeschaltet Github, Die letzte Veröffentlichung fand jedoch im November 2010 statt.

Moom

Ich habe einige Leute auch darüber sprechen gehört:

Verbringen Sie viel Zeit damit, Fenster zu bewegen und zu zoomen, damit Sie alle Inhalte auf Ihrem Mac besser sehen und arbeiten können? Anstatt diese Arbeit selbst zu erledigen, lassen Sie Moom die Aufgabe für Sie erledigen.

Wenn Sie eine magische Maus oder eine magische Trackpad haben, Bettertouchtool ist besser, da Sie bestimmte Gesten für die Verwaltung der Fenster festlegen können. Wie ein 4 -Finger -Swipe kann die Größe des Fensters links 50% des Bildschirms ändern.

Moom ist toll. Sie können Windows auf: Vollbild, halber Bildschirm, Quarter -Bildschirm schnappen. Sie können sich auch mit einem Netz ändern. Es unterstützt auch benutzerdefinierte Tastaturverknüpfungen.

Moom screenshot

Ich persönlich verwende SizeUp und Divvy täglich. Wenn ich von Shiftit früher gewusst hätte, hätte ich wahrscheinlich nicht für SizeUp bezahlt. Ein anderer, der es noch nicht erwähnt hat, ist noch nicht erwähnt Bettertouchtool, was viele andere Funktionen hat, aber in den erweiterten Optionen versteckt ist, ist eine schöne Funktion, die sie als "Fensterschnüffeln" bezeichnen, das das Fenster links oder rechts auf dem Bildschirm schnappt, wenn Sie es zur Seite ziehen. Es gibt keine Tastaturverknüpfungsfunktionen, aber es ist eine schöne Ergänzung zu SizeUp und Divvy.

Ich habe hier von einem gefunden Off -Themenfrage zum Stapelüberlauf:

Dort wurden zwei Open -Source -Mangers erwähnt, die auf dieser Liste nicht angezeigt wurden:

Ein anderer aus dem App Store

Sie können es auch versuchen Schiefer Welches ist frei und Open Source.

Vielleicht möchten Sie dies auch lesen Artikel darüber.

Hier ist ein Apfelkript, das alle geöffneten Fenster in der vorderen Anwendung fliesen wird. Hinzufügen ~/Library/Scripts und rufen Sie im Menüleiste im AppleScript -Menü an. Fügen Sie Salz zum Geschmack hinzu (und frei).

--tile windows of frontmost applications in a grid
--this script is useful for
--multiple window chatting
--working side by side of several windows of the same app

--make need to make it as a stay open application later
--for now assume that it is opened and closed per invokation

property horizontalSpacing : 10 -- sets the horizontal spacing between windows
property verticalSpacing : 10 -- sets the vertical spacing between windows
property maxRows : 2
property maxCols : 2

on run {}
    local a
    set userscreen to my getUserScreen()

    --display dialog (getFrntApp() as string)
    try
        set applist to getFrntApp()
        if length of applist = 0 then
            return
        end if
        set a to item 1 of getFrntApp()
    on error the error_message number the error_number
        display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
    end try

    try
        tileScriptable(a, userscreen)
    on error the error_message number the error_number
        --display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
        try
            tileUnscriptable(a, userscreen)
        on error the error_message number the error_number
            display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
        end try
    end try

end run

on tileScriptable(a, screen)
    local i, c
    set i to 1
    tell application named a
        set theWindows to every window of application a whose visible is true and floating is false and ¬
            modal is false -- and miniaturized is false
        set c to count theWindows
        if c = 0 then
            return
        end if
        set tiles to calTileBounds(c, screen, 1)
        repeat with theWindow in theWindows
            my tileScriptableWindow(a, theWindow, item i of tiles)
            set i to i + 1
        end repeat
    end tell
end tileScriptable

on tileUnscriptable(a, screeninfo)
    -- unscriptable app
    local i, c
    set i to 1
    tell application "System Events"
        set theWindows to (every window of application process a)
        --set theWindows to my filterUnscriptableInvisible(theWindows)

        set c to count theWindows

        if c = 0 then
            return
        end if

        --display dialog screeninfo as string giving up after 5
        set tiles to my calTileBounds(c, screeninfo, 1)
        repeat with theWindow in theWindows
            --display dialog (class of visible of theWindow)
            my tileUnScriptableWindow(a, theWindow, item i of tiles)
            set i to i + 1
        end repeat

    end tell
end tileUnscriptable

on filterUnscriptableInvisible(ws)
    -- filter out from ws windows that are docked    
    set newws to {}
    set docklist to getNamesDocked()
    --display dialog (docklist as string)
    repeat with theWindow in ws
        if name of theWindow is not in docklist then
            set end of newws to theWindow
        end if
    end repeat

    --display dialog (count newws)
    return newws
end filterUnscriptableInvisible

on getNamesDocked()
    tell application "System Events" to tell process "Dock"'s list 1
        set l to name of UI elements whose subrole is "AXMinimizedWindowDockItem"
    end tell

    return l
end getNamesDocked

on tileScriptableWindow(a, w, bound)
    tell application a
        set bounds of w to bound
    end tell
end tileScriptableWindow

on tileUnScriptableWindow(a, w, bound)
    tell application "System Events"
        --display dialog (count position of w)
        set AppleScript's text item delimiters to " "

        set position of w to {(item 1 of bound), (item 2 of bound)}

        -- why the -5?
        set size of w to {(item 3 of bound) - (item 1 of bound) - 5, ¬
            (item 4 of bound) - (item 2 of bound) - 5}
        --display dialog (count properties of w)
    end tell
end tileUnScriptableWindow

on calTileBounds(nWindows, screen, direction)
    -- return a list of lists of window bounds
    -- a simple tile algo that tiles along direction (current only 1=horizontal)

    local nrows, nColumns, irow, icolumn, nSpacingWidth, nSpacingHeight, nWindowWidth, nWindowHeight
    set {x0, y0, availScreenWidth, availScreenHeight} to screen
    set ret to {}

    set nrows to (nWindows div maxCols)
    if (nWindows mod maxCols) ≠ 0 then
        set nrows to nrows + 1
    end if

    if nrows < maxRows then
        set nSpacingHeight to (nrows - 1) * verticalSpacing
        set nWindowHeight to (availScreenHeight - nSpacingHeight) / nrows
    else
        set nSpacingHeight to (maxRows - 1) * verticalSpacing
        set nWindowHeight to (availScreenHeight - nSpacingHeight) / maxRows
    end if

    repeat with irow from 0 to nrows - 1
        if nrows ≤ maxRows and irow = nrows - 1 then
            set nColumns to nWindows - irow * maxCols
        else
            set nColumns to maxCols
        end if
        set nSpacingWidth to (nColumns - 1) * horizontalSpacing
        set nWindowWidth to (availScreenWidth - nSpacingWidth) / nColumns
        set nTop to y0 + (irow mod maxRows) * (verticalSpacing + nWindowHeight)
        --display dialog "Top: " & nTop buttons {"OK"} default button 1
        repeat with icolumn from 0 to nColumns - 1
            set nLeft to x0 + (icolumn) * (horizontalSpacing + nWindowWidth)
            set itile to {¬
                nLeft, ¬
                nTop, ¬
                nLeft + nWindowWidth, ¬
                nTop + nWindowHeight}
            set end of ret to itile
            --display dialog item 3 of itile as string
            --set itile to {x0 + (icolumn - 1) * wgrid, y0, wgrid, hgrid}
            --set item 3 of itile to ((item 1 of itile) + (item 3 of itile))
            --set item 4 of itile to ((item 2 of itile) + (item 4 of itile))
        end repeat
    end repeat

    return ret
end calTileBounds



on getFrntApp()
    tell application "System Events" to set frntProc to ¬
        name of every process whose frontmost is true and visible ≠ false
    return frntProc
end getFrntApp

on getUserScreen()
    -- size of the menubar
    tell application "System Events"
        set {menuBarWidth, menuBarHeight} to size of UI element 1 of application process "SystemUIServer"
        --display dialog "Menubar width: " & menubarWidth & ", height: " & menubarHeight
        set dockApp to (application process "Dock")
        set {dockWidth, dockHeight} to size of UI element 1 of dockApp
        --display dialog "Dock width: " & dockWidth & ", height: " & dockHeight
        set dockPos to position of UI element 1 of dockApp
        --display dialog "Dock x: " & (item 1 of dockPos) & ", y: " & (item 2 of dockPos)
    end tell

    -- size of the full screen
    (*
   {word 3 of (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Width") as number, ¬
       word 3 of (do shell script "defaults read /Library/Preferences/com.apple.windowserver | grep -w Height") as number}
   *)
    tell application "Finder"
        set screenSize to bounds of window of desktop
        set screenWidth to item 3 of screenSize
        set screenHeight to item 4 of screenSize
    end tell
    --display dialog "Screen width: " & screenWidth & ", height: " & screenHeight

    -- by default, set the available screen size to the full screen size
    set availableWidth to screenWidth
    set availableHeight to screenHeight - menuBarHeight
    set availableX to 0
    set availableY to menuBarHeight

    --determine the userscreen origin and size

    -- case 0: hidden dock
    -- if (item 1 of dockPos < 0 or item 1 of dockPos ≥ screenHeight) then
    -- no need to change anything
    -- end if

    -- case 1: bottom dock
    if ((item 2 of dockPos) + dockHeight = screenHeight) then
        set availableHeight to availableHeight - dockHeight
    end if

    -- case 2: left dock
    if (item 1 of dockPos = 0) then
        set availableWidth to availableWidth - dockWidth
        set availableX to dockWidth
    end if

    -- case 3: right dock
    if ((item 1 of dockPos) + dockWidth = screenWidth) then
        set availableWidth to availableWidth - dockWidth
    end if

    return {availableX, availableY, availableWidth, availableHeight}
end getUserScreen

Quelle: MacScripter über Google

Nach dem, was ich gesehen und gehört habe, Cinch ist eine großartige Anwendung, um die Fensterverwaltung von Windows 7 auf Mac OS X zu bringen.

Wenn Sie für Sie frei sind, erhalten Sie zunächst, wenn Sie frei sind Verschieb es.

Wenn Sie von einer Maus wichtig sind, erhalten Sie einen Cinch. Es ist im Mac App Store.

Wenn Sie schließlich ein MacBook oder ein Magic Trackpad haben, erhalten Sie Jitouch. Dadurch können Sie vielen, vielen Dingen eine Geste zuweisen; Eines davon ist Vollbild, halb links, halb rechts. Schauen Sie es ernsthaft an, wenn Sie Gesten auch ein wenig mögen. Es ist wie eine Maus mit mehr als 100 Tasten.Jitouch

Mercurymover

Sie können sich auch Mercurymover ansehen, wodurch Sie eine Reihe von Fensterbewegungswerkzeugen unter einer Reihe von Tastaturzuordnungen erhalten. Ich habe dies oft verwendet, als ich mit einem kleinen Laptop -Bildschirm zu kämpfen habe, und Sie können es dazu bringen, ein Fenster an die Kante eines Bildschirms usw. umzudrehen. Es ordnet die Option "System" -Systemmenü, die Sie in normalen Fenstern erhalten, am engsten. " Windows '.

Ich benutze Magnet, ist im AppStore verfügbar

enter image description here

http://magnet.crowdcafe.com

Soweit ich Ihre Frage verstehe, möchten Sie Stock Das Fenster zur Bildschirmkante, so dass sich die Seite des Fensters direkt am Rand des Bildschirms befindet. Dies ist nun nativ auf MacOS Sierra (10.12) möglich.

Alles, was Sie tun müssen, ist, das Fenster zu verschieben, das Sie positionieren möchten (indem Sie auf die Oberseite des Fensters klicken und das Fenster ziehen) auf die Seite, an der es sich hält, auf die Seite ist. Sie müssen dies langsam tun, sonst funktioniert es nicht. Nachdem Sie das Fenster an die Kante gezogen haben, bleibt es eine Weile und dann sollten Sie aufhören.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit apple.stackexchange
scroll top