Giter Site home page Giter Site logo

grout's People

Contributors

dixn avatar gr3atwh173 avatar tarkah avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

grout's Issues

Quick resize

Is there currently a setting that makes the grid close after a single resize?

My current workflow is always like this:

  1. <C-M-S>
  2. Click on the previous window (#16)
  3. Resize using the grid
  4. <C-M-S>

It would be nice if it would be possible to change the workflow to this:

  1. <C-M-S>
  2. Click on the previous window (#16)
  3. Resize using the grid
  4. Grid gets closed automatically

I feel like this would feel very nice when the click and drag support (#11) lands.

Additional border on the top of a tiled window

grafik

Some windows (in this case PHPStorm) get some out-of-place looking borders on top when beeing part of a tiling setup.
Nothing terrible, but would be nice to know if this is intentional.

Full Keyboard support

Hey! Thanks for grout!
I am wondering, if a "full keyboard mode" would be possible. I am thinking about something like:

  1. Hotkey to show grout controls
  2. Numbered or lettered "areas" e.g. 1,2,3,4 on a 2x2 Layout, type number/letter
  3. To select multiple areas, type Shift + Number/letter

This would work properly for 3x3 Grids with numbers.

using microsofts version of winrt-rs to reduce unsafe?

I noticed a lot of unsafe in rust codes which originates from all the FFI calls to winapi. Do you think it would be worth to see if winrt-rs would be a suitable alternative to winapi in this case?
As far as i know its not released to crates.io (yet) but seems to receive official microsoft support and seems to supply a mostly safe API to the windows runtime.

But I have not yet checked if it supports all the things required by grout and if it where an improvement over all. Just wanted to bring this up as it might be helpful.

Configurable Settings

Ability to configure certain aspects of the program, such as hotkey selection and border gaps widths.

Initially just a config file, but eventually add a simple window to edit the config file.

Release 0.5 missing functionality

I just downloaded release 0.5 and I think the quick resize keybind is still doing the normal resize.

config.yml

margins: 0
window_padding: 0
hotkey_quick_resize: CTRL+ALT+Q
auto_start: true

I just tried every release between 0.5 and 0.3 and the problem only occured after release 0.5.

I also looked through the commits between 0.4.1 and 0.5 and I believe that the commit 23aad8d somehow broke this.

Click and drag

In addition to holding shift, allow user to click, drag and release cursor to select over multiple tiles

Window state and dynamic resizing

It would be nice to be able to resize applications by one tile with a hotkey.

For example in case of a 4x1 grid, where two application each occupy two tiles, pressing the hotkey
would make one application occupy three tiles and the other one then.

I am not sure how to keep track of how many tiles each application occupies though. This could be especially difficult with more complex layouts and applications stacking on top of each other.

Allow Shift-mode to be set as the default without Shift

There is this cool feature that allows you to move a window by clicking on two squares — top left and (with Shift) bottom right (or top right then bottom left).
Given that I'm using relatively large grids (~10 elements) this is the only useful way for me to adjust windows sizes since I'd never need a window to occupy the space of just one square that happens on a single click, and also two clicks is more convenient than dragging hodling a mouse button
I'd like to be able to configure this mode of operation as the default without any modifiers
That is, every window would require two clicks to resize/position:

  • nothing would happen to the window on the first click, it'd just mark the top-left or top-right corner
  • the second click would complete the rectangle on the grid and the window would only then be moved/resized

System Tray Icon

Add a system tray icon so user can easily exit grout, or interact with any future feature additions (settings page)

Multi-monitor support

When open, the grid should move to the same monitor as the cursor, and remember the grid layout for that monitor

Windows Defender threat detected for release v0.7.0

Hello!

I was hoping to give grout a spin this evening, but I wanted to give you a heads-up that Windows Defender flagged the grout.exe executable for release v0.7.0 as containing a trojan, Win32/Ulthar.A!ml. I don't know if it's a false-positive or not but did want to let you know. Here's a link to the specific threat that was identified: https://www.microsoft.com/en-us/wdsi/threats/malware-encyclopedia-description?name=Trojan%3aWin32%2fUlthar.A!ml&threatid=2147751837.

Thanks!

How to change hotkey

I lost my CTRL key and wanted to know how to configure the hotkeys so I could use other keys.

Autostart

Once the system tray is added, add a flag to enable the program to autostart

Allow customizing grid's separator's/unit square's sizes

I like to use a more detailed grid (10×10 or 16×9) to allow me to move precision in window sizing, but then the grid window becomes too large.
The separators are also too thick (and this doesn't help me in square selection), but also the base square unit size is also unnecessary large.
Would it be possible to add a config to change the size of separators and the basic square itself?
Thanks!

Add configurable profiles

Possibly a way to remember the windows and their layout with the ability to bind it to a hotkey. Say I want to have a "Programmers" layout on F1 and "Debugging" layout on F2 and "Browsing" layout on F3. Flipping back and forth would be convenient. (Alternatively cycling through the custom layouts with alt+tab, for example, would be nice too).

Not sure if this idea is useful but pretty cool project so far. Thanks for sharing.

Can't resize maximized applications

Some maximized applications can't be resized.

I could observe this problem mainly with Electron-based applications: VS Code, GitKraken, Postman etc.
Other notable applications, that exhibit the same problem are Opera and Spotify.
"Native" applications work fine, when maximized. For example Windows Explorer, Task Manager, Photos app.

All of the mentioned applications work as intended, if they are not maximized.

Use previous window

Would it be possible for grout to use the window that was previously focused before opening the grid?

Encountered a bug

I'm unsure on how to re-create this issue, but I can tell you the steps to maybe reproduce this.

After pushing CRTL + ALT + S a few times the window with the grids went white and I was unable to put anything in that area, as if it were still on my screen, but not working, and in programs like discord it kind of just blended inside of the program, not allowing me to click in that area. And re pushing CRTL + ALT + S did nothing, so I had to force close the program

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.