{"id":269022,"date":"2023-04-20T14:33:00","date_gmt":"2023-04-20T11:33:00","guid":{"rendered":"https:\/\/howto.mediadoma.com\/?p=269022"},"modified":"2025-03-14T13:55:47","modified_gmt":"2025-03-14T10:55:47","slug":"hur-du-centrerar-vilket-fonster-som-helst-pa-din-skarm-med-autohotkey","status":"publish","type":"post","link":"https:\/\/howto.mediadoma.com\/sv\/hur-du-centrerar-vilket-fonster-som-helst-pa-din-skarm-med-autohotkey\/","title":{"rendered":"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey"},"content":{"rendered":"\n<p>\u00c4r det inte extremt irriterande hur, \u00e5tminstone p\u00e5 Windows, vilket f\u00f6nster som helst kan dyka upp var som helst p\u00e5 sk\u00e4rmen? G\u00e5r den dagliga slumpen dig p\u00e5 nerverna, och du f\u00f6redrar att ha mer kontroll \u00f6ver dina f\u00f6nsters placering p\u00e5 sk\u00e4rmen? Tja, nu kan du, tack vare AutoHotKey.<\/p>\n<p>I den h\u00e4r handledningen kommer vi att se hur du kan l\u00f6sa det h\u00e4r problemet med ett AutoHotKey-skript. Vi bygger den s\u00e5 att den flyttar vilket f\u00f6nster som helst till mitten av sk\u00e4rmen med en knapptryckning. L\u00e5ter s\u00f6tt? L\u00e5t oss se hur det g\u00e5r till!<\/p>\n<h2>Hur man st\u00e4ller in en f\u00f6nstercentrerad snabbtangent med AutoHotKey<\/h2>\n<p>Halva striden n\u00e4r man skapar ett manus \u00e4r att komma p\u00e5 hur det kommer att fungera innan man ens skriver en enskild karakt\u00e4r. S\u00e5 l\u00e5t oss g\u00f6ra en s\u00e5dan handlingsplan p\u00e5 vanlig engelska att vi sedan &quot;muterar&quot; till ett manus.<\/p>\n<h3>&quot;Problemet&quot; med Windows<\/h3>\n<p>Windows (som i &quot;rektangeln p\u00e5 v\u00e5ra sk\u00e4rmar&quot;, inte operativsystemet) tenderar att dyka upp var som helst p\u00e5 sk\u00e4rmen. Det \u00e4r distraherande, och det kan ocks\u00e5 vara irriterande n\u00e4r det h\u00e4nder upprepade g\u00e5nger. Speciellt n\u00e4r man har att g\u00f6ra med flera beg\u00e4randen som dyker upp p\u00e5 olika st\u00e4llen och f\u00f6rv\u00e4ntar sig anv\u00e4ndarinput.<\/p>\n<h3>L\u00f6sningen p\u00e5 problemet<\/h3>\n<p>F\u00f6rutom att skicka tangenttryckningar och musklick till valfritt f\u00f6nster, kan AutoHotKey ocks\u00e5 manipulera dem. Vi s\u00e5g tidigare hur du kan <a href=\"https:\/\/www.makeuseof.com\/tag\/how-to-pin-windows-always-on-top-using-a-keyboard-shortcut\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">anv\u00e4nda AutoHotKey f\u00f6r att f\u00e4sta f\u00f6nster &quot;alltid \u00f6verst&quot; med en kortkommando<\/a>. Den h\u00e4r g\u00e5ngen kommer vi dock att dra f\u00f6rdel av AutoHotKeys f\u00f6nstermanipuleringsf\u00f6rm\u00e5ga f\u00f6r att:<\/p>\n<ol>\n<li>&quot;L\u00e4s&quot; det aktiva f\u00f6nstrets ID.<\/li>\n<li>&quot;L\u00e4s&quot; \u00e4ven dess m\u00e5tt (bredd &#038; h\u00f6jd).<\/li>\n<li>&quot;L\u00e4s&quot; monitorns m\u00e5tt.<\/li>\n<li>Kombinera monitorns och f\u00f6nstrets dimensioner f\u00f6r att ber\u00e4kna de optimala koordinaterna f\u00f6r att presentera n\u00e4mnda f\u00f6nster i sk\u00e4rmens mitt.<\/li>\n<li>Flytta f\u00f6nstret till dessa koordinater.<\/li>\n<\/ol>\n<p>Slutligen kommer vi att mappa ovanst\u00e5ende till en genv\u00e4g. P\u00e5 s\u00e5 s\u00e4tt kan du kalla det &quot;on-demand&quot; ist\u00e4llet f\u00f6r att till\u00e4mpa det p\u00e5 alla f\u00f6nster \u2013 vilket kan st\u00f6ra helsk\u00e4rmsappar och spel.<\/p>\n<p>Observera att i den h\u00e4r handledningen kommer vi att dyka direkt in i AutoHotKey. Om du inte \u00e4r bekant med det och vill l\u00e4ra dig mer i f\u00f6rv\u00e4g, kolla v\u00e5r <a href=\"https:\/\/www.makeuseof.com\/tag\/autohotkey-guide-beginners\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">snabba AutoHotKey-guide f\u00f6r nyb\u00f6rjare<\/a>.<\/p>\n<h2>F\u00f6rst st\u00e4ller du in snabbtangenten<\/h2>\n<p>Vi n\u00e4mnde hur vi kommer att mappa funktionen vi kommer att skapa till en genv\u00e4g. Men det \u00e4r f\u00f6rmodligen b\u00e4ttre om vi b\u00f6rjar med den delen f\u00f6r att f\u00e5 det ur v\u00e4gen.<\/p>\n<p>B\u00f6rja med att ladda ner installationsprogrammet fr\u00e5n <a href=\"https:\/\/www.autohotkey.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AutoHotKeys officiella webbplats<\/a>. V\u00e4lj den &quot;nuvarande&quot; versionen ist\u00e4llet f\u00f6r v2-betan eller den f\u00f6r\u00e5ldrade 1.0-versionen. Installera det sedan p\u00e5 din PC.<\/p>\n<p>Starta Filutforskaren (det snabbaste s\u00e4ttet \u00e4r med tangentkombinationen Windows-tangent + E) och flytta till s\u00f6kv\u00e4gen d\u00e4r du vill skapa ditt skript. Med AutoHotKey installerad kommer du att f\u00e5 n\u00e5gra nya alternativ att visas p\u00e5 h\u00f6gerklicksmenyn. S\u00e5 h\u00f6gerklicka p\u00e5 det tomma utrymmet i Filutforskarens f\u00f6nster och v\u00e4lj <strong>Nytt &gt; AutoHotKey Script<\/strong>.<\/p>\n<p><a href=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de03fe5c.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de03fe5c.jpg\" alt=\"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey\" ><\/a><\/p>\n<p>Ge ditt skripts fil ett namn och h\u00f6gerklicka sedan p\u00e5 den och <strong>redigera<\/strong> den. Om du inte anv\u00e4nder en kodv\u00e4nlig textredigeringsapp, som Visual Studio Code eller Notepad++, anv\u00e4nd Windows Notepad. Undvik redigerare som Wordpad, som kan l\u00e4gga till v\u00e4rdel\u00f6s (f\u00f6r \u00e4ndam\u00e5let) syntax till din &quot;kod&quot;.<\/p>\n<p>N\u00e4r du \u00e4r i din valfri redigerare ser du att ditt AutoHotKey-skript redan har n\u00e5gra rader f\u00f6rifyllda \u00f6verst. De finns d\u00e4r av stabilitets- och kompatibilitetssk\u00e4l. De \u00e4r tweakable, men l\u00e4mna dem som de \u00e4r f\u00f6r denna handledning.<\/p>\n<p>&quot;Flytta&quot; tv\u00e5 eller tre rader under dem och ange genv\u00e4gen som kommer att starta din funktion. Du kan skapa en tangentkombination genom att anv\u00e4nda &quot;+&quot; f\u00f6r Shift, &quot;^&quot; f\u00f6r CTRL, &quot;!&quot; f\u00f6r Alt och &quot;#&quot; f\u00f6r Windows-tangenten, s\u00e5v\u00e4l som alla &quot;normala&quot; tangenter fr\u00e5n tangentbordet (bokst\u00e4ver och siffror).<\/p>\n<p>Till exempel, f\u00f6r att f\u00e5 kombinationen CTRL + Y att starta ditt skript, anv\u00e4nd:<\/p>\n<pre><code>^y::<\/code><\/pre>\n<p>Det dubbla &quot;:&quot; \u00e4r som att s\u00e4ga, &quot;hej, AutoHotKey, v\u00e4nligen mappa str\u00e4ngen eller tangentkombinationen till v\u00e4nster till allt till h\u00f6ger&quot;.<\/p>\n<p>&quot;Flytta&quot; tv\u00e5 eller tre rader under det genom att trycka p\u00e5 Enter och skriv &quot;retur&quot;, vilket kommer att markera slutet p\u00e5 den specifika funktionen. Det fullst\u00e4ndiga resultatet ska se ut s\u00e5 h\u00e4r:<\/p>\n<pre><code>^y::; This is a comment.return<\/code><\/pre>\n<p>&quot;; Det h\u00e4r \u00e4r en kommentar.&quot; linje \u00e4r just det, en kommentar i skriptets &quot;kod&quot; som AutoHotKey inte kommer att k\u00f6ra. Det finns d\u00e4r i dokumentationssyfte f\u00f6r att markera platsen d\u00e4r vi anger skriptets &quot;kod&quot; i f\u00f6ljande steg.<\/p>\n<p><a href=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de2b4585.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de2b4585.jpg\" alt=\"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey\" ><\/a><\/p>\n<p>Om du har f\u00f6ljt v\u00e5r guide f\u00f6r <a href=\"https:\/\/www.makeuseof.com\/autohotkey-app-specific-hotkeys\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">att skapa appspecifika snabbtangenter med AutoHotKey<\/a> tidigare, i det h\u00e4r fallet&#8230; g\u00f6r det inte. Du vill att din f\u00f6nstercentrerade snabbtangent ska vara &quot;global&quot; f\u00f6r att centrera alla f\u00f6nster fr\u00e5n vilken app som helst. Om du &quot;knyter den&quot; till en viss app kommer den bara att agera p\u00e5 den h\u00e4r appens f\u00f6nster.<\/p>\n<h2>F\u00e5 information om det aktiva f\u00f6nstret<\/h2>\n<p>Vi vill att v\u00e5r genv\u00e4g ska agera p\u00e5 det aktiva f\u00f6nstret, och vi beh\u00f6ver ocks\u00e5 dess dimensioner f\u00f6r v\u00e5ra ber\u00e4kningar. Vi kan hitta dessa detaljer med f\u00f6ljande:<\/p>\n<pre><code>WinGetTitle, ActiveWindowTitle, AWinGetPos,,, Width, Height, %ActiveWindowTitle%<\/code><\/pre>\n<p>Ers\u00e4tt kommentarsraden som vi har lagt till i skriptet i f\u00f6reg\u00e5ende avsnitt med de tv\u00e5 raderna ovan. Resultatet?<\/p>\n<p><a href=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de4d254c.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de4d254c.jpg\" alt=\"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey\" ><\/a><\/p>\n<ul>\n<li>Den f\u00f6rsta raden tar tag i det aktiva f\u00f6nstrets titel.<\/li>\n<li>Den andra raden l\u00e4ser dess bredd och h\u00f6jd och mappar dem till orden\/variablerna &quot;Width&quot; och &quot;Height&quot;, som vi kommer att anv\u00e4nda h\u00e4rn\u00e4st f\u00f6r v\u00e5ra ber\u00e4kningar.<\/li>\n<\/ul>\n<p>Vi har det aktiva f\u00f6nstrets detaljer, men vi beh\u00f6ver ocks\u00e5 monitorns synliga omr\u00e5des m\u00e5tt f\u00f6r att n\u00e5 v\u00e5rt m\u00e5l. Tack och lov \u00e4r det \u00e4nnu l\u00e4ttare att ta reda p\u00e5 dem.<\/p>\n<h2>Hur \u00e4r det med det prim\u00e4ra monitoromr\u00e5det?<\/h2>\n<p>Vi beh\u00f6ver inga extra kommandon f\u00f6r att hitta v\u00e5r prim\u00e4ra bildsk\u00e4rms bredd och h\u00f6jd. AutoHotKey kommer med tv\u00e5 f\u00f6rinst\u00e4llda variabler som redan inneh\u00e5ller den informationen f\u00f6r oss: &quot;A_ScreenWidth&quot; och &quot;A_ScreenHeight&quot;.<\/p>\n<p>S\u00e5 n\u00e4r du ser dem i n\u00e4sta avsnitt &quot;inneh\u00e5ller&quot; de redan den prim\u00e4ra monitorns bredd och h\u00f6jd. Det beh\u00f6vs inget f\u00f6r att tilldela dem r\u00e4tt v\u00e4rden. Vi kan allts\u00e5 anv\u00e4nda dem direkt i v\u00e5ra ber\u00e4kningar.<\/p>\n<h2>Dags att ber\u00e4kna m\u00e5lpositionen<\/h2>\n<p>Vi kan inkludera ber\u00e4kningarna direkt i de punkter i skriptet d\u00e4r vi beh\u00f6ver dem. \u00c4nd\u00e5 \u00e4r det l\u00e4ttare och b\u00e4ttre f\u00f6r l\u00e4sbarheten om vi mappar dem till tv\u00e5 variabler och sedan anv\u00e4nder dessa variabler i v\u00e5rt skript.<\/p>\n<p>S\u00e5 l\u00e5t oss g\u00e5 till &quot;TargetX&quot; som variabeln som kommer att h\u00e5lla de horisontella koordinaterna och &quot;TargetY&quot; som den med de vertikala koordinaterna d\u00e4r vi ska flytta f\u00f6nstret f\u00f6r att det ska visas i mitten av sk\u00e4rmen.<\/p>\n<pre><code>TargetX := (A_ScreenWidth\/2)-(Width\/2) ; Here we calculate the horizontal window target...TargetY := (A_ScreenHeight\/2)-(Height\/2) ; ...and here the vertical one.<\/code><\/pre>\n<p>L\u00e5t oss dechiffrera dessa rader p\u00e5 vanlig engelska:<\/p>\n<ul>\n<li>&quot;TargetX&quot; och &quot;TargetY&quot; \u00e4r de tv\u00e5 variablerna.<\/li>\n<li>&quot;:=&quot; informerar AutoHotKey att variablerna ska vara lika med resultaten av ber\u00e4kningarna till h\u00f6ger och att dessa resultat ska behandlas som siffror.<\/li>\n<li>&quot;(A_ScreenWidth\/2)&quot; delar hela bildsk\u00e4rmens bredd med tv\u00e5.<\/li>\n<li>&quot;(Width\/2)&quot; g\u00f6r samma sak f\u00f6r det aktiva f\u00f6nstrets bredd.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de6d2119.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de6d2119.jpg\" alt=\"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey\" ><\/a><\/p>\n<p>Med ovanst\u00e5ende subtraherar vi halva det aktiva f\u00f6nstrets bredd fr\u00e5n halva sk\u00e4rmens bredd. Det som \u00e5terst\u00e5r \u00e4r utrymmet till v\u00e4nster om f\u00f6nstret \u2013 fr\u00e5n v\u00e4nster sida av sk\u00e4rmen och fram till d\u00e4r f\u00f6nstret ska visas. Den andra raden g\u00f6r samma sak men f\u00f6r h\u00f6jden.<\/p>\n<h2>Nu f\u00f6r att flytta om f\u00f6nstret<\/h2>\n<p>Utrustade med den allsm\u00e4ktiga kunskapen fr\u00e5n de mystiska kommandon vi s\u00e5g ovan, kan vi nu skapa v\u00e5r magiska besv\u00e4rjelse som kommer att fullborda f\u00f6nsterteleporteringsritualen. Eller, p\u00e5 vanlig engelska, anv\u00e4nd AutoHotKeys &quot;WinMove&quot;-kommando f\u00f6r att flytta f\u00f6nster runt p\u00e5 sk\u00e4rmen.<\/p>\n<p>WinMove f\u00f6rv\u00e4ntar sig att vi ska &quot;mata&quot; den med minst tre informationsdelar f\u00f6r att g\u00f6ra sin handling: det riktade f\u00f6nstrets titel och koordinaterna vart det ska flyttas. Eftersom vi redan har mappat dessa informationsbitar till variabler \u00e4r kommandot s\u00e5 enkelt som:<\/p>\n<pre><code>WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY%<\/code><\/pre>\n<p>I ovanst\u00e5ende:<\/p>\n<ul>\n<li>&quot;WinMove&quot; \u00e4r kommandot AutoHotKey som flyttar runt ett f\u00f6nster.<\/li>\n<li>&quot;%ActiveWindowTitle%&quot; \u00e4r variabeln d\u00e4r det aktiva f\u00f6nstrets titel mappas.<\/li>\n<li>&quot;%TargetX%&quot; och &quot;%TargetY%&quot; \u00e4r de horisontella och vertikala koordinaterna dit f\u00f6nstret ska flyttas.<\/li>\n<\/ul>\n<p>Du kan ocks\u00e5 \u00e4ndra storlek p\u00e5 f\u00f6nster med WinMove, hoppa \u00f6ver de med speciella textstickor i sina titlar eller inneh\u00e5ll, etc. Eftersom dessa funktioner ligger utanf\u00f6r ramen f\u00f6r denna artikel, kolla <a href=\"https:\/\/www.autohotkey.com\/docs\/commands\/WinMove.htm\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">AutoHotKeys officiella dokumentation om WinMove-kommandot<\/a> f\u00f6r mer om dem.<\/p>\n<h2>Det sista manuset<\/h2>\n<p>\u00c4ntligen n\u00e5r vi den mest utmanande delen av v\u00e5r resa. F\u00f6rbered dig f\u00f6r n\u00e4sta steg f\u00f6rv\u00e4ntar dig att du sparar skriptet och, ja&#8230; K\u00f6r det.<\/p>\n<p>Ja, det var det \u2013 manuset \u00e4r komplett, och det finns inget mer att g\u00f6ra \u00e4n att prova det. Anv\u00e4nd genv\u00e4gen du definierade s\u00e5 flyttas alla aktiva f\u00f6nster till mitten av sk\u00e4rmen.<\/p>\n<p><a href=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de9739d7.jpg\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/howto.mediadoma.com\/wp-content\/uploads\/2022\/10\/post-254570-63407de9739d7.jpg\" alt=\"Hur du centrerar vilket f\u00f6nster som helst p\u00e5 din sk\u00e4rm med AutoHotKey\" ><\/a><\/p>\n<p>Den slutliga skriptfilen, som \u00f6ppnas i en textredigerare, b\u00f6r se ut ungef\u00e4r s\u00e5 h\u00e4r:<\/p>\n<pre><code>; SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.^y::   WinGetTitle, ActiveWindowTitle, A ; Get the active window's title for \"targetting\" it\/acting on it.  WinGetPos,,, Width, Height, %ActiveWindowTitle% ; Get the active window's position, used for our calculations. TargetX := (A_ScreenWidth\/2)-(Width\/2) ; Calculate the horizontal target where we'll move the window.  TargetY := (A_ScreenHeight\/2)-(Height\/2) ; Calculate the vertical placement of the window.      WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY% ; Move the window to the calculated coordinates.    return<\/code><\/pre>\n<p>Observera att du kan kopiera skriptet ovan, klistra in det i Notepad eller liknande textredigerare och spara det med en AHK-till\u00e4gg. Sedan &quot;k\u00f6r&quot; den, med AutoHotKey installerad, f\u00f6r att centrera vilket f\u00f6nster som helst n\u00e4r du trycker p\u00e5 CTRL + Y. Om du inte gillar den genv\u00e4gen, justera &quot;^y::&quot;-raden till en annan tangentkombination. Till exempel <code>!+c::<\/code>skulle mappa funktionen till tangentkombinationen Shift + Alt + C.<\/p>\n<h3>Bonus sp\u00e5r<\/h3>\n<p>F\u00f6r din bekv\u00e4mlighet har vi best\u00e4mt oss f\u00f6r att trolla och inkludera ett sekund\u00e4rt skript som kommer att vara anv\u00e4ndbart f\u00f6r dem med dubbla bildsk\u00e4rmsinst\u00e4llningar.<\/p>\n<p>F\u00f6r att h\u00e5lla den h\u00e4r artikeln str\u00f6mlinjeformad har vi ist\u00e4llet inkluderat information om hur skriptet fungerar i det i form av kommentarer. Du kan ta bort dem fr\u00e5n din iteration.<\/p>\n<p>Den korta historien om hur det skiljer sig fr\u00e5n skriptet ovan \u00e4r att vi \u00e4ven l\u00e4gger till en PositionToggle-variabel och lite &quot;IF-logik&quot;. Vi anv\u00e4nder sedan dem f\u00f6r att &quot;sn\u00e4rta&quot; f\u00f6nstret mellan bildsk\u00e4rmar. Vi b\u00f6r notera att det \u00e4r en oelegant och &quot;hack-y&quot; l\u00f6sning p\u00e5 problemet. Men vi f\u00f6redrog det framf\u00f6r mer str\u00f6mlinjeformad kod eftersom detta tillv\u00e4gag\u00e5ngss\u00e4tt \u00e4r l\u00e4ttare att f\u00f6rst\u00e5 och justera f\u00f6r alla som inte \u00e4r bekanta med AutoHotKey.<\/p>\n<pre><code>; SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.PositionToggle = 1 ; Use a number as a toggle for marking on which monitor the window should appear.^y::   WinGetTitle, ActiveWindowTitle, A   WinGetPos,,, Width, Height, %ActiveWindowTitle%     If PositionToggle = 1 ; Check the toggle's state and \"do what's between the curly brackets\" if it's set to 1 for our primary monitor.  {       TargetX := (A_ScreenWidth\/2)-(Width\/2)      TargetY := (A_ScreenHeight\/2)-(Height\/2)        PositionToggle = 2 ; \"Flick\" the toggle so that if we reuse the hotkey, our active window will move to the second monitor.    }   Else If PositionToggle = 2 ; Have we used the hotkey before, \"flicking\" the toggle number to the second monitor? Then the script should instead do what's between the following curly brackets instead of the ones above.    {       SysGet, Mon2, Monitor, 2 ; Get the second monitor's details        Mon2Width := Mon2Right - Mon2Left ; Calculate the second monitor's actual width.       Mon2Height := Mon2Bottom - Mon2Top ; Calculate the second monitor's actual height.             TargetX := (Mon2Width\/2)-(Width\/2)+A_ScreenWidth ; Calculate where to move the window. Notice that we also add the primary monitor's width since AutoHotKey can't move windows on individual monitors but across their combined \"surface\".      TargetY := (Mon2Height\/2)-(Height\/2)+Mon2Top ; Calculate the optimal vertical target for moving the window on the second monitor. Like above, the second monitor's vertical details are detected in relation to the primary monitor. Thus, we have to get creative to get an optimal target by acknowledging how the second monitor's top isn't equal to 0 (like the primary one's).                PositionToggle = 1 ; Flick the toggle back so that if we reuse the hotkey, the window will move back to the primary monitor.    }       WinMove, %ActiveWindowTitle%,, %TargetX%, %TargetY% ; The actual action, moving the active window to our calculated coordinates.    return<\/code><\/pre>\n<h2>Centrera ett f\u00f6nster med en nyckel, det enkla s\u00e4ttet<\/h2>\n<p>Och nu \u00e4r du klar! Om allt fungerar bra kan du nu anv\u00e4nda din nyinst\u00e4llda snabbtangent f\u00f6r att centrera ett f\u00f6nster n\u00e4r som helst.<\/p>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/www.makeuseof.com\" class=\"external external_icon\">www.makeuseof.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Om du \u00e4r tr\u00f6tt p\u00e5 att Windows ska best\u00e4mma vilket f\u00f6nster du ska titta p\u00e5, s\u00e5 h\u00e4r g\u00f6r du en snabbtangent f\u00f6r att stoppa det.<\/p>\n","protected":false},"author":1,"featured_media":254571,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[2889],"tags":[3063],"class_list":["post-269022","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-windows-7","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/269022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/comments?post=269022"}],"version-history":[{"count":1,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/269022\/revisions"}],"predecessor-version":[{"id":308859,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/posts\/269022\/revisions\/308859"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/media\/254571"}],"wp:attachment":[{"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/media?parent=269022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/categories?post=269022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/howto.mediadoma.com\/sv\/wp-json\/wp\/v2\/tags?post=269022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}