User Tools

Site Tools


function:SCREEN

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Last revision Both sides next revision
function:SCREEN [2015/04/22 02:18]
peternlewis created
function:SCREEN [2023/02/17 01:56]
peternlewis
Line 1: Line 1:
-The SCREEN ​function returns the position or size of a screen.+====== ​SCREEN, SCREENVISIBLE and SCREENINDEX Functions ======
  
-    ​SCREEN( ​index, coordinate ​) +The //SCREEN()// and //​SCREENVISIBLE()// functions return the position or size of a screen. ​ //​SCREENVISIBLE()//​ refers to the visible section of the screenexcluding the menu bar and the dock.
-    SCREENindexcoordinate, percentage )+
  
-The SCREEN *index* can be 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 //​SCREENINDEX()//​ function returns (v10.0+) the actual index of the specified ​screen, ​counting ​from left to right.
  
-* 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+SCREEN( index [number OR name], coordinate ) 
-Third the left most screen that is not the Main or Second ​screen. +SCREEN( index [number OR name], coordinate, percentage ) 
-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. +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. 
-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. +The _Main_ screen is set by your macOS System Preferences. 
-Back2 the second left most screen not containing (the most of) the front window.+ 
 +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 or 0 | 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.| 
 +| Positive Calculation | the indexed screen from left to right. | 
 +| Negative Calculation | the indexed screen from right to left. | 
 +| Variable Name | the index value based on the value of the variable (v9.0+). | 
 + 
 +:!: Note: Since the _Main_ screen can be in any position: 
 +  * 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.
  
 The SCREEN *coordinate* can be: The SCREEN *coordinate* can be:
Line 26: Line 45:
 * MidX * MidX
 * MidY * MidY
 +* Index (v9.0+)
  
 The optional SCREEN *percentage* parameter specifies a percentage of the width or height to offset by. Offsets are always to the right and down, but negative offsets are allowed. The optional SCREEN *percentage* parameter specifies a percentage of the width or height to offset by. Offsets are always to the right and down, but negative offsets are allowed.
Line 31: Line 51:
 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 nominal resolution pixels relative to the top left corner of the main screen. 
 + 
 +===== See Also ===== 
 + 
 +==== Actions ==== 
 + 
 +* [[action:​Manipulate a Window|Manipulate a Window]] action 
 +* [[action:​Move or Click Mouse|Move or Click Mouse]] action 
 +* [[:​Actions|See all Actions]] 
 + 
 +==== Functions ==== 
 + 
 +* [[function:​MENUBARHEIGHT|MENUBARHEIGHT()]] function 
 +* [[function:​MOUSEBUTTON|MOUSEBUTTON()]] function 
 +* [[function:​MOUSEX|MOUSEX()]] function 
 +* [[function:​MOUSEY|MOUSEY()]] function 
 +* [[function:​SCREENCOUNT|SCREENCOUNT()]] function 
 +* [[function:​WINDOW|WINDOW()]] function 
 +* [[function:​WINDOWCOUNT|WINDOWCOUNT()]] function 
 +* [[:​Functions|See all Functions]] 
 + 
 +=== Tokens === 
 + 
 +* [[token:​Screen|%Screen%]] token 
 +* [[token:​ScreenVisible|%ScreenVisible%]] token 
 +* [[:​Tokens|See all Tokens]] 
 + 
 +==== Forum ==== 
 + 
 +- [[https://​forum.keyboardmaestro.com/​t/​i-need-a-conditional-if-there-are-two-monitors/​3031/​|I need a conditional if there are two monitors]] 
 + 
 +- [[https://​forum.keyboardmaestro.com/​search?​q=Screen|Keyboard Maestro Forum topics about Screen]]
  
-Coordinates are in absolute coordinates (relative to the top left corner of the main screen). 
function/SCREEN.txt · Last modified: 2023/09/20 03:47 by peternlewis