topbanner_forum
  *

avatar image

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

Login with username, password and session length
  • March 28, 2020, 04:53 AM
  • Proudly celebrating 14 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 - Xitsa [ switch to compact view ]

Pages: [1]
1
Original hardlink hasn't been UNICODE-aware (and it is strange, because it was one little step to), so I slightly adjust it and put here.
It needs other VC's dlls than original: mfc71u.dll and msvcr71.dll.

2
It's seemed that you've deleted some grids present in «grid order».
Select options->Set Grid Order and set only needed and present grids.

3
I tried to explain here with a picture, step by step.

4
JGPaiva's GridMove and Ahk Tools / Re: Grid on Linux?
« on: January 04, 2009, 11:20 AM »
 :o Look at tiling windows managers here.

5
JGPaiva's GridMove and Ahk Tools / Re: GridMove: Grids Here
« on: August 31, 2008, 01:45 PM »
Xitsa: I think the grids on the previous posts are a bit different from yours, since they use 2/3 of the screen on grid element '1'.
Maybe, my main aim was to show ease of changing layouts and give some examples.
GridStack is useful for quick creating of simple layouts, I know about it's limitations and some of them where introduced specially to simplify input language.
For example, yoda_97's grid cannot be get quick, it needs at least four steps:
  • Creating stack for triggers
  • Creating stack for three part–like layout
  • Creating stack for two part–like layout
  • Combining triggers windows with corresponding layouts
But at least with gridstack one can quickly get screen coordinates :)
In principle, I can develop a more complex language that could describe grids where triggers layout different from window layout, but perhaps writing in it will be more cumbersome than using aforesaid procedure.

6
JGPaiva's GridMove and Ahk Tools / Re: GridMove: Grids Here
« on: August 29, 2008, 01:56 PM »
By a way of testing gridstack's abilities  ;)
jgpaiva's variant:
GridStack's source:
Monitor 1
 HStack
   (
     Window
     HStack
       (
         VStack
           (
             Window
             Window
           )
         Window 2
       )
   )
GridMove's grid:
[Groups]

  NumberOfGroups = 4

[1]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Left] + [Monitor1Width] / 2
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left]
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Left] + [Monitor1Width] / 2
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left]

[2]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Left] + [Monitor1Width] / 3 * 2
  TriggerBottom = [Monitor1Top] + [Monitor1Height] / 2
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 2
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Left] + [Monitor1Width] / 3 * 2
  GridBottom    = [Monitor1Top] + [Monitor1Height] / 2
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 2

[3]
  TriggerTop    = [Monitor1Top] + [Monitor1Height] / 2
  TriggerRight  = [Monitor1Left] + [Monitor1Width] / 3 * 2
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 2
  GridTop       = [Monitor1Top] + [Monitor1Height] / 2
  GridRight     = [Monitor1Left] + [Monitor1Width] / 3 * 2
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 2

[4]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Right]
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 3 * 2
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Right]
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 3 * 2

kranor's variant:
GridStack's source:
Monitor 1
 HStack
   (
     Window
     HStack
       (
         Window 2
         VStack
           (
             Window
             Window
           )
       )
   )
GridMove's grid:
[Groups]

  NumberOfGroups = 4

[1]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Left] + [Monitor1Width] / 2
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left]
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Left] + [Monitor1Width] / 2
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left]

[2]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Left] + [Monitor1Width] / 6 * 5
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 2
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Left] + [Monitor1Width] / 6 * 5
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 2

[3]
  TriggerTop    = [Monitor1Top]
  TriggerRight  = [Monitor1Right]
  TriggerBottom = [Monitor1Top] + [Monitor1Height] / 2
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 6 * 5
  GridTop       = [Monitor1Top]
  GridRight     = [Monitor1Right]
  GridBottom    = [Monitor1Top] + [Monitor1Height] / 2
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 6 * 5

[4]
  TriggerTop    = [Monitor1Top] + [Monitor1Height] / 2
  TriggerRight  = [Monitor1Right]
  TriggerBottom = [Monitor1Bottom]
  TriggerLeft   = [Monitor1Left] + [Monitor1Width] / 6 * 5
  GridTop       = [Monitor1Top] + [Monitor1Height] / 2
  GridRight     = [Monitor1Right]
  GridBottom    = [Monitor1Bottom]
  GridLeft      = [Monitor1Left] + [Monitor1Width] / 6 * 5


Sorry, but cannot help not to play around :)

7

PS: did you make this with ahk? Maybe you could post the source code too? ;)
I'm glad you like it too :)
Here new version and sources.
I fixed some things in output (missed some rare case).

Program is wriitten in mix of C and C++ and quite straightforward:
Firstly developed in Borland C++ Builder and later ported to Visual C++ (to achieve more small size).
Comments are in russian but everything should be easy to understand.
One thing that can be confusing is using a combo Flex+Bison, but without them I would write parser more longer :)

P.S. please keep an empty line at the end in *.grid files: it seems lexer needs it for some reason.

8
I've wrote small utility for creating simple GridMove layouts.
It's main task to make easy calculating grid's coordinates (I was bored after making two grids :)).
GridStack is a command line application accepting definition of a grid layout and outputing GridMove's template.

You can get it here.

How to use:
GridStack input.stack output.grid
input.stack — definition of grid in series of subdivisions
output.grid — input template for GridMove.

input.stack is a sequence of definitions of monitors

Each monitor has region which can be divided in several regions vertically or horizontally. Each region can be divided vertically or horizontally also. There where division ends is window.

Each region can be divided either horizontally or vertically. Definition of each subregion includes Dimension: relative dimension of a subregion.

For example: if we use definition
HStack ( Window 1 Window 2)
we get two windows of same height with sizes 33% and 66% of upper region width respectively.

To set absolute (not relative) size use size! (warning: between number and exclamation mark shouldn't be any spaces!).

If size not specified assumed value 1.

Example:
For generating 3-part.grid one should provide following input:

Monitor 1
 HStack
   (
     Window 2
     VStack
       (
         Window
         Window
       )
   )
Monitor 2
 HStack
   (
     Window 2
     VStack
       (
         Window
         Window
       )
   )
Monitor 3
 HStack
   (
     Window 2
     VStack
       (
         Window
         Window
       )
   )

One more example:

Monitor 1
 VStack
   (
     HStack 1
       (
         Window
         Window
         Window
         Window
       )
     HStack 3
       (
         Window
         VStack  300! #300 pixels for width
          (
            Window 3
            Window 5
          )
         Window
       )
   )



Please test

Pages: [1]