Jump to content
LaunchBox Community Forums

Trymado

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Trymado

  1. Resolved

    #SingleInstance force ;;; Known issues: ;;; ;;; - Weird results for windows with custom decorations such as ;;; Chrome, or programs with a Ribbon interface. ;;; - Emacs will be maximized behind instead of in front of ;;; the taskbar. Workaround: WinHide ahk_class Shell_TrayWnd SetTimer, M_Drive_Exist, 500 Return M_Drive_Exist: IF WinExist("M-Drive(NNDXG20-WIN)") { ToggleFakeFullscreen() SetTimer, M_Drive_Exist, Off } Return ToggleFakeFullscreen() { CoordMode Screen, Window static WINDOW_STYLE_UNDECORATED := -0xC40000 static savedInfo := Object() ;; Associative array! WinGet, id, ID, A if (savedInfo[id]) { inf := savedInfo[id] WinSet, Style, % inf["style"], ahk_id %id% WinMove, ahk_id %id%,, % inf["x"], % inf["y"], % inf["width"], % inf["height"] savedInfo[id] := "" } else { savedInfo[id] := inf := Object() WinGet, ltmp, Style, A inf["style"] := ltmp WinGetPos, ltmpX, ltmpY, ltmpWidth, ltmpHeight, ahk_id %id% inf["x"] := ltmpX inf["y"] := ltmpY inf["width"] := ltmpWidth inf["height"] := ltmpHeight WinSet, Style, %WINDOW_STYLE_UNDECORATED%, ahk_id %id% mon := GetMonitorActiveWindow() SysGet, mon, Monitor, %mon% WinMove, A,, %monLeft%, %monTop%, % monRight-monLeft, % monBottom-monTop } } GetMonitorAtPos(x,y) { ;; Monitor number at position x,y or -1 if x,y outside monitors. SysGet monitorCount, MonitorCount i := 0 while(i < monitorCount) { SysGet area, Monitor, %i% if ( areaLeft <= x && x <= areaRight && areaTop <= y && y <= areaBottom ) return i i := i+1 } return -1 } GetMonitorActiveWindow() { ;; Get Monitor number at the center position of the Active window. WinGetPos x,y,width,height, A return GetMonitorAtPos(x+width/2, y+height/2) } F8::ToggleFakeFullscreen() Escape::ExitApp

    #SingleInstance force
    ;;; Known issues:
    ;;;
    ;;; - Weird results for windows with custom decorations such as
    ;;; Chrome, or programs with a Ribbon interface.
    ;;; - Emacs will be maximized behind instead of in front of
    ;;; the taskbar. Workaround: WinHide ahk_class Shell_TrayWnd
    SetTimer, M_Drive_Exist, 500
    Return
    M_Drive_Exist:
    IF WinExist("M-Drive(NNDXG20-WIN)")
    {
    	ToggleFakeFullscreen()
    	SetTimer, M_Drive_Exist, Off
    }
    Return
    ToggleFakeFullscreen()
    {
    	CoordMode Screen, Window
    	static WINDOW_STYLE_UNDECORATED := -0xC40000
    	static savedInfo := Object() ;; Associative array!
    	WinGet, id, ID, A
    	if (savedInfo[id])
    	{
    		inf := savedInfo[id]
    		WinSet, Style, % inf["style"], ahk_id %id%
    		WinMove, ahk_id %id%,, % inf["x"], % inf["y"], % inf["width"], % inf["height"]
    		savedInfo[id] := ""
    	}
    	else
    	{
    		savedInfo[id] := inf := Object()
    		WinGet, ltmp, Style, A
    		inf["style"] := ltmp
    		WinGetPos, ltmpX, ltmpY, ltmpWidth, ltmpHeight, ahk_id %id%
    		inf["x"] := ltmpX
    		inf["y"] := ltmpY
    		inf["width"] := ltmpWidth
    		inf["height"] := ltmpHeight
    		WinSet, Style, %WINDOW_STYLE_UNDECORATED%, ahk_id %id%
    		mon := GetMonitorActiveWindow()
    		SysGet, mon, Monitor, %mon%
    		WinMove, A,, %monLeft%, %monTop%, % monRight-monLeft, % monBottom-monTop
    	}
    }
    GetMonitorAtPos(x,y)
    {
    	;; Monitor number at position x,y or -1 if x,y outside monitors.
    	SysGet monitorCount, MonitorCount
    	i := 0
    	while(i < monitorCount)
    	{
    		SysGet area, Monitor, %i%
    		if ( areaLeft <= x && x <= areaRight && areaTop <= y && y <= areaBottom )
    			return i
    		i := i+1
    	}
    	return -1
    }
    GetMonitorActiveWindow()
    {
    	;; Get Monitor number at the center position of the Active window.
    	WinGetPos x,y,width,height, A
    	return GetMonitorAtPos(x+width/2, y+height/2)
    }
    F8::ToggleFakeFullscreen()
    Escape::ExitApp

     

  2. Hello everyone, I try to add  Script 2 in Script 1 (merged 2 scripts) but it does not work. Start separately, the two scripts work.
    It is necessary when the window of KO Drive is launched, F8 is automatically pressed which launches the fullscreen
    Thx a lot


    Script  1 Fullscreen with Input "F8":

    #SingleInstance force
    
    ;;; Known issues:
    ;;;
    ;;; - Weird results for windows with custom decorations such as
    ;;; Chrome, or programs with a Ribbon interface.
    ;;; - Emacs will be maximized behind instead of in front of
    ;;; the taskbar. Workaround: WinHide ahk_class Shell_TrayWnd
    ToggleFakeFullscreen()
    {
    CoordMode Screen, Window
    static WINDOW_STYLE_UNDECORATED := -0xC40000
    static savedInfo := Object() ;; Associative array!
    WinGet, id, ID, A
    if (savedInfo[id])
    {
    inf := savedInfo[id]
    WinSet, Style, % inf["style"], ahk_id %id%
    WinMove, ahk_id %id%,, % inf["x"], % inf["y"], % inf["width"], % inf["height"]
    savedInfo[id] := ""
    }
    else
    {
    savedInfo[id] := inf := Object()
    WinGet, ltmp, Style, A
    inf["style"] := ltmp
    WinGetPos, ltmpX, ltmpY, ltmpWidth, ltmpHeight, ahk_id %id%
    inf["x"] := ltmpX
    inf["y"] := ltmpY
    inf["width"] := ltmpWidth
    inf["height"] := ltmpHeight
    WinSet, Style, %WINDOW_STYLE_UNDECORATED%, ahk_id %id%
    mon := GetMonitorActiveWindow()
    SysGet, mon, Monitor, %mon%
    WinMove, A,, %monLeft%, %monTop%, % monRight-monLeft, % monBottom-monTop
    }
    }
    
    GetMonitorAtPos(x,y)
    {
    ;; Monitor number at position x,y or -1 if x,y outside monitors.
    SysGet monitorCount, MonitorCount
    i := 0
    while(i < monitorCount)
    {
    SysGet area, Monitor, %i%
    if ( areaLeft <= x && x <= areaRight && areaTop <= y && y <= areaBottom )
    {
    return i
    }
    i := i+1
    }
    return -1
    }
    
    GetMonitorActiveWindow(){
    ;; Get Monitor number at the center position of the Active window.
    WinGetPos x,y,width,height, A
    return GetMonitorAtPos(x+width/2, y+height/2)
    }
    
    F8::ToggleFakeFullscreen()
    Escape::ExitApp

     

    Script 2, Start F8 when windows KO Drive is active

    #NoEnv  ; Recommended for performance and compatibility with future AutoHotkey releases.
    ; #Warn  ; Enable warnings to assist with detecting common errors.
    SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.
    ;SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.
    
    
    #SingleInstance force
    Loop
    while WinExist("M-Drive(NNDXG20-WIN)")
    {
    Send, {F8}
    ExitApp
    }

     

×
×
  • Create New...