hoppfrosch / ahk_windy Goto Github PK
View Code? Open in Web Editor NEWToolbox to operate on windows
Home Page: http://hoppfrosch.github.io/AHK_Windy
License: Other
Toolbox to operate on windows
Home Page: http://hoppfrosch.github.io/AHK_Windy
License: Other
Due to a typo property resizable[] is misspelled - correct this!
Provide functionality to visually enumerate monitors by displaying monitor-id. (see http://ahkscript.org/boards/viewtopic.php?f=6&t=3761&p=19836)
Helper class to serialize information/current state of a window
When moving a window from one monitor to another, the size and position of the window on the new monitor should be adapted according to the proportions of the new monitor .
Therefore a new property scale should be introduced to Windy which calculates the scaled size and position of the window in dependency of the new monitorId.
Method movePercental() has four parameters:
Currently the factors do have to be in the range between 0% to 100%. This means that all coordinates/dimensions of the windows are changed. It is not possible with this function to move the window for example to the left border, keeping the current size of the window.
Expand the functionality to keep some factors constant!
As a debug-relict outout is redirected to a msgbox - this should be removed
Insert Shortcut to minimize all windows on the current monitor. Windows Shirtcut Win-M minimizes all windows on all monitors ...
As NaturalDocs 2.0. is available, this should be used to generate documentation
A method should be provided which transforms a given rectangle (x,y,w,h) into percents of the screen
Several Badges should be added to Readme.md
MDMF (http://ahkscript.org/boards/viewtopic.php?f=6&t=4606) offers functionality which maybe be incorporated in Dispy/MultiDispy
A method should be provided to visually highlight the current window
To enhance readability, hWnd should always be a hex-String
Property for drawing a trace on mouse movement (see http://msdn.microsoft.com/en-us/library/windows/desktop/ms724947%28v=vs.85%29.aspx - SPI_GETMOUSETRAILS/SPI_SETMOUSETRAILS)
AUTO WINLOCK (Window Position Locker) from MasterMind420 shows a technique to lock windows position.
Implement this also
See: http://www.autohotkey.com/board/topic/67874-winset-transparent-fails-on-ahk-gui-caption
Solution: use DLLCall to SetLayeredWindowAttributes ....
Restrict mouse to be fenced in a given Rectangle
LockGuiWidth for resizable GUI shows a method to limit the width of a Gui
Implement this and adapt it for height as well
New property activated[] to activate/deactivate the current window
Mousy: Property monitorID does not work correctly
This bug is a follow-up bug of misfunctioning property idFromMouse from MultiMony
On creation of a process the opened windows should be restored to predefined settings (for example window size & position)
Idea taken from: http://ahkscript.org/boards/viewtopic.php?f=5&t=9169
``#Persistent
winmgmts := ComObjGet("winmgmts:")
createSink := ComObjCreate("WbemScripting.SWbemSink")
ComObjConnect(createSink, "ProcessCreate_")
interval := 1
winmgmts.ExecNotificationQueryAsync(createSink, "SELECT * FROM __InstanceCreationEvent WITHIN "
. interval . " WHERE TargetInstance ISA 'Win32_Process' AND TargetInstance.Name='notepad.exe'" )
return
ProcessCreate_OnObjectReady(objWbemObject, objWbemAsyncContext)
{
WinMove, % "ahk_pid " objWbemObject.TargetInstance.ProcessId,, 100, 200, 300, 400
}``
Perform actions on windows using an unified class based interface
Based on #24 a method should be provided to transform the current position and size of the window into screen percents
The current usage of the include-directives makes problems when using non-standard located files to include the Windy classes.
see: http://ahkscript.org/boards/viewtopic.php?f=5&t=5941 as a help request on this problem
Trismarck suggested the usage of %A_LineFile% to overcome this problem
All relevant settings of a windy object should be exportable via JSON-serialization
Utilizing the functions:
GetMenuBarInfo should return information about the associated menus
New Methods to be implemented:
This is a base to perform actions (to be implemented) on a dedicated set of windows. This set of windows should be easily to construct using WindLy (for example: Close all windows on monitor except the currently active window)
Implementation of several enhancements concerning programmatic mouse movement:
When changing the monitorID of a window, the window should be resized according the proportions of the new monitor (see #19)
Offer a function to determine the primary monitor in a multi monitor environment
Implement a class to handle collections of windows (Windy-Objects)
Internal reorganization
#29 implements storage of window settings in JSON. This function should use this JSON to create a Windy-Object according this settings
jNizM's class_Monitor (https://github.com/jNizM/Class_Monitor/blob/master/src/Class_Monitor.ahk) offers a lot of functionality which also is useful within Mony
Bug: When Using Method locate() together with other GUIs, the GUIs with the ids 1-5 are destroyed by locate().
Property for speed of mouse movement
This could be used to take a snapshot of the contents of a list of windows to restore it later ...
Property for setting a window to clickthrough. This is an alias for the property transparent (see http://stackoverflow.com/questions/1524035/topmost-form-clicking-through-possible)
Implement method which iterates over list and removes all windows which do not exist not anymore
Implement method inverse() to invert the current list: create a new list that contains all elements which have not been part of the previous list
Implement property to determine caption height of the window
AHK_Windy is split of from AHK_EDE. Several preparing work has to be done to make the split work again
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.