topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • Thursday April 25, 2024, 8:43 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

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - ppass [ switch to compact view ]

Pages: prev1 2 [3] 4next
51
Could you hint a date when you can implement the ideas discussed last January (step2 of Gridmove)?


52
So many times, after using many different USB drives (HDs, USB sticks...), windows gets all mixed up and starts assigning unusual letters to my drive, which makes backuping, errrrrr, an interesting experience.

Well, this depends on which software you are using for backup. I use SyncBackSE, and do not have to bother renaming USB device letters. This is because you can use your USB device's label name. Labels can be set once for all for a USB device very easily in Windows and other operating systems, I guess.

To refer to the USB device called my_device, you just use this instruction:

%LABEL=my_device%

To access to folder1 on your USB device, you just use this instruction
%LABEL=my_device%folder1\

No matter if the letter is G:\ of F:\ of K:\

You can also use serial numbers directly in your backup profiles. Details here:
http://www.2brightsp...on=kb&article=11

53
Any thoughts? How can I help you implement this?

54
Right, I had forgotten about that thread. I follow-up this topic there.

55
Hi,

I am now working with 1 wide screen next to a bigger screen with bigger height. Using gridmove is very useful, however, I miss the feature to move around the active window with arrow keys discussed in this thread.

Could you give me a time frame for impementing this? If I can help you achieve this, please tell me (my programming skills are basic, but this feature should not be too difficult to code).

Cheers.

56
Hi jpgaia,

I lost track of this thread for some time. Could you update me on a feature request you have accepted. That is moving around the current window using the modifier key + arrow keys. This assumes that each for each grid definition, the user defines the logic of the ordering of the grids. For example, modifier key + left/right arrow moves in this order: Grid1-> Grid2 -> etc. Have you implemented this ?

57
Hi, any light at the end of the tunnel? Did gridmove move up on your to-do-list of 7 DC tasks ?

58
Thanks for the update. Keep up the good work, good to know that step2 is in your top 7 DC tasks to-do.

59
Hi, any chance to get a step2 version of gridmove anytime soon?

60
Your idea on how to implement the horizontal/vertical cycle realy simplifies things, and maybe it really is the simplest way to implement it. I'll give it some thought.

Regarding step 2 of "cycle grid elements", i know exactly how to do it, but i'll have to wait for some time to implement it since it involves quite a few changes to the way gridmove works.


I think that you have done the hardest part with step1, and step2 will add a lot of value to the user, because it is very intuitive to move windows around with arrows. Could you tell me how you are doing with step2? May I expect a release soon?


61
Actually, the problem is a little different. Some windows don't resize to larger sizes than the screen. (windows explorer is a good example.) Thus, When you try to resize them using that second grid element, they don't get the correct size, and don't get identified as being in grid 2 when you press win+left. If you try that with a window that does resize to a size larger than the screen (which is very rare, from what i can see), you'll notice that it does work as expected.

Thanks for your analysis. You are right on target. I can understand such a limitation for first time Windows users, but once you start using such a convenient software as GridMove, this limitation is quite annoying.

My idea was to make a grid to hide the top 10% of windows in order to hide the application bar and application menus, so as to enjoy increased visible working space. But the bottom position of the window also gets raised, so it does not make much sense anyway.


Can you do something about it in GridMove: can you force windows to resize the window with a greater height than the screen's height? (maybe there is such an option in your resize function, who knows?).


The fact that so many windows refuse to resize above a certain height makes me think that this is more a Windows thing than an application-by-application limitation.  I wonder if there is a tweak in Windows that can remove this limitation?  I investigated registry settings here: http://www.virtualpl...esk_reg.html#metrics  but could not find any parameter relative to maximum window height. Any help on how to remove the window-max-height limitation in XP is welcome !

62
"no match for grid" pops up everytime the program tries to match that window agains the grid and can't find any match. I can't understand why you'd press right and then left, if it fails on right, it'll fail on left too as they both use the same mechanism..

Now that you have suppressed the "No match for grid" popup, this discussion is of no avail any more.



I found one small bug with the latest version 1.19.49. I tried it with my simple 2 zone-grid presented above. Right arrow works, but the window remains stuck when the left arrow is pressed when the window has its top 10% hidden. Maybe a small bug in your code...


Regarding step 2 of "cycle grid elements", i know exactly how to do it, but i'll have to wait for some time to implement it since it involves quite a few changes to the way gridmove works.

 :D I hope those are not too painful changes for you (anyway, you have made the hardest part already with step1). Looking forward to step2 !

63
For step1, could you correct a couple of glitches:

- When a window is not recognised as inside a grid element, "No Match for Grid" pops up once if right key is pressed and once if left key is pressed. Could you make this only one popup?

- When one grid element is out of bounds of the visible screen, GridMove returns "No Match for Grid", although the window is inside a grid element. This may be because when you check the position of the current window, the value returned might not be the actual position, it could be cut to the limits of the visible screen?

Example: try this simple 2 zone-grid on a single monitor (I use this to cut/hide the top 10% of a window). When the active window is in zone2 with its top 10% hidden, GridMove fails to detect and returns "No Match for Grid"

[Groups]

NumberOfGroups = 2

[1]
  TriggerTop   = [Monitor1Top]
  TriggerLeft  = [Monitor1Left]
  TriggerBottom= [Monitor1Bottom]
  TriggerRight = [Monitor1Left] + [Monitor1Width] 
  GridTop   = [Monitor1Top]
  GridLeft  = [Monitor1Left]
  GridBottom= [Monitor1Bottom]
  GridRight = [Monitor1Left] + [Monitor1Width]
[2]
  TriggerTop   = [Monitor1Top] - 0.1 *([Monitor1Bottom]-[Monitor1Top])
  TriggerLeft  = [Monitor1Left]
  TriggerBottom= [Monitor1Bottom]
  TriggerRight = [Monitor1Left] + [Monitor1Width] 
  GridTop   = [Monitor1Top] - 0.1 *([Monitor1Bottom]-[Monitor1Top])
  GridLeft  = [Monitor1Left]
  GridBottom= [Monitor1Bottom]
  GridRight = [Monitor1Left] + [Monitor1Width]


64
Ok,i added the "step 1" you mentioned (actually, it's pretty fun! Not sure if it's that useful, though).

Thank you so much for such a responsive attitude! It works exactly as expected. I find it pretty useful, especially since consecutive zone numbers match zones that are actually close one to the other in my grids.

Congratualtions on implementing detection of which grid element the active window is. This works perfectly!



Regarding the step2, it'd have to be made in the following way: each grid element would say what was the grid on its right, the grid on its left and the grid on its top and bottom. I think it'd be quite a chore to implement and then to create grids with these features, though.


That is pretty straight forward, the user just has to define 2 strings per grid as explained in my previous post:

horizontal arrows: (1,2,4,5,6,3)
This means that the user considers zone2 to have zone4 on its right and zone1 on its left

vertical arrows: (1,4,6,3,2,5)
This means that the user considers zone2 to have zone3 below and zone5 below

For example, for a 4 part grid, you'd have horizontal arrows = (1,2,3,4) and vertical arrows = (1,3,2,4). Believe me, defining this for the user is not a chore, it is just a small string.

On the program side, you just have to parse this simple string or dump it to an array, and assign the new zone to:

- the previous element of "horizontal arrows" in case the left  key was pressed
- the next      element of "horizontal arrows" in case the right key was pressed
- the first       element of "horizontal arrows" in case the "Home" key was pressed
- the last       element of "horizontal arrows" in case the "End"  key was pressed

- the previous element of "vertical arrows" in case the down  key was pressed
- the next      element of "vertical arrows" in case the up key was pressed
- the first       element of "vertical arrows" in case the "Page Down" key was pressed
- the last       element of "vertical arrows" in case the "Page Up"  key was pressed

At least for the simple grids, arrow navigation should feel pretty natural.

65
The reason why i don't know how to add this to gridmove is because it's not easy to detect which grid element is on the right or left of the current one. When we have a 3-part grid, or a 4 part grid, it's easy, but when we have something like the edge grid or something, things become very confusing...

Maybe this could be added as a coding snack? I don't think it'd be that hard to reproduce freesnap with ahk...

I dont know what a "coding snack" is, but defenitely Gridmove should include moving the current window with arrow keys. Please note as per my previous comment that the aim is not to reproduce FreeSnap, as Freesnap just resizes/moves windows to the edge of the screen. Here is my proposal for GridMove:

Step 1: forget about physical location of zones inside a grid. Implement a simple zone increment like this: Zone1 -> Zone2 -> Zone 3-> etc.

Step 2: include physical location.
I understand the problem that you cannot detect which zone is on the right of the current one, etc.
I suggest that you let the user parameter this for you, for each grid. Example for a 6 zone grid:

horizontal arrows (user defined per grid):  Zone1 -> Zone2 -> Zone4 -> Zone5 -> Zone6 -> Zone3
Example: if the current zone is Zone1 and you hit the left arrow, the window should be moved to Zone3 of the grid.

vertical arrows (user defined per grid): Zone1 -> Zone4 -> Zone6 -> Zone3 -> Zone2 -> Zone5
Example: if the current zone is Zone4 and you hit the up arrow, the window should be moved to Zone6 of the grid.


My understanding was that you are willing to implement step1 and are waiting to have some time available to code this. Could you confirm this?

Once step1 is coded, step2 with this proposal should be a small step further ahead.

66
Thanks for the link, I did not know FreeSnap before making this suggestion. I recommend the author of GridMove to try FreeSnap, this gives the idea. Basically, it is all about pressing arrow keys and moving the active window around and resizing it.

However, I am asking something more than FreeSnap. Freesnap for one thing does not support multi monitor, and just resizes windows to the edged of the screen. Using zones like in GridMove is much more powerful and flexible. I hope that one day it will be possible to physically move windows inside GridMove (eg. "up" key moves to the zone just above the current one, etc.), then it will be very intuitive.

67
I will summarize my request made in the Gridmove thread, just to make it easier for you to manage feature requests.

I would like to improve fast move by using arrow keys. If the current window is in zone2,then:

- Modifier + "->" key:           moves it to zone3
- Modifier + "<-" key:           moves it to zone 1
- Modifier + page-up key:      moves it to last zone
- Modifier + page-down key: moves it to zone1

Ideally, you could move the window around physically (eg if zone8 is above zone2, then Modifier + up key moves window from zone2 to zone8). But I understand that this is difficult and could be done in a 2nd step.


To achieve this, you will have to detect the position of the active window. To do that, may I suggest this simple algorithm:

  • Get the size of the active window (Top, Right, Bottom, Left)
  • Loop through all zones defined in the grid (start with zone1)
  •    If (Top == GridTop) and (Right == GridRight) and (Bottom == GridBottom) and (Left == GridLeft) then ZONE_FOUND ! ! ! get out of the loop
  •   else, go to next zone in the grid
  • Return to  beginning of loop

If you have trouble with getting the size of the active window, you may try the Windows API GetWindowRect function.

68
I recommend SyncBackSE. I sync most of my folders between my Home and Work PCs using a USB HDD. On the USB HDD, all my files are compressed and encrypted (this is an option of SyncBackSE), so if I lose the USB HDD or it gets stolen, file contents cannot be displayed (however, all file names and modification dates are not encrypted, this is one of the limitations).

The developper is quite open and active on its forum . There seems to be a new major version (5) in the works, but still no official release date.

There is also an option to keep versions of files (you can specify how many versions of each file you want to keep, and for how long).

I am not sure, but you may be able to use a FTP instead of the USB HDD.

69
General Software Discussion / Re: Launchy 2.0... and something else
« on: December 25, 2007, 08:42 PM »
In launchy 2.0, in the "Catalogue" tab of the Options window, I added the "C:\Program Files" folder, with file types "*.exe" and "*.jar". Hitting "Rescan Catalogue" only takes a few seconds and will index all program files there.

Works like a charm, much more flexible and faster than the previous version. I also discovered that launchy2.0 searches IE favorites (based on the name of the favorite), this is very convenient!

There seems to be other useful features in 2.0 besides launching applications, like plugins (haven't tried yet) to launch favorites.

70
General Software Discussion / Re: How many of you use encryption?
« on: December 25, 2007, 08:13 PM »
I use SyncBackSE to partly synchronize my Home and Work PCs via a USB HDD. On the USB HDD, I use encryption. So if my USB HDD gets stolen or lost, file contents are protected.

Compression with Encryption is part of SyncBackSE. The only limitation is that only file contents is protected, not file names, which can be still read normally.

71
My comment will be "focus on your exams", you can do that later when you have more time.

Unfortunatelly, many windows don't actually get the size they are moved to
Well, I have no clue how you are doing this, but I recently discovered Windows API functions. I played a bit with some of them in VBA, and this quite straight forward. I assume in your case you have to use the GetWindowRect Function
http://msdn2.microso...ibrary/ms633519.aspx

where the lpRect structure is something like this

Private Type lpRect
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Anyway, I am sure that you will find a way...

Good luck for your exams!

72
One question: is it possible to define one's own constants at the beginning of grid files? This would make grid manipulation more flexible

For example,

[Groups]

  NumberOfGroups = 20
  Top_ratio = 10%

[1]
  ...
  GridTop    = [Monitor1Top]  + Top_ratio * ([Monitor1Bottom]-[Monitor1Top])
...

73
gridmove isn't aware of where the window is. I mean, it only moves the window to a grid, and doesn't keep track of which windows are in which grids.
That is fortunate, and obviously the most efficient way to program this.

It's not impossible to implement your suggestions, only something i can't do right now.

I understand that you can't do right now, maybe personal constraints. Anyway, finding the zone of the window should be quite straightforward. Here is my take on it:

Get the size of the active window (Top, Right, Bottom, Left)

Loop through all zones defined in the grid (start with zone1)

   If (Top == GridTop) and (Right == GridRight) and (Bottom == GridBottom) and (Left == GridLeft) then ZONE_FOUND ! ! ! get out of the loop
 
  else, go to next zone in the grid


Return to  beginning of loop


If you get-out of the loop without finding a zone, then move to zone1, else move the window to the next zone (pressed # + right arrow) or the previous zone (pressed # + left arrow) or the 1st zone (press # + down arrow) or the last zone (pressed # + up arrow).




74
Thanks, both points work like a charm in the new version.

Concerning the fastmove, may I suggest some improvements:

- instead of using "1", "2", ... keys, make it more intuitive with arrow keys.
Example: # +"up key" would move the window to the closest defined zone "above". For example, assuming that I use the default 2-part grid vertical template with a secondary screen on top of the primary, # +"up key" sends the window from section 1 to section 3.

If you find too difficult to physically locate grid zones relative to one an other, then could you implement a simple zone iteration. Example with window in zone1. # + "->" (right arrow) sends window to zone2 (equivalent to #+2), # + "->" pressed again sends to zone3, pressing # + "->" once more sends to zone4, etc. in a loop.

- add a second  modifyer key to span windows.
Example:  M + "->" key (M is the new modifier) would span the window horizontally.
I recall that you mention somewhere features to expand horizontally / vertically, but I do not know where to find them.

Anyway, thanks for such a nice program. I recall trying UltraMon a long time ago, but I think your program is much more fitted for normal use. The only feature I miss is the small arrow icon that UltraMon added in the title bar of windows. Pressing the "up" arrow would send the window to the above screen, etc.


75
Great! How about the other suggestion (blacklisting some window types like VBA forms from being moved with GridMove)?

Pages: prev1 2 [3] 4next