This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
function:SCREEN [2016/02/27 02:00] AlainLifchitz add internal links |
function:SCREEN [2017/04/26 23:29] JMichaelTX |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | The SCREEN and SCREENVISIBLE functions return the position or size of a screen. SCREENVISIBLE refers to the visible section of the screen, excluding the menu bar and the dock. | + | The [[function:SCREEN|SCREEN()]] and [[function:SCREENVISIBLE|SCREENVISIBLE()]] functions return the position or size of a screen. [[function:SCREENVISIBLE|SCREENVISIBLE()]] refers to the visible section of the screen, excluding the menu bar and the dock. |
- | SCREEN( index, coordinate ) | + | SCREEN( index [number OR name], coordinate ) |
- | SCREEN( index, coordinate, percentage ) | + | SCREEN( index [number OR name], coordinate, percentage ) |
- | The SCREEN *index* can be 0 for the main screen, and then 1 through n are the screens in orientation order from left to right (and top down for screens at the same position). The index can also be one of: | + | The SCREEN *index* can be referenced by either a _number_ OR a _name_. The _Index number_ can be 0 for the main screen, and then 1 through n are the screens in orientation order from left to right (and top down for screens at the same position). _Index Names_ are shown below. |
+ | |||
+ | The _Main_ screen is set by your macOS System Preferences. | ||
+ | The other screens (monitors) are referenced positionally from the left most screen, which may, or _may not_, be the _Main_ screen. | ||
+ | |||
+ | ^ Index Name ^ Description ^ | ||
+ | | **Main** | the screen with the primary menu bar (as configured in the Displays preferences).| | ||
+ | | Second |the first from the left which is not the _Main_ screen.| | ||
+ | | Third | the second from the left which is not the _Main_ screen.| | ||
+ | | Internal | the internal screen of the Mac.| | ||
+ | | External | the first from the left which is not an internal screen.| | ||
+ | | Mouse | the screen containing the mouse.| | ||
+ | | Front | the screen containing (the most of) the front window.| | ||
+ | | Back | the first from the left not containing (the most of) the front window.| | ||
+ | | Back2 | the second left most screen not containing (the most of) the front window.| | ||
+ | |||
+ | :!: Note: Since the _Main_ screen can be in any position, be advised of the following: | ||
+ | * SCREEN(0) is always the _Main_ screen. | ||
+ | * SCREEN(1) may or may not be the _Main_ screen. | ||
+ | * SCREEN(2+) may or may not be the _Main_ screen. | ||
- | * Main - the screen with the primary menu bar (as configured in the Displays preferences). | ||
- | * Second - the left most screen that does not have the menu bar. | ||
- | * Third - the left most screen that is not the Main or Second screen. | ||
- | * Internal - the left most screen that is an internal screen (typically on a laptop). | ||
- | * External - the left most screen that is not an internal screen. | ||
- | * Mouse - the left most screen containing the mouse. | ||
- | * Front - the left most screen containing (the most of) the front window. | ||
- | * Back - the left most screen not containing (the most of) the front window. | ||
- | * Back2 - the second left most screen not containing (the most of) the front window. | ||
The SCREEN *coordinate* can be: | The SCREEN *coordinate* can be: | ||
Line 31: | Line 41: | ||
For example SCREEN(Internal,Left,10%) would be the coordinate of left edge of the internal screen plus 10% of the width of the internal screen. SCREEN(Front,Right,-10%) would be the coordinate of the right edge of the external screen minus 10% of the width of the external screen. | For example SCREEN(Internal,Left,10%) would be the coordinate of left edge of the internal screen plus 10% of the width of the internal screen. SCREEN(Front,Right,-10%) would be the coordinate of the right edge of the external screen minus 10% of the width of the external screen. | ||
- | SCREEN sizes and positions are in "points" (so a retina screen will typically have half as many points as pixels). | + | SCREEN sizes and positions are in //nominal resolution pixels// (so a retina screen will typically have half as many nominal resolution pixels as raw pixels). |
Coordinates are in absolute coordinates (relative to the top left corner of the main screen). | Coordinates are in absolute coordinates (relative to the top left corner of the main screen). | ||
Line 37: | Line 47: | ||
===== See Also ===== | ===== See Also ===== | ||
- | ==== Documentation ==== | + | ---- |
+ | |||
+ | ==== Actions ==== | ||
+ | |||
+ | * [[action:Manipulate a Window|Manipulate a Window]] | ||
+ | * [[action:Move or Click Mouse|Move or Click Mouse]] | ||
+ | * [[:Actions|See all Actions]] | ||
+ | |||
+ | ==== Functions ==== | ||
+ | |||
+ | * [[function:MENUBARHEIGHT|MENUBARHEIGHT()]] | ||
+ | * [[function:MOUSEBUTTON|MOUSEBUTTON()]] | ||
+ | * [[function:MOUSEX|MOUSEX()]] | ||
+ | * [[function:MOUSEY|MOUSEY()]] | ||
+ | * [[function:SCREENCOUNT|SCREENCOUNT()]] | ||
+ | * [[function:WINDOW|WINDOW()]] | ||
+ | * [[function:WINDOWCOUNT|WINDOWCOUNT()]] | ||
+ | * [[:Functions|See all Functions]] | ||
+ | |||
+ | === Tokens === | ||
+ | |||
+ | * [[token:Screen|%Screen%]] | ||
+ | * [[token:ScreenVisible|%ScreenVisible%]] | ||
+ | * [[:Tokens|See all Tokens]] | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Forum ==== | ||
+ | |||
+ | - [[https://forum.keyboardmaestro.com/t/i-need-a-conditional-if-there-are-two-monitors/3031/5|I need a conditional if there are two monitors]] | ||
+ | |||
+ | - [[https://forum.keyboardmaestro.com/search?q=Screen|Keyboard Maestro Forum topics about Screen]] | ||
- | * [[action:Move or Click Mouse|action:Move or Click Mouse]] | ||
- | * [[function:MENUBARHEIGHT|function:MENUBARHEIGHT]], [[function:MOUSEBUTTON|function:MOUSEBUTTON]], [[function:MOUSEX|function:MOUSEX]], [[function:MOUSEY|function:MOUSEY]], [[function:SCREENCOUNT|function:SCREENCOUNT]], [[function:WINDOW|function:WINDOW]], [[function:WINDOWCOUNT|function:WINDOWCOUNT]] |