Hypr is a tiling window manager written in modern C++.

Overview

Hypr

BuildStatus Issues PRs Lang License Best HiMom

Hypr is a Linux tiling window manager for Xorg. It's written in XCB with modern C++ and aims to provide easily readable and expandable code.

!WARNING: Hypr is still in early development. Please report all bugs in Github issues, or open a PR!

Key Features

  • True parabolic animations
  • Rounded corners and borders
  • Config reloaded instantly upon saving
  • A built-in status bar with modules
  • Easily expandable and readable codebase
  • Multiple tiling modes (dwindling and master)
  • Keybinds config
  • Tiling windows
  • Floating windows
  • Workspaces
  • Moving / Fullscreening windows

Configuring

See the Wiki Page for a detailed overview on the config, or refer to the example config in examples/hypr.conf.

To use a custom config, place it in ~/.config/hypr/hypr.conf

Screenshot Gallery

One Two Three

Building

See the Wiki to see build instructions.

Known issues

  • Animations do tend to flicker a bit, especially with picom.
  • The config is still pretty simple, although riceable!
  • Popups sometimes are created pretty small

Contributions

Refer to CONTRIBUTING.md and the Wiki for contributing instructions and guidelines.

Comments
  • Aur package crashes on startup, cloned repo doesnt

    Aur package crashes on startup, cloned repo doesnt

    Please describe the bug When using the AUR version it crashes after startx

    Steps to reproduce: First remove the Hypr binary from /usr/bin and remove the desktop file from /usr/share/xsessions/ to avoid confusion and yay errors. Use the example config. My .xinitrc only contains the line "exec Hypr".

    yay -S hypr-git startx

    It crashes after the bar is loaded or, if disabled, after a window tries to start

    yay -Rns hypr-git git clone [email protected]:vaxerski/Hypr cd Hypr make release sudo cp build/Hypr /usr/bin/ startx

    This version works completely normal

    When it crashes xorg prints something along the lines of "Couldn't find gtk-theme" but because my resolution is fucked up part is printed off screen. I couldn't find anything in both the Xorg log or the hypr log.

    bug AUR 
    opened by rasmus-rap 26
  • Can't set keybinds to Q

    Can't set keybinds to Q

    Please describe the bug I can't set keybindings to Q despite not using it elsewhere in my config

    And when I use watch -n 0.3 "cat /tmp/hypr/hypr.log | grep -v \"dirty\" | grep -v \"nimation\" | tail -n 60" I don't see any reaction to pressing the keybind

    Steps to reproduce: install the AUR package copy the example config edit the bind=SUPER,C,killactive, part to bind=SUPER,Q,killactive, and change the bind=SUPER,Q,exec,kitty part to not use Q

    Expected behavior Hypr should kill the active window when I press Super+Q but it doesn't

    bug 
    opened by H-mate 21
  • [Bug] Using keycombos inputs text into active window

    [Bug] Using keycombos inputs text into active window

    Please describe the bug When using a key combo such as SUPER+V, text is input into the active window (if it allows for text input), but only if said keycombo doesn't switch workspaces.

    Steps to reproduce:

    1. Open a notepad or terminal.
    2. Hit a key combo that doesn't change workspaces. I'm using SUPER+V.
    3. See text.

    Expected behavior No text is input.

    Screenshots My screen recorder has decided not to work.

    Log: Please attach a log. (paste it into pastebin and paste here the url) The log can be found in a temp file located in /tmp/hypr/hypr.log. Too large to be put into pastebin

    bug 
    opened by ExperiBass 19
  • Problems with polybar

    Problems with polybar

    Please describe the bug 1)Polybar ewmh module disappear when i try to use a second monitor, and when it appear it isn't even clickable. 2) When i start my polybar sometimes the modules are placed randomly (if

    Steps to reproduce: These are my config file:

    1. ewmh.ini xworkspaces module
    2. config the general polybar config
    3. center.ini my center config bar
    4. hypr.conf

    Expected behavior obviously i expected to see the module/s working normally

    Screenshots here's some videos

    https://user-images.githubusercontent.com/73197383/157289199-ad53f17d-a772-42b1-ace5-22bad28ef943.mov

    https://user-images.githubusercontent.com/73197383/157296891-a496a929-671f-4335-a25c-de91057b7ac2.mov

    Log:

    hypr.log

    can't upload a normal pastebin so i posted all the log file cuz when i try to edit the file my pc literally blows out, there are more than 10000 lines, and my lil i5 5300u can't manage to open it :(

    IF MORE INFORMATION ARE NEEDED PLEASE CONTACT ME

    bug 
    opened by LucaErr 19
  • Keybinds are not applied

    Keybinds are not applied

    Please describe the bug When starting Hypr the config file is loaded fine, my execs work just fine, but the keybinds are not working. I made an exec to start a terminal at launch and be able to interact with Hypr. Checking the debug log it says that the keybinds are not applied because the status bar is not null (see the log).

    Steps to reproduce: Just launching Hypr normally through SDDM. I am installing Hypr through the AUR package in Arch Linux.

    Expected behavior Keybinds loaded so it is usable.

    Log: https://pastebin.com/pdPywPde

    bug 
    opened by BeZaBel 17
  • Some suggestions: Keycode binding, binding w/o mod key, etc

    Some suggestions: Keycode binding, binding w/o mod key, etc

    Is your feature request related to a problem? Please describe. I stumbled across this in r/unixporn, and thought it would be a good experiment to see if i like it better than i3-gaps. But I'm noticing it lacks some features that i use daily.

    • Keycode binding. I can use the name of the key given by xev -event keyboard, but having to type XF86KbdBacklight just feels unnecessary.
    • Binding without mod key: Seems to exist already with _ but that isn't documented, so maybe I've stumbled across a bug?
      • Related: Can't seem to use super and shift together, another possible bug
    • The config structure seems a bit unintuitive, something like bind SUPER+SHIFT+1 to action would be cleaner and easier to understand.

    Just my two cents, other than these im enjoying it so far :D

    Anything else?

    enhancement 
    opened by ExperiBass 12
  • Cannot connect to the X server.

    Cannot connect to the X server.

    Please describe the bug Cannot connect to the X server.

    Steps to reproduce: run Hypr

    Expected behavior Connect to the X server.

    Log file: [LOG] Hypr debug log. Built on Dec 26 2021 at 19:02:29 [LOG] Pipes done! Forking! [LOG] Parent continuing! [CRITICAL] Connection Failed! Return: 5 [LOG] Child says Hello World! [CRITICAL] Connection Failed! Return: 5 [ERR] Bar exited with code 5! https://ghostbin.com/blVwM

    bug 
    opened by berkay-repos 12
  • Keybindings from hypr.conf not working

    Keybindings from hypr.conf not working

    Please describe the bug

    any key in our hypr.conf is not working

    https://github.com/arcolinux/arcolinux-hypr/blob/c4bfb2517c9bc259152db167b0005e973a7d8aa8/etc/skel/.config/hypr/hypr.conf#L73

    any key in sxhkd is working https://github.com/arcolinux/arcolinux-hypr/tree/main/etc/skel/.config/hypr/sxhkd

    Steps to reproduce: Install our app package on ArcoLinux

    Package is renamed to hypr-dev-git (same from AUR - named there hypr-git added xorg-xmodmap as dependency) Using a different naming convention to keep track of your commits to github r369.3e3d943-2 - commit 369 at the moment https://github.com/arcolinux/arcolinux_repo_3party/blob/main/x86_64/hypr-dev-git-r369.3e3d943-2-x86_64.pkg.tar.zst

    Install our config package on ArcoLinux

    https://github.com/arcolinux/arcolinux_repo/blob/main/x86_64/arcolinux-hypr-git-22.11-06-any.pkg.tar.zst https://github.com/arcolinux/arcolinux-hypr

    Expected behavior We would like to be able to use the keybindings particularly quit an application: super + Q

    Video 3 issues

    1. keybindings (quit application for example)
    2. ewmh on polybar
    3. system panel icons not responding on a click

    https://youtu.be/s84yLa80BFc

    Image

    hypr-issues

    Log: Please attach a log. (paste it into pastebin and paste here the url) The log can be found in a temp file located in /tmp/hypr/hypr.log.

    hypr.log

    bug 
    opened by arcolinuxz 10
  • Terminal WINNAME

    Terminal WINNAME

    Please describe the bug Not sure if it's a bug or it is like this by design, but using Xephyr terminals WINNAME is reporting the shell name, instead of application name.

    Tested with Kitty and Alacritty, but it always shows ¨fish /path/"

    Screenshots Screenshot_Xephyr

    bug enhancement 
    opened by di-effe 9
  • Workspaces - background color is green

    Workspaces - background color is green

    Can we change the green background color?

    green

    I thought it would be this code

    module=left,X,0xff8000ff,0xffffffff,1,workspaces

    When I remove the line - I no longer see the workspaces but if I change the colors nothing changes? Can we change colors for active and non active workspaces? + Is it possible to click on the workspaces and then change to the workspace?

    bug 
    opened by arcolinuxz 7
  • Picom transparency isnt applied to inactive windows

    Picom transparency isnt applied to inactive windows

    Please describe the bug Picoms transparency is only applied to the active window.

    Steps to reproduce:

    • Set inactive-opacity to 0.7 and active-opacity to 0.9.
    • Open two windows.
    • Notice how the inactive window isn't transparent at all.

    Expected behavior Picoms opacity should be applied.

    Screenshots image

    i3:

    2022-Apr-13-15-35-05

    bug 
    opened by ExperiBass 7
  • Manually set vertical splitting

    Manually set vertical splitting

    Hey, great work on this WM! Loving it so far The one feature it's missing for me is the ability to manually set the split direction. I use an ultrawide display, so rarely is the condition met where the window will split vertically. This is unfortunate because I like to set up my terminal under my code editor sometimes.

    It would be awesome if this feature could be implemented Thanks again!

    enhancement 
    opened by cheripai 1
  • appindicator on polybar dissapeared the moment I open a window

    appindicator on polybar dissapeared the moment I open a window

    Please describe the bug The moment I open app window on Hypr, appindicator icons disappeared and can't be clicked.

    Steps to reproduce: autostart polybar on hypr.conf (I'm using default polybar config) then open kitty (or other apps)

    OS: EndeavourOS PC: i3 5005U VGA: Intel Integrated

    Expected behavior appindicator icons still exist and can be clicked normally.

    Screenshots gh_attach1

    bug 
    opened by s4if 2
  • System icons at the end of the bar

    System icons at the end of the bar

    Just wanted to ask if there should be any system icons on the top right in the bar? Or is hypr created that way?

    icons we would see are typically

    • networkmanager
    • bluetooth
    • variety
    • telegram
    • discord
    • flameshot
    • sound

    image

    bug 
    opened by arcolinuxz 13
  • lost keybindings on auto loads

    lost keybindings on auto loads

    Please describe the bug whenever we edited conf file it reloads and now any keybindings defined in config file want work so user needs to logout and then it started to work again till next editing and reload.

    Steps to reproduce: Do a, use program b...

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Anything else?

    Log: Please attach a log. (paste it into pastebin and paste here the url) The log can be found in a temp file located in /tmp/hypr/hypr.log.

    Coredump: If Hypr crashed, please attach a coredump. (paste into pastebind and paste here the url)

    How to?

    Systemd instructions: coredumpctl find the last ocurrence of Hypr and note the PID. coredumpctl info <PID> will print the coredump. coredumpctl info <PID> --no-pager | xclip -sel clip will copy it to the clipboard.

    bug 
    opened by amitparmar-lab 2
  • module Ewmh/xworkspaces is not showing in polybar

    module Ewmh/xworkspaces is not showing in polybar

    Please describe the bug

    we do not see the workspaces in our polybar should be in the middle top bar

    https://github.com/arcolinux/arcolinux-hypr/tree/main/etc/skel/.config/hypr/polybar

    Steps to reproduce: Install our app package on ArcoLinux

    Package is renamed to hypr-dev-git (same from AUR - named there hypr-git added xorg-xmodmap as dependency) Using a different naming convention to keep track of your commits to github r369.3e3d943-2 - commit 369 at the moment https://github.com/arcolinux/arcolinux_repo_3party/blob/main/x86_64/hypr-dev-git-r369.3e3d943-2-x86_64.pkg.tar.zst

    Install our config package on ArcoLinux

    https://github.com/arcolinux/arcolinux_repo/blob/main/x86_64/arcolinux-hypr-git-22.11-06-any.pkg.tar.zst https://github.com/arcolinux/arcolinux-hypr

    Expected behavior We would like to see multiple workspaces.

    Video 3 issues

    1. keybindings (quit application for example)
    2. ewmh on polybar
    3. system panel icons not responding on a click

    https://youtu.be/s84yLa80BFc

    Image

    hypr-issues

    Log: Please attach a log. (paste it into pastebin and paste here the url) The log can be found in a temp file located in /tmp/hypr/hypr.log.

    hypr.log

    bug 
    opened by arcolinuxz 8
  • System icons in polybar are not responsive

    System icons in polybar are not responsive

    Please describe the bug

    System icons in polybar are present but can not be used. They are most of the time unresponsive. At one time they actually showed...

    Steps to reproduce: Install our app package on ArcoLinux

    Package is renamed to hypr-dev-git (same from AUR - named there hypr-git added xorg-xmodmap as dependency) Using a different naming convention to keep track of your commits to github r369.3e3d943-2 - commit 369 at the moment https://github.com/arcolinux/arcolinux_repo_3party/blob/main/x86_64/hypr-dev-git-r369.3e3d943-2-x86_64.pkg.tar.zst

    Install our config package on ArcoLinux

    https://github.com/arcolinux/arcolinux_repo/blob/main/x86_64/arcolinux-hypr-git-22.11-06-any.pkg.tar.zst https://github.com/arcolinux/arcolinux-hypr

    Expected behavior We would like to be able to use the system panel applications.

    Video 3 issues

    1. keybindings (quit application for example)
    2. ewmh on polybar
    3. system panel icons not responding on a click

    https://youtu.be/s84yLa80BFc

    Image

    hypr-issues

    Log: Please attach a log. (paste it into pastebin and paste here the url) The log can be found in a temp file located in /tmp/hypr/hypr.log.

    hypr.log

    bug 
    opened by arcolinuxz 0
Releases(1.1.3)
Owner
vaxerski
The lower you go, the more amusing it gets.
vaxerski
dwm is an extremely fast, small, and dynamic window manager for X.

dwm - dynamic window manager dwm is an extremely fast, small, and dynamic window manager for X. My Patches This is in the order that I patched everyth

Christian Chiarulli 32 Dec 23, 2022
Small Header-Only Window and OpenGL Manager.

LxDemOWin Linux Demo OpenGL and Window manager A small header-Only Window and OpenGL manager made in C, written in about 2 hours. With some basic code

PipeWarp 6 Oct 23, 2022
A window manager for GNOME, with rounded corners patch

Tested in gnome-shell 40.5, should works in gnome 40 and 41. integrate the blur effects with rounded corners.The source code can be found here. Issues

Yi 502 Jan 4, 2023
A simple X11 window manager

Devoid WM A simple x11 tiling window manager Devoid tries to abide by the principle - "Do one thing, do it well". All it is is a window manager which

Murtaza Udaipurwala 29 Dec 6, 2022
Small Header-Only Window and OpenGL Manager.

LxDemOWin Linux Demo OpenGL and Window manager A small header-Only Window and OpenGL manager made in C, written in about 2 hours. With some basic code

pipewarp 4 Dec 11, 2021
tabbed window manager that can tile windows inside floating containers

shod ┌───────────────────────┐ │ │ ┌─────┼────

Seninha 133 Jan 5, 2023
My perfect build of suckless's dynamic window manager

perfectwm My perfect build of suckless's dynamic window manager. patches dwm-alwayscenter-20200625-f04cac6.diff dwm-fancybar-20200423-ed3ab6b.diff dwm

Madeleine 4 Oct 31, 2022
Quite powerful window manager for X

qpwm quite powerful window manager for X It's small floating window manager from not a programmer ?? Some features ?? Floating only. Fullscreen toggle

unxsh 76 Dec 29, 2022
A fwakin floating window manager, that just works perfectly.

ewm ( Elite optimized* Window Manager ) + ewm is a very simple and lightweight floating window manager. + I will try to stay under 400 SLOC. Features

Nabeen Tiwaree 0 Nov 1, 2022
JWM is a cross-platform Java window management and OS integration library.

JWM aims to expose an interface that abstracts over window creation, input handling and OS integration

JetBrains 403 Jan 9, 2023
A simple utility that cold patches dwm (uDWM.dll) in order to disable window rounded corners in Windows 11

Win11DisableRoundedCorners A simple utility that cold patches the Desktop Window Manager (uDWM.dll) in order to disable window rounded corners in Wind

Valentin-Gabriel Radu 516 Dec 27, 2022
Play video by fonts in a console window by composing characters

FontVideo Play video by fonts in a console window by composing characters. Using FFmpeg API to decode the input file, then the video stream is rendere

0xaa55 9 Jul 16, 2022
Draw a triangle inside Electron's window using DirectX 11, mixing web and native content.

Draw a triangle inside Electron's window using DirectX 11, mixing web and native content. Limitations The native content is rendered over a child wind

UKABUER 10 Dec 3, 2022
Hiding the window from screenshots using the function win32kfull::ChangeWindowTreeProtection

NoScreen This function is used in setwindowaffinity, but unlike the original API function, this function does not create detection vectors, for exampl

null 297 Dec 11, 2022
JWM - Cross-platform window management and OS integration library for Java

Java Window Management library Vision JWM is a cross-platform Java window management and OS integration library. JWM aims to expose an interface that

Humble UI 392 Dec 27, 2022
Window.js is an open-source Javascript runtime for desktop graphics programming.

Window.js Window.js is an open-source Javascript runtime for desktop graphics programming. It is documented at windowjs.org. Introduction Window.js pr

Window.js 2.2k Dec 31, 2022
Live wallpapers for the X window system

xlivebg - live wallpapers for the X window system About xlivebg is a live wallpaper framework, and collection of live wallpapers, for the X window sys

John Tsiombikas 62 Dec 1, 2022
Visual Studio extension for assembly syntax highlighting and code completion in assembly files and the disassembly window

Asm-Dude Assembly syntax highlighting and code assistance for assembly source files and the disassembly window for Visual Studio 2015, 2017 and 2019.

Henk-Jan Lebbink 4k Jan 6, 2023
🏢 A bold, unapologetic, and honest operating system written in modern C

A bold, unapologetic, and honest operating system written in modern C About Striking modernist shapes and bold use of modern C are the hallmarks of BR

Brutal 929 Jan 5, 2023