Utility to tile floating hypr windows on a grid, for those times you don't want a fullscreen tiled window.

Overview

hypr-gridtile

Build Status

Have you caught the Hyprland bug? Well then I have an additional gimmick for you!

This is a useful little utility which tiles floating windows. Yes, that sounds just as wrong to me as it does to you.

Imagine you have a big screen, and a window that you don't want fullscreen, but you also don't want to add padding windows (extra terms, etc...) to make fit nicely. This allows you to quickly resize and place a floating window without grabbing for your mouse and trying to click the correct edge, grab it, and drag it around until it's the right size, only to have to then move the window around and resize again because you didn't guess right the first time, GOTO 10.

Also, for laughs, this package includes a transparent blank window app called hypr-bufferwin, which is resizable, see-through, and useful if you want to add padding to your desktop so that you don't have a single huge window covering your whole desktop. Use it or not, it's not the main point of the hypr-gridtile package.

Installation

Copy binaries to your $HOME/.local/bin/ folder and then add this little snippet to your hypr keybindings:

bind = $mainMod CTRL, T, exec, /home/derek/.local/bin/hypr-gridtile # TILE!

and optionally also:

bind = $mainMod ALT, B, exec, ~/.local/bin/hypr-bufferwin # Spacer window launch

Configuration

The config file lives at $HOME/.config/hypr-gridtile/hypr-gridtile.ron and is in RON notation. Fields should be fairly self-explanatory. Note that, at this time, only a TOP waybar is supported. I'll be adding support for bottom waybars via negative waybar-height values.

Status

Currently, this little project has had a grand total of MAYBE 4 8 hours of work, so it's missing a ton of features that I'm gonna backfill over the next few days:

  1. Persistent configuration. It will remember how many rows and columns your favourite grid has. DONE!
    1. I might even add customization to allow alternate keyboard layouts, if anybody ever actually requests it. DONE! This turned out to be a doddle, so I just hacked it in there.
  2. Custom theming. We're using Hyprland, it's kinda the whole point. I'll be figuring out how to grab the stylesheets and apply a matching style to the egui window.
  3. Retries. Some apps behave weird on resize, and end up only making it part way to the desired location. I want to keep trying because it usually can be forced to converge. Kinda-done; I just try twice by default.
  4. hypr-bufferwin -> I'll add a dummy transparent window app that can be used for those times when you DO want full tiling, but have a space you want empty to move the window over a bit. When you have a 43" monitor, sometimes a full width window is a bit... much. I hate moving my head back and forth to read like some ludicrous cartoon character. Done.
You might also like...
A minimal window context for Rust on Windows.
A minimal window context for Rust on Windows.

winctx A minimal window context for Rust on Windows. I read msdn so you don't have to. This crate provides a minimalistic method for setting up and ru

Rust library for putting things in a grid

rust-term-grid This library arranges textual data in a grid format suitable for fixed-width fonts, using an algorithm to minimise the amount of space

A library for 3D grid coordinates: for games

Positioning rustdocs A library for manipulating coordinates on a 3D grid. This will contain code that I'll often end up repeating in games. Currently,

A Rust library for drawing grid-based user interfaces using ASCII characters.

grux A library for drawing grid-based user interfaces using ASCII characters. // Provides a uniform interface for drawing to a 2D grid. use grux::Grid

Grid-based drum sequencer plugin as MIDI FX in CLAP/VST3 format
Grid-based drum sequencer plugin as MIDI FX in CLAP/VST3 format

dr-seq Grid-based drum sequencer plugin as MIDI FX in CLAP/VST3 format. WARNING: This project is in a very early state. So there is no guarantee for a

An i3/Sway utility to switch focus to your last focused window. Alt+Tab in i3

i3-back An i3/Sway utility to switch focus to your last focused window. Allows for behavior similar to Alt+Tab on other desktop environments. Features

rust cli project.el clone for those leaving emacs

R-Ject I was a longtime Emacs user and really miss the project management that came with projectile.el and project.el at the same time I was looking f

Get up-to-date departure times for Munich public transport in your terminal.
Get up-to-date departure times for Munich public transport in your terminal.

MVG Fahrinfo MVG Fahrinfo is a CLI tool to keep up-to-date with latest departure times of Munich public transport. The app is a native binary and uses

Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across.

Oxygen Voice Journal Oxygen is a voice journal and audio analysis toolkit for people who want to change the way their voice comes across. Or rather, i

Owner
Derek Anderson
Derek Anderson
The library for those who need a little extra from their windows. ™

WinEx The library for those who need a little extra from their windows. ™ WinEx - Short for Window Extended - is a library whose goal is to implement

Matheus Branco Borella 2 Mar 27, 2022
Alpha Hyprland/Hyprpaper/Hypr configuration file parser

Hyprland/Hyprpaper/Hypr configuration file parser [maintainer=@yavko]

Hyprland Community 4 Feb 22, 2023
A small Rust library that let's you get position and size of the active window on Windows and MacOS

active-win-pos-rs A small Rust library that let's you get position and size of the active window on Windows and MacOS Build % git clone https://github

Dmitry Malkov 21 Jan 6, 2023
Utility to inherit dependencies from workspace file if it occurs 'n' or more times throughout the project.

Cargo Workspace Dependency Inheritor Utility that inherits dependencies from the main workspace if they occur n or more times in the workspace. Worksp

Timon 9 Oct 14, 2022
Bevy Meshem is a Rust crate designed to provide meshing algorithms for voxel grids, enabling you to create cohesive 3D mesh structures from a grid of cubic voxels

Bevy Meshem Crates.io, docs Bevy Compatibility: Bevy Version bevy_meshem 0.11 main Bevy Meshem is a Rust crate designed to provide meshing algorithms

Adam 4 Aug 16, 2023
Use Git installed in Bash on Windows/Windows Subsystem for Linux (WSL) from Windows and Visual Studio Code (VSCode)

WSLGit This project provides a small executable that forwards all arguments to git running inside Bash on Windows/Windows Subsystem for Linux (WSL). T

A. R. S. 1.1k Jan 3, 2023
Bruteforce connecting to a specific Sea of Thieves server. Useful if you want to be in the same server as your friends.

SoT Server Finder Find which Sea of Thieves server you're connected to. Useful if you want to be in the same server as your friends. Setup Download so

Martin 4 Mar 19, 2023
A little application that makes it possible to display mpv's subs anywhere you want.

Mpv Subs Popout A little application that makes it possible to display mpv's subs anywhere you want. Why? You can now watch shows in foreign languages

sdaqo 4 Jul 14, 2023
A project management tool for data science and bioinformatics. If you want it, Kerblam it!

Warning kerblam run and kerblam package are complete but still untested. Please do use them, but be careful. Always have a backup of your data and cod

Luca 4 Dec 18, 2023
Multiple precision floating point numbers implemented purely in Rust.

Multiple precision floating point numbers implemented purely in Rust. Rationale There are several notable implementations of numbers with increased pr

null 11 Nov 23, 2022