topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Saturday October 5, 2024, 3:49 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Last post Author Topic: IDEA: drag window to edge automatically resizes it  (Read 768066 times)

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #50 on: June 01, 2006, 10:06 AM »
 ;D fantastic.

i dowloaded the latest version of autohotkey and now the beta1 version appears to be working.

your little test 'nudonetest.ahk' worked perfectly too before i updated autohotkey.

it looks like you can continue to the next beta version - great job that you figured out that there couldn't be anything wrong with the script so it had to be autohotkey itself.

as for how it works - i wasn't expecting a right click would be necessary to confirm the resize but i'm getting used to it.

so far the method of dragging the title bar and then pausing with the left mouse button down seems like the nicer idea - could this not be made a little more automatic so once the transparent grid appears all you need to do is keep dragging the title bar onto the 'grid zone' you want to resize into - AND then release the left mouse button, i.e. no right clicking or 3rd button clicking.

i can see that the method i've described might cause a problem if you decide that you don't actually want to resize to a grid zone (if you change your mind or have accidently held the left mouse button down on the stationary title bar for too long) - but maybe it would be good to have a 'right' mouse click act at the 'cancel' operation.

i'm just trying to suggest ways of keeping 'gridmove' a 'flowing' type of interface - left clicks always feel more natural and the less clicks there are the more refined the program will feel.

great work again, jgpaiva.

can we have the grid a bit more transparent in the next version, please.  :D
« Last Edit: June 01, 2006, 10:10 AM by nudone »

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #51 on: June 01, 2006, 10:14 AM »
Great to know it's now fixed!

so far the method of dragging the title bar and then pausing with the left mouse button down seems like the nicer idea - could this not be made a little more automatic so once the transparent grid appears all you need to do is keep dragging the title bar onto the 'grid zone' you want to resize into - AND then release the left mouse button, i.e. no right clicking or 3rd button clicking.

i can see that the method i've described might cause a problem if you decide that you don't actually want to resize to a grid zone (if you change your mind or have accidently held the left mouse button down on the stationary title bar for too long) - but maybe it would be good to have a 'right' mouse click act at the 'cancel' operation.
I fully agree with you, and i think this can be done.

can we have the grid a bit more transparent in the next version, please.  :D
The first one was already supposed to be fully transparent, but for some reason, it only worked right in my computer. I have already fixed this, i'll post the fixed version soon.


Just another comment on the 3rd button drag. I think it's not quite clear how it works, but i'll try to explain it a bit better. It's press+hold 3rd button, click rbutton for the grid to appear, and then, drag, and release the 3rd button to adjust to the grid.
For me, this is the best way to use this program, much handier than moving the title bar, i think.

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #52 on: June 01, 2006, 11:42 AM »
Just another comment on the 3rd button drag. I think it's not quite clear how it works, but i'll try to explain it a bit better. It's press+hold 3rd button, click rbutton for the grid to appear, and then, drag, and release the 3rd button to adjust to the grid.
For me, this is the best way to use this program, much handier than moving the title bar, i think.

yes, i understand - it's just something i need to use for a bit then it will feel natural using the 3rd and right mouse buttons in that way.

or...

if you can still provide the various options that have been tried so far (well, i suppose not all of them - what do you think) then the user will be free to choose the method that best suits there style of moving around in the operating system.

being able to drag a window using the just the 3rd mouse button is a cool idea - and i'd be content for it to work by having to click a window border to make the drag work - so it didn't interfere with other programs that use the 3rd mouse button.

anyway, i guess it's still early days yet - user configs are the least important thing at the moment.

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #53 on: June 02, 2006, 06:55 AM »
Good news!
GridMove Beta2 is out!

This one is a major update.
At the beggining of the file, there's an option to use or not the 3rd button drag, which now uses exclusively the 3rd button. You only have to press and hold the 3rd button, and drag the window. If you only click the button, it'll behave just as a normal 3rd button click.

I still didn't implement the edge drag, though.

I've also implemented the trigger method. Now, for each group, there's a "trigger" and a "grid" group. The "trigger" group, represents the area where the group is activated, and the "grid" group represents the area where the window will be moved.

Also, while dragging a window with the middle mouse button, if you hover over a trigger area, the corresponding grid area is hilighted.

Another important adition is that if you drag a window (with the left button), and drop it before the timer ends, it behaves normally. If you drop it after the grid appears, it'll resize to the grid.
In the first case, the right-click would make the window resize to the grid. On the second case, it cancels the resizing.

So.. Let's see some opinions ;)

[edit] I also made it be auto-configurable, with the grid i use. It'll automatically create one, for your screensize. Most probably, it won't be exactlly what you want, but you can change it any way you like (just like with the older versions). Also notice that the groups definitions are now located at the end of the file. [/edit]
« Last Edit: June 02, 2006, 07:21 AM by jgpaiva »

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #54 on: June 02, 2006, 07:19 AM »
sounds great - going to download and try right away...

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #55 on: June 02, 2006, 07:37 AM »
After playing with it a while, i noticed there was a small bug, that it didn't recognise the correct window, if you moved the mouse too fast.
It's fixed now, so please redownload:
GridMove Beta2.21

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #56 on: June 02, 2006, 08:07 AM »
not tried the .21 version yet so here are my comments for the previous.

first impressions are that this is one of the greatest improvements on the windows gui i've seen. even if it's not finished yet the potential is clear to see.

as you mentioned before - you can define a grid that would create a sort of working space in which you can quickly move windows around - like minimising and maximising but with more potential.

i've seen this tried before (even by microsoft) and the results were no were near as good as what 'gridmove' is currently providing.

i see that with the right layout you could have windows 'shrink' to the side and their content remain visible and then quickly bring them back into focus and 'grow' back to fit inside a larger grid space. this has great potential - it could easily replace the windows taskbar as it is easier to identify a 'small' window that is in view at all times rather than a narrow panel button that rests in the taskbar. it's not quite 'perfect' yet but already is starting to resemble the types of gui that you see in 'high tech' movies when they are trying to show some flashy computer interfaces on screen.

if may be a better description to say that out of a single monitor screen you can create a layout that resembles several monitors side by side. all the 'shrunken' windows can be made to display enough content to make them quickly recognisable and then a larger 'center grid' acts as the main focus center monitor.

currently i couldn't work out if the 'screen edge triggers' are implemented - i don't see any need for them with how things are working at the moment. i've had to increase the 'trigger' time slighly as the grid was appearing a bit too soon. no problem.

in the left mouse drage and pause method - it would be nice to have the same 'grey panel' area appear that represents the selected grid zone as when using the 3rd mouse button.

this isn't going to be a problem if you can provide a 'click to toggle' mechanism but in maya and 3d max the 3rd button is used to drag things around on screen so it would conflict with how 'gridmove' currently works.

otherwise the 3rd mouse drag method works really well - it would certainly be good to keep that how it is - make it bring the grid up instantly when a 3rd button drag is detected - and maybe, just have the left mouse drag and pause method work so there is a pause before the grid appears.

my original description of having zones at the edge of the screen has certainly been made unnecessary with how things are currently working.

all i can suggest for future versions is maybe extending the 'high tech gui' feel of things - perhaps allow 'window groups' to be assigned that know how to move around the screen...

or, if this is possible (i imagine it will be) that 'gridmove' can be made to work a little like the windows taskbar. description follows:

if you drag and release a window onto a grid already occupied by a window - gridmove will automatically swap the windows around

so, if you have a grid in the center of the screen that is quite large (this is your working area) and smaller grid zones down the sides of the screen - you can drag from the larger center zone to the smaller side zones and the windows from the two zones will exchange places. similar to what you have happen when you alt+tab but this is done visually and by dragging windows around rather than using the keyboard.

excellent job so far anyway, jgpaiva.

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #57 on: June 02, 2006, 08:55 AM »
currently i couldn't work out if the 'screen edge triggers' are implemented - i don't see any need for them with how things are working at the moment.
The "screen edge triggers" would be a trigger that would be active when the mouse was over it, without dragging a window, wasn't it? I believe that would work, but pose a few small problems: the detection of the active window might be incorrect, you would have to select the window before snaping it to the grid (notice that with the 3rd button method, you can drag any window, all it needs is to be beneath the mouse), accidental appearences of the grid would be more constant (and would stop the current work, as the grid selection would take the full screen), and, if not, the grid would have to take too much time to come up, i think.

in the left mouse drage and pause method - it would be nice to have the same 'grey panel' area
Right, i also thought of that, but i thought that having 2 things moving (the window itself and the grey panel might be confusing, that's why i didn't include it. But i am thinking of an alternative. Possibly making the window itself simulate the snapping, instead of having the grey panel doing it. I'm not quite sure what's the best solution, though.

this isn't going to be a problem if you can provide a 'click to toggle' mechanism but in maya and 3d max the 3rd button is used to drag things around on screen so it would conflict with how 'gridmove' currently works.
Yep, i'm aware of that problem, and it possibly will arrise in more applications. I think the best solution would be to have the "drag in window edge" system you mentioned, possibly associated with exceptions, i. e., for the general windows, it'd work just as it works now, and for assigned windows, it'd need to be dragged in the edge. (Since i already have most of the code in DialogMove, this shouldn't be too hard to create)

and maybe, just have the left mouse drag and pause method work so there is a pause before the grid appears.
I don't think i understand what you mean, i know you noticed the time before the grid was too little, is that what you're referring to?
(the time was too short because that's my personal configuration, i don't like to drag windows around, i prefer to snap everything)

all i can suggest for future versions is maybe extending the 'high tech gui' feel of things - perhaps allow 'window groups' to be assigned that know how to move around the screen...
Hum... I think i need you to explain me a bit more about that idea, i don't quite understand what you mean...

if you drag and release a window onto a grid already occupied by a window - gridmove will automatically swap the windows around
Yes, we are in the same page here, when you first mentioned your idea, i immideatelly thought of the exact thing you mentioned, having this work in a similar way to a taskbar. I've seen the atempts microsoft did at this, and i thought it looked pretty good, but my screen was too small.
I think this will be the most interesting feature of the program, but it'll still take some time. (as i still have to make a decent gui, a .ini file for configuration storage, and a few default "templates" as, for what i've been through, configuring a grid layout is a bit of a "pain in the a**"). Still, i'm also very interested in seeing this too :D

excellent job so far anyway, jgpaiva.
:D thanks!  :Thmbsup:

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #58 on: June 02, 2006, 08:59 AM »
Oh.. And i almost forgot.. I need to do those keyboard shortcuts ASAP..
Good thing i'm almost in vacations! :D

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #59 on: June 02, 2006, 09:48 AM »
This is the great thing about being able to build stuff. When you need something, you can just build it.
I was needing the keyboard shortcuts, so, i made an update to gridmove.
Now, by pressing win+g, you get a dialog, where you can input a number, which can correspond to one of the grids in the layout. if it does, the active window will be moved there. If not, the active window will be minimized.

I also fixed the minimize /maximize /restore bug. The script was trying to move the window, while windows was trying to minimize /maximize /restore it, which lead to some erratic behaviour. But it's fixed now ;)

GridMove Beta 2.3

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #60 on: June 02, 2006, 12:33 PM »
The "screen edge triggers" would be a trigger that would be active when the mouse was over it, without dragging a window, wasn't it?

sorry, i meant that the window would be dragged to the side of the screen - that way the resize function would know which window to operate on because it would be the window that the mouse cursor was holding the title bar of.

i'll try to describe exactly how i first thought things would work when making the initial request:

1. there is a window that is not maximised on screen.

2. you click and hold the title bar of this window with the left mouse button.

3. you then drag the title bar (and the window it is part of) to the edge of the screen.

4. at the edge of the screen is an area one pixel wide that acts as a trigger zone.

5. if you drag the title bar (from stage 3.) onto the trigger zone (in stage 4.) the window then automatically resizes.

     at this stage the criteria that has to be met for the trigger to work are:

     the mouse cursor is holding down a window title bar (using the left button)

     the mouse cursor is at the very edge of the screen

     the mouse is over a trigger area

     the trigger area does indeed have a corresponding area associated
     with it somewhere else on the screen that the window will resize into

the trigger zone at the edge of the screen and its corresponding resize window area are not the same thing - they are distinct - one is at the edge and only occupies a thin strip one pixel wide running down the screen - the other is an area that could be defined to be anywhere else on the screen (it could be right next to the trigger or it could be on the opposite side of the screen).

-------------------------------

that was the original idea but i think the way you've got the grid working at the moment is a quicker method and also a more descriptive way of showing the user what exactly is going to happen, so i really don't see much point in implementing what i original asked for - unless it perhaps operates in a slightly different manner to how the current grid works.

i'm not entirely sure - maybe if dragging the mouse cursor and title bar to the edge of the screen made the window resize to fit that half of the screen i'd still like that to work - this does still represent the way macromedia software and acdsee 'snaps' the panels into place when you drag them to the edge of the program window.

now that i think about it - i'd still like that feature, i.e. drag a window to the edge of the screen, or to be more precise, drag the mouse cursor and title bar to the edge of the screen - pause with the left mouse still held down on the title bar - and then the window resizes to fit the half of the screen that you've dragged to the edge of.

i think this was working in one of the earlier versions of gridmove - maybe i'm imagining it - maybe you had to right click or do something else other than just pause???????



as for the group of windows thing i mentioned - i'm not entirely sure what that could be - i was just thinking of what microsoft did when they created that thing that would minimise windows onto the desktop (not the taskbar). these were animated in the way they minimised and restored but there was also the ability to have groups of windows that you could move around - the group was made from the minimised buttons that were on the desktop.

forget that i said anything about groups because i was probably just thinking of having predefined layouts of various programs - this could be done without gridmove so it's not really the right thing to implement.

i hope that all made sense - i shall now download the latest version. can't wait...

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #61 on: June 02, 2006, 12:58 PM »
I'm not sure, but i think that the current implementation of the current implementation of gridmove already allows you to have what you ask for, about windows snapping to screen edge.

defining a group like this:

1Triggertop    := 0
1TriggerRight  := 1
1TriggerLeft   := 0
1TriggerBottom := "height of your screen"

1Gridtop    := 0
1GridRight  := "half of the width of your screen"
1GridLeft   := 0
1GridBottom := "height of your screen"

Would create a grid element that would take the left part of the screen, and would have the left edge as trigger. (you'd have to replace the parts i put under "")

Right now, the triggers are independant from the area where the window will be moved, so, you can place them anywhere.

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #62 on: June 02, 2006, 01:05 PM »
excellent, i'll try it in a minute.

thanks, jgpaiva.

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #63 on: June 02, 2006, 04:25 PM »
i've edited the script to replicate the sort of original idea i had. you'll see it's quite simple - just six zones.

i would like to try using it for a bit but i'm very unsure as to what needs to be changed to make the 'overlay' grid look correct.

at the moment the grid only appears to show in the upper half of my screen - the numbers for the grids only seem to display on the top and left hand side.

is it 'simple' to explain how to change the way the grid is displayed - i'd like it to appear so that the 'zone' that the window will resize into will appear as a grey box or as an outline - there wouldn't be much use in the other grid zones appearing as they wouldn't have a connection with the 'trigger'.

here's the bit i've changed...

AssignGroups:
NGroups=6
;;if you use the taskbar on the top of the screen
;;uncomment the commented lines, and comment the
;;line below each of them

;1Triggertop := 30
1Triggertop := 0
1TriggerRight := 1
1TriggerLeft := 0
1TriggerBottom := a_screenheight / 2

1Gridtop := 0
1GridRight := a_screenwidth / 2
1GridLeft := 0
1GridBottom := a_screenheight

;2Triggertop := 30
2Triggertop    := 0
2TriggerRight  := a_screenwidth
2TriggerLeft   := a_screenwidth - 1
2TriggerBottom := a_screenheight / 2

2Gridtop    := 0
2GridRight  := a_screenwidth
2GridLeft   := a_screenwidth / 2
2GridBottom := a_screenheight

3TriggerTop    := a_screenheight / 2
3TriggerRight  := 1
3TriggerLeft   := 0
3TriggerBottom := a_screenheight

3GridTop    := a_screenheight / 2
3GridRight  := a_screenwidth / 2
3GridLeft   := 0
3GridBottom := a_screenheight

4TriggerTop    := a_screenheight / 2
4TriggerRight  := a_screenwidth
4TriggerLeft   := a_screenwidth - 1
4TriggerBottom := a_screenheight

4GridTop    := a_screenheight / 2
4GridRight  := a_screenwidth
4GridLeft   := a_screenwidth / 2
4GridBottom := a_screenheight

5TriggerTop    := 0
5TriggerRight  := a_screenwidth * 0.75
5TriggerLeft   := a_screenwidth * 0.25
5TriggerBottom := 1

5GridTop    := a_screenheight * 0.05
5GridRight  := a_screenwidth * 0.80
5GridLeft   := a_screenwidth * 0.20
5GridBottom := a_screenheight * 0.95

6TriggerTop    := a_screenheight - 1
6TriggerRight  := a_screenwidth * 0.75
6TriggerLeft   := a_screenwidth * 0.25
6TriggerBottom := a_screenheight

6GridTop    := a_screenheight * 0.25
6GridRight  := a_screenwidth * 0.80
6GridLeft   := a_screenwidth * 0.20
6GridBottom := a_screenheight * 0.95

return

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #64 on: June 02, 2006, 05:12 PM »
Ok.. I've been playing with the configs you made. It's a good idea too (even though i don't like to work with the windows all stacked up, i prefer with side by side).
I know why the numbers don't display on the right and lower corner. It's because in a groupbox (the element i'm using to simulate the groups), it's title is displayed in the top-left corner.
Unfortunatelly, that can't be changed, so, i can't make those numbers show. What i can do, is make the others disappear, so that they'll be all the same.

As for the grid itself not appearing in the right and bottom edges, it's related to they was groupboxes are created, a few pixels down and left from the place you actually tell them to be created. (this makes much sense in a normal gui, but in this case, it's prejudicial). You can notice that in the fact that the top area actually isn't located in the last pixel, but at about 2 pixels from the border. If you drag the mouse to the inside of that groupbox, the trigger won't be activated.
The good news is that the grid issue is fixable, but i'll have to remove the numbers.
This is not a big issue, as i think i can make it display the number in the middle of the groupbox, instead of in it's title.

As for the group hilight when dragging with the left mb, i thought it was easy, but it proved to be a bit more tricky. I'll look into it asap, and try to find a solution.

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #65 on: June 03, 2006, 01:33 AM »
sounds good - the number appearing in the center of the respective grid zone makes a lot of sense.

the individual grid highlight thing is ony cosmetic so it's not that important really - unless, of course, you manage to resolve the problem  :D

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #66 on: June 08, 2006, 05:53 AM »
I've been using this for a while, and i found out that i constantly snap windows to the grid without really wanting to do that. Doesn't that happen to you?
I always forget i have the program on, and drag the windows during too much time.

I'm thinking.. Maybe i could add a transparent button to the caption of every window, that had the snapping functionality. I mean, if you dragged the window elsewhere, it'd have no effect, but if you dragged the window by that button, it'd snap the window. This would also take out the need for waiting for the grid to appear.

What do you think?

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #67 on: June 08, 2006, 06:36 AM »
:D hehehe.

that's why i wanted the triggers out of the way at the sides of the screen. i'm not really using it in the same manner you have been doing. i've just got that layout of the triggers at the edges like i posted above.

the transparent button dragging method you describe does sound like a nice way around the problem you mention. definately worth implementing.

i guess 'gridmove' is still in it's infancy as there are several ways of how it could work - i still hope that you can somehow implement all the different ways but allow the user to select which they want. maybe that's going too far and there should be another program like dialogmove?
« Last Edit: June 08, 2006, 08:48 AM by nudone »

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #68 on: June 13, 2006, 04:40 PM »
Ok... Just a few conclusions:

The "button on title" idea i had before, isn't worth the trouble. It'd bring new, awful bugs, and wouldn't be the right solution.
I've rethought it, though. How about if it worked like this: when you drag a window by a place closer to the top left of the title (closer to the icon), the window is snapped. Otherwise, it's moved as always. This would also fix the problem with the maximizing windows by double-clicking the top bar not working.
I've discovered why the grid doesn't appear on the bottom of your screen, it'll be fixed on the next version (i hope ;) ).

i still hope that you can somehow implement all the different ways but allow the user to select which they want
That's the thing, there are some methods that are incompatible between them. That's why i'm trying to figure out a "perfect" way to make it work. I'd like your opinion on what do you think are the best working methods we've found till now.

nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #69 on: June 14, 2006, 01:39 AM »
so far i've really only used the original method i asked for - the drag to screen edge to trigger and resize window.

the new function you describe above sounds like a good idea to me - anything that provides more stable and intuitive operation is good.

as for including all the operations - i guess, all i would really like to see is the ability to work how i originally asked for - all other features i think are very good but i'd probably disable them - just to keep it simple for myself. this is mainly because i usually have windows either fully maximised or just covering the main center of my screen - my original request was to be able to simply have auto resizing windows that would cover half of the screen so that i could use my monitor as if it were two monitors - this is still really all i would be doing.


i have an additional idea, if you think it worthy of inclusion...

i'm sure you will have seen little utils that allow you to 'scale' a window so that it either 'grows' to fit the screen horizontally or vertically (but not both at the same time as this would just be maximising the window).

could it be possible to include something like this in 'gridmove' or maybe in a similar autohotkey script.

i was thinking that it could work like this:

a: you drag the bottom border of a window to the bottom edge of your screen - you pause there at the edge with your mouse left button still down and then the window automatically resizes to fit the screen vertically - but not horizontally.

b: you drag the left or right border of the window the nearest side of the screen - pause with the mouse held down, etc. - and then the window resizes to fit the screen horizontally - but not vertically.

c: of course, you drag the top border of the window to the top of the screen and then it resizes the window to fill the screen vertically but not horizontally.

i guess there are other variations that could be included but i think these functions would fit in well with how 'gridmove' currently works.

i certainly look forward to the next version. keep up the good work.
« Last Edit: June 14, 2006, 01:42 AM by nudone »

kproth

  • Supporting Member
  • Joined in 2006
  • **
  • Posts: 34
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #70 on: June 16, 2006, 07:08 AM »
I think there's a very minor multi-monitor bug in here. I have two monitors, one landscape mode (1280x1024) and the othe portrait mode (1024x1280). Thus, my PC thinks my desktop is 1280+1024x1280, or 2304x1280. But the bottom left rectangle (1280x256) is "missing". Looks a bit like this:

  [---------------][----------]
  [               ][          ]
  [               ][          ]
  [               ][          ]
  [               ][          ]
  [---------------][          ]
                   [          ]
                   [----------]

Your code for detecting the bottom and/or right edge of the screen (that sends LButton Up and snaps the window) won't allow a user in this situation to have a place at the bottom of the left-hand monitor for "dropping" windows. If it checks for MouseX >= 1280, you can't get that far down on the left monitor. If you check for MouseX >= 1024, it will prevent mouse drags in the bottom portion of the right monitor.

Is there any way to detect which monitor the mouse is in and behave differently in that situation?


nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #71 on: June 16, 2006, 08:54 AM »
i can't really speak for how jgpaiva is creating the script but i think an auto detect screen size hasn't really been built into 'gridmove' so far.

i'm sure it will be a fully working function soonish.

jgpaiva

  • Global Moderator
  • Joined in 2006
  • *****
  • Posts: 4,727
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #72 on: June 16, 2006, 12:58 PM »
Yep, nudone's right, that's something i didn't get to yet. But i'll add a way to configure it in the next version. Right now, that happens because i (stupidly) made it for my screen, which is 800pixels in height. Sorry about that, i'll fix it asap!

ajp

  • Participant
  • Joined in 2006
  • *
  • Posts: 22
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #73 on: June 16, 2006, 01:34 PM »
Not quite the original idea (drag-based) but I've hand-made my desktop layouts using PowerPro. With this super-cool utility (it does way more than I´m willing to describe here), you can do things such as:
  • Right click on maximize button: Resize/Move to x-y-width-height
  • Control-right click on maximize: Resize/Move somewhere else
    etc.
In this way, I define my own area/behaviour in any posible way I can think of. I can also roll-up my window with a right click on the title bar and stuff like that. And don't get me started on menus, launch bars, virtual desks, global hot-keys, clipboard tracking... whew!

In a nutshell: those who are looking for a program that easily and specifically do the "desktop-zone-ing" stuff, don't look for PowerPro. But those of you who prefer to prefer hardcore full control, this is the place to go.


nudone

  • Cody's Creator
  • Columnist
  • Joined in 2005
  • ***
  • Posts: 4,119
    • View Profile
    • Donate to Member
Re: IDEA: drag window to edge automatically resizes it
« Reply #74 on: June 16, 2006, 02:41 PM »
we've had plenty of discussion on PowerPro before and it sounds like a fantastic macro type thingy.

i really haven't the time at the moment to dedicate myself to learning ANY macro/script util so i'm more than greatful for those that do.

ajp, how about posting your powerpro thing here for all to try out (and maybe modify). what you've described doesn't really sound like something i'd personally use - i really did have a specific method i wanted implementing when i made my original request - but i'm sure something as versatile as you've created would be appreciated by a great number of people.

it may even get a few more people interested in powerpro - i can't remember why autohotkey sort of took a hold around here.