User Tools

Site Tools


function:SCREEN

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
function:SCREEN [2015/07/13 06:09]
peternlewis
function:SCREEN [2023/09/20 03:47] (current)
peternlewis
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.+====== ​SCREEN ​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 (v10.0+) returns 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. +SCREENindex [number OR name], coordinate ​
-* Third - the left most screen that is not the Main or Second screen. +SCREENindex [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. +
-* Front - the left most screen containing ​(the most ofthe 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 ​//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 SCREENCOUNT() 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 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:
  
 * Left * Left
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.
 +
 +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 front screen minus 10% of the width of the front screen.
 +
 +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 ====
 +
 +* [[MENUBARHEIGHT]]
 +* [[MOUSEBUTTON]]
 +* [[MOUSEX]]
 +* [[MOUSEY]]
 +* [[SCREENCOUNT]]
 +* [[WINDOW]]
 +* [[WINDOWCOUNT]]
 +* [[:​Functions|See all Functions]]
 +
 +=== Tokens ===
 +
 +* [[token:​Screen|%Screen%]] token
 +* [[token:​ScreenVisible|%ScreenVisible%]] token
 +* [[:​Tokens|See all Tokens]]
  
-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.+==== Forum ====
  
-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.+[[https://​forum.keyboardmaestro.com/​t/​i-need-a-conditional-if-there-are-two-monitors/​3031/​|I need a conditional if there are two monitors]]
  
-SCREEN sizes and positions are in "​points"​ (so a retina screen will typically have half as many points as pixels).+- [[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.1436782182.txt.gz · Last modified: 2015/07/13 06:09 by peternlewis