Effectuez l'une des gestionnaires fenêtre me permettent de sélectionner les fenêtres sur les côtés de l'écran?
-
16-10-2019 - |
Question
Pouvez-vous recommander un gestionnaire de fenêtres pour le Mac? Je voudrais avoir un raccourci clavier qui se casserait une fenêtre à la moitié gauche ou à droite de mon écran.
La solution 3
Après avoir testé SizeUp et Breeze, je l'ai décidé que Breeze correspond à mes besoins le meilleur. Les deux vous permettent de positionner les fenêtres de gauche, à droite ou Fullscreen. La caractéristique qui a vendu pour moi se couchait une taille par défaut et la position d'une application et en lui attribuant une touche de raccourci.
Autres conseils
SizeUp est exactement ce dont vous avez besoin:
SizeUp vous permet de positionner rapidement une fenêtre pour remplir exactement la moitié de l'écran (écran partagé), un quart de l'écran (quadrant), plein écran, ou centré via la barre des raccourcis de menus ou tout le système configurable (touches de raccourci). Similaire à la fonctionnalité « des fenêtres en mosaïque » disponibles sur d'autres systèmes d'exploitation.
Divvy
Divvy est une petite application de MenuBar vous permet de redimensionner automatiquement les fenêtre active. Divviy pratiquement divise votre écran en une grille de 6x6. Lorsqu'il est invoqué, Divvy apporte un peu HUD au milieu de l'écran avec cette grille de 6x6. En fonction de quelle partie de votre écran que vous voulez redimensionner fenêtre active, il suffit de glisser et sélectionnez les places sur le HUD et la fenêtre fait le reste. C'est ça simple.
Moom
J'ai entendu des gens parlent celui-ci trop:
Avez-vous passer beaucoup de temps en mouvement et fenêtres zoom, afin que vous puissiez mieux voir et travailler avec tout le contenu de votre Mac? Au lieu de faire ce travail vous-même, laissez-Moom gérer la tâche pour vous.
Si vous avez une souris magique ou trackpad magique, BetterTouchTool est mieux que vous pouvez définir des gestes spécifiques pour gérer les fenêtres. Comme un mouvement vers la gauche quatre doigts peut être de redimensionner la fenêtre à gauche 50% de l'écran.
Moom est grande. Vous pouvez prendre des fenêtres à: plein écran, demi-écran, quart d'écran. Vous pouvez également redimensionner avec une grille. Il prend en charge les raccourcis clavier personnalisés, aussi.
J'utilise personnellement SizeUp et Divvy sur une base quotidienne. Si je l'avais su ShiftIt plus tôt, je ne serais probablement pas payé pour SizeUp. Un autre pour vérifier qui n'a pas été encore mentionné est BetterTouchTool , qui a beaucoup d'autres fonctionnalités, mais caché dans les options avancées est une option agréable qu'ils appellent « fenêtre Accrochage » qui s'enclenche la fenêtre à gauche ou à droite de l'écran lorsque vous le faites glisser sur le côté. N'a pas de raccourci clavier fonctionnalité inclus, mais il est un bon complément à SizeUp et Divvy.
Je trouve ici d'un hors question de sujet sur Stack Overflow :
Il y avait deux auges Open Source mentionné là-bas qui ne se présentent pas sur cette liste:
- Spectacle -> http://spectacleapp.com/
- Slate -> https://github.com/jigish/slate (configuration nécessite un travail sur la ligne de commande)
Une autre de l'App Store
Voici un Applescript cette tuile de volonté toutes les fenêtres ouvertes dans l'application au premier plan. Ajouter à ~/Library/Scripts
et appel dans le menu AppleScript dans la barre de menu. Ajouter le sel au goût (et gratuit).
--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
Source: MacScripter via Google
D'après ce que j'ai vu et entendu, Cinch est une grande application pour amener la gestion des fenêtres de Windows 7 à Mac OS X.
Tout d'abord, si libre est important pour vous, obtenir ShiftIt.
Si la commodité d'une souris est important pour vous, obtenir Cinch. Il est dans le Mac App Store.
Enfin, si vous avez un MacBook ou un Magic Trackpad, obtenir JiTouch. Il vous permettra d'assigner un geste à beaucoup, beaucoup de choses; dont un est en plein écran, la moitié gauche, moitié droite. vérifier sérieusement si vous aimez les gestes même un peu. Il est comme avoir une souris avec plus de 100 boutons. JiTouch
MercuryMover
Vous pourriez aussi regarder MercuryMover, qui vous offre une gamme d'outils mobiles de fenêtre sous une série de correspondances de clavier. Je l'habitude d'utiliser ce beaucoup quand aux prises avec un petit écran d'ordinateur portable, et vous pouvez l'obtenir pour retourner une fenêtre sur le bord d'un écran etc. cartes les plus étroitement les fonctionnalités du menu système de « mouvement » que vous obtenez dans Windows normal » fenêtres.
Pour autant que je vous comprends la question, vous voulez stick la fenêtre au bord de l'écran, de sorte que le côté de la fenêtre se trouve directement sur le bord de l'écran. Ceci est maintenant possible sur macOS Sierra (10.12) en mode natif.
Tout ce que vous devez faire est de déplacer la fenêtre que vous voulez en position (en cliquant et en faisant glisser la partie supérieure de la fenêtre) sur le côté que vous voulez en tenir à. Vous devez faire cela lentement, ou bien elle ne fonctionnera pas. Une fois que vous faites glisser la fenêtre vers le bord, il collera un certain temps et qui est quand vous devez arrêter.