ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

DonationCoder.com Software > Post New Requests Here

Request. Add feature to the free program

<< < (3/5) > >>

jgpaiva:
AltDrag has a window resize similar to linux: when you press Alt and drag close to the corner, you can resize that window in that direction.
I'm pretty sure I've seen something like that somewhere. Probably it's one of these two (most likely the first one):
http://www.autohotkey.com/docs/scripts/EasyWindowDrag_(KDE).htm
http://www.enovatic.org/products/niftywindows/onlinedemo/

jgpaiva:
Also, another option: plander, why don't you run the script skrommel posted and altdrag? They complement each other and could solve your problem.

plander:
jgpaiva i run script and altdrag, but they do not interact together , coz when i drag windows by middle mouse button the don't resize and nothing happend (they just moving by script), (when i use alt drag commands) windows resize only when i press alt + drag window, but i want only press middle button and drag and resize. They work separately, not together, this is a problem.

and thank you for the NiftyWindows program, very interesting, but steel haven't drag by middle button and hotkeys in opera not work when run NiftyWindows :(

jgpaiva:
I see.
I modified the easywindowdrag script to include the resizing stuff.
See below:

--- ---; This script was inspired by and built on many like it
; in the forum. Thanks go out to ck, thinkstorm, Chris,
; and aurelian for a job well done. Modified by jgpaiva

; Change history:
; November 07, 2006: Optimized resizing code in !RButton, courtesy of bluedawn.
; February 05, 2006: Fixed double-alt (the ~Alt hotkey) to work with latest versions of AHK.
; February 05, 2006: removed alt stuff, changed for middlebutton

; The shortcuts:
;  Alt + Left Button  : Drag to move a window.
;  Alt + Right Button : Drag to resize a window.
;  Double-Alt + Left Button   : Minimize a window.
;  Double-Alt + Right Button  : Maximize/Restore a window.
;  Double-Alt + Middle Button : Close a window.
;
; You can optionally release Alt after the first
; click rather than holding it down the whole time.

If (A_AhkVersion < "1.0.39.00")
{
    MsgBox,20,,This script may not work properly with your version of AutoHotkey. Continue?
    IfMsgBox,No
    ExitApp
}


; This is the setting that runs smoothest on my
; system. Depending on your video card and cpu
; power, you may want to raise or lower this value.
SetWinDelay,2

CoordMode,Mouse
return

MButton::
; Get the initial mouse position and window id, and
; abort if the window is maximized.
MouseGetPos,KDE_X1,KDE_Y1,KDE_id
WinGet,KDE_Win,MinMax,ahk_id %KDE_id%
If KDE_Win
    return
; Get the initial window position and size.
WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
; Define the window region the mouse is currently in.
if (KDE_X1 < KDE_WinX1 + KDE_WinW / 2)
   KDE_WinLeft := 1        
else
   KDE_WinLeft := -1

if (KDE_Y1 < KDE_WinY1 + KDE_WinH / 2)
   KDE_WinUp := 1      
else
   KDE_WinUp := -1

centerX := KDE_X1 > KDE_WinX1 + KDE_WinW / 3 AND KDE_X1 < KDE_WinX1 + 2*KDE_WinW /3

centerY := KDE_Y1 > KDE_WinY1 + KDE_WinH / 3 AND KDE_Y1 < KDE_WinY1 + 2*KDE_WinH /3


Loop
{
    GetKeyState,KDE_Button,MButton,P ; Break if button has been released.
    If KDE_Button = U
        break
    MouseGetPos,KDE_X2,KDE_Y2 ; Get the current mouse position.
    ; Get the current window position and size.
    WinGetPos,KDE_WinX1,KDE_WinY1,KDE_WinW,KDE_WinH,ahk_id %KDE_id%
    KDE_X2 -= KDE_X1 ; Obtain an offset from the initial mouse position.
    KDE_Y2 -= KDE_Y1
    ; Then, act according to the defined region.
    if (centerX AND centerY)
      WinMove,ahk_id %KDE_id%,, KDE_WinX1 + KDE_X2  ; X of resized window
                              , KDE_WinY1 + KDE_Y2  ; Y of resized window
                              , KDE_WinW ; W of resized window
                              , KDE_WinH ; H of resized window
    else
        WinMove,ahk_id %KDE_id%,, KDE_WinX1 + (KDE_WinLeft+1)/2*KDE_X2  ; X of resized window
                                , KDE_WinY1 +   (KDE_WinUp+1)/2*KDE_Y2  ; Y of resized window
                                , KDE_WinW  -     KDE_WinLeft  *KDE_X2  ; W of resized window
                                , KDE_WinH  -       KDE_WinUp  *KDE_Y2  ; H of resized window

    KDE_X1 := (KDE_X2 + KDE_X1) ; Reset the initial position for the next iteration.
    KDE_Y1 := (KDE_Y2 + KDE_Y1)
}
returnDISCLAIMER: I do *not* have a computer to test this code on, so it may very well not work. If any bananas explode when using this program, I claim no responsibility :P

jgpaiva:
Ok, I've updated the above post to include code that actually has been tested and works! :P

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version