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.

Issues
  • 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 Ozymptin 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
  • 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
  • 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
  • Polybar problem

    Polybar problem

    Please describe the bug The indexing of tags is strange with polybar

    Steps to reproduce: Just use polybar and you'll see the problem when you'll open an app on the 2nd tag and not in the first one. i'm on the 4th tag: bug1

    on the 2nd one: bug2 Expected behavior i expected to see all the tags (the problem is probably due to that-

    Log: https://paste.ee/p/WWDnT

    bug 
    opened by not-NEKO 7
  • Jetbrains IDEs rendering artifacts and unresponsive

    Jetbrains IDEs rendering artifacts and unresponsive

    Please describe the bug Jetbrains IDEs are not rendering properly and only show an unresponsive window with visual artifacting.

    Steps to reproduce: Open (any?) Jetbrains IDE. I tried CLion (221.5787.29) and IntelliJ (221.5787.30)

    Expected behavior I expected CLion or IntelliJ to open and display normally.

    Screenshots hyper_intellij

    Log: https://pastebin.com/zDtxViJp

    Coredump N/A

    System

    ❯ sudo inxi -bsfCFGm
    System:    Host: void Kernel: 5.15.45_1 x86_64 bits: 64 Console: pty pts/2 Distro: Void Linux
    Machine:   Type: Laptop System: ASUSTeK product: ROG Zephyrus G14 GA401IV_GA401IV v: 1.0 serial: LCNRKD013994513
               Mobo: ASUSTeK model: GA401IV v: 1.0 serial: TI0ZMC0DHM UEFI: American Megatrends v: GA401IV.220 date: 03/14/2022
    Battery:   ID-1: BAT0 charge: 68.5 Wh (100.0%) condition: 68.5/76.0 Wh (90.1%) volts: 15.8 min: 15.8
    Memory:    RAM: total: 38.68 GiB used: 2.79 GiB (7.2%)
               Array-1: capacity: 64 GiB note: est. slots: 2 EC: None
               Device-1: DIMM 0 size: 8 GiB speed: 3200 MT/s
               Device-2: DIMM 0 size: 32 GiB speed: 3200 MT/s
    CPU:       Info: 8-Core model: AMD Ryzen 9 4900HS with Radeon Graphics bits: 64 type: MT MCP cache: L2: 4 MiB
               Speed: 1397 MHz min/max: 1400/3000 MHz Core speeds (MHz): 1: 1397 2: 1397 3: 1512 4: 1397 5: 1526 6: 1397 7: 1397
               8: 1752 9: 1397 10: 1397 11: 1397 12: 1397 13: 1585 14: 1397 15: 1420 16: 1427
               Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1 bmi2 bpext cat_l3 cdp_l3 clflush
               clflushopt clwb clzero cmov cmp_legacy constant_tsc cpb cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total cqm_occup_llc
               cr8_legacy cx16 cx8 de decodeassists extapic extd_apicid f16c flushbyasid fma fpu fsgsbase fxsr fxsr_opt ht
               hw_pstate ibpb ibrs ibs irperf lahf_lm lbrv lm mba mca mce misalignsse mmx mmxext monitor movbe msr mtrr mwaitx
               nonstop_tsc nopl npt nrip_save nx osvw overflow_recov pae pat pausefilter pclmulqdq pdpe1gb perfctr_core
               perfctr_llc perfctr_nb pfthreshold pge pni popcnt pse pse36 rapl rdpid rdpru rdrand rdseed rdt_a rdtscp rep_good
               sep sev sev_es sha_ni skinit smap smca sme smep ssbd sse sse2 sse4_1 sse4_2 sse4a ssse3 stibp succor svm svm_lock
               syscall tce topoext tsc tsc_scale umip v_spec_ctrl v_vmsave_vmload vgif vmcb_clean vme vmmcall wbnoinvd wdt xgetbv1
               xsave xsavec xsaveerptr xsaveopt xsaves
    Graphics:  Device-1: NVIDIA TU106M [GeForce RTX 2060 Max-Q] driver: nvidia v: 515.48.07
               Device-2: Advanced Micro Devices [AMD/ATI] Renoir driver: amdgpu v: kernel
               Display: server: X.Org 1.21.1.3 driver: loaded: amdgpu,nvidia unloaded: modesetting resolution: 1: 2560x1440~60Hz
               2: 2560x1440~60Hz
               OpenGL: renderer: AMD RENOIR (DRM 3.42.0 5.15.45_1 LLVM 12.0.1) v: 4.6 Mesa 21.3.7
    Audio:     Device-1: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
               Device-2: Advanced Micro Devices [AMD/ATI] driver: snd_hda_intel
               Device-3: Advanced Micro Devices [AMD] Raven/Raven2/FireFlight/Renoir Audio Processor driver: N/A
               Device-4: Advanced Micro Devices [AMD] Family 17h HD Audio driver: snd_hda_intel
               Sound Server-1: ALSA v: k5.15.45_1 running: yes
    Network:   Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi
               IF: wlp2s0 state: up mac: 44:af:28:34:95:09
               IF-ID-1: docker0 state: down mac: 02:42:8c:90:7a:ab
    Bluetooth: Device-1: Intel type: USB driver: btusb
               Report: rfkill ID: hci0 state: up address: see --recommends
    Drives:    Local Storage: total: 953.87 GiB used: 20.63 GiB (2.2%)
               ID-1: /dev/nvme0n1 vendor: Western Digital model: PC SN530 SDBPNPZ-1T00-1002 size: 953.87 GiB
    Partition: ID-1: / size: 124.93 GiB used: 6.89 GiB (5.5%) fs: ext4 dev: /dev/dm-1
               ID-2: /boot/efi size: 63.98 GiB used: 352 KiB (0.0%) fs: vfat dev: /dev/nvme0n1p1
               ID-3: /home size: 386.61 GiB used: 13.09 GiB (3.4%) fs: ext4 dev: /dev/dm-6
    Swap:      ID-1: swap-1 type: partition size: 48 GiB used: 0 KiB (0.0%) dev: /dev/dm-5
    Sensors:   System Temperatures: cpu: 63.0 C mobo: N/A gpu: amdgpu temp: 48.0 C
               Fan Speeds (RPM): cpu: 2600
    Info:      Processes: 365 Uptime: 49m Shell: Zsh inxi: 3.3.07
    
    bug 
    opened by hplar 6
  • Can we get tabbed windows?

    Can we get tabbed windows?

    Hi I discovered Hypr today and I'm still figuring it out but so far I am loving the experience. Coming from i3, I noticed there's no support for tabbed windows in Hypr which is usually how I work on my PC. Is there already some support that I'm not aware of or is it yet to be implemented?

    Thanks

    enhancement 
    opened by IamDaedalus 2
  • Hypr showing bar tittle bar even when disabled

    Hypr showing bar tittle bar even when disabled

    Hi, been using hypr for a week, runs well on my macbook, question, so i use polybar and the bar is more down because of a small bar which is caused by the built in bar in hypr, i disabled the commands in the configs with # but it still shows the bar without any text? does anybody know how to solve it

    opened by Bcez 3
  • tray and $xxx$ scripts not displaying

    tray and $xxx$ scripts not displaying

    I have 'tray' active in my hypr.conf and also added some scripts ($vol$ and $wifi$) to my bar settings, but both tray and script output are not displayed. %RAM% and %CPU% display OK. Both my scripts when run in the terminal give the expected output, which is not displayed in the bar. Bug?

    bug 
    opened by rebdeg 6
  • Option for top gap for other bars

    Option for top gap for other bars

    Have been using hypr for a week now, after long time usage of bspwm, dwm and qtile. Thanks fot this great wm. Two questions:

    1. Is there an option to increase the fontsize using the build-in bar
    2. I now use polybar but can't find an option to add only a top gap to prevent windows overwriting polybar. I currently solved this by increasing the outer gaps, but that is not a real solution.
    3. Thanks for your great wm!
    enhancement 
    opened by rebdeg 8
  • Hypr doesn't give polybar system tray

    Hypr doesn't give polybar system tray

    Please describe the bug Polybar can't get the system tray. It's either grayed out or outright missing.

    error: Failed to reconfigure tray client, removing... (XCB_WINDOW (3))

    Steps to reproduce:

    1. Disable Hypr bar.
    2. Start polybar.

    Expected behavior Polybar should be able to use the system tray, and i should be able to interact with it.

    Screenshots image

    Anything else? confeeg

    Log: loooooooooooooog

    bug 
    opened by ExperiBass 6
  • Windows adjust their position on their own accord when hovering over them for the first time after switching workspace.

    Windows adjust their position on their own accord when hovering over them for the first time after switching workspace.

    Please describe the bug Windows adjust their position on their own accord when hovering over them for the first time after switching workspace.

    Steps to reproduce:

    1. Open a couple of windows on workspace A. Tiled or floating does not matter.
    2. Switch to workspace B.
    3. Switch back to workspace A.
    4. Hover over the windows and watch their position readjust.

    Expected behavior Windows remain in their fixed position.

    Video Watch their position relative to the bar. https://user-images.githubusercontent.com/102994494/161994901-36ba2900-8517-4f92-9391-e14e560ccd6f.mp4

    Anything else? It does not seem to be related to animation or focus_when_hover as I had the same result with both turned off.

    Log: https://pastebin.com/ijgtZeRF

    bug help wanted minor 
    opened by Miusaky 1
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 30 Jun 27, 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 5 Jun 4, 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 446 Aug 8, 2022
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 25 Jul 26, 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 87 Aug 11, 2022
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 3 Jul 11, 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 75 Aug 7, 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 12 May 31, 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 345 Aug 8, 2022
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 411 Aug 9, 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 9 Jul 12, 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 228 Aug 10, 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 346 Aug 9, 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 Aug 9, 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 59 Jul 21, 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 Aug 6, 2022
🏢 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 835 Jul 31, 2022