Skip to content

v0.1.1

Latest
Compare
Choose a tag to compare
@nferhat nferhat released this 11 Jul 11:03
· 174 commits to main since this release
79167f7

fht-compositor is a Wayland compositor that aims to have simple window management inspired by X11 window managers, mainly DWM and AwesomeWM.

Not a lot of groundbreaking stuff, but still some improvements over the previous release.

fht-share-picker moved out

Due to dependency conflicts (between egui and iced dependencies), fht-share-picker moved out to a different repository, and with it got a rewrite! I personally really like it, since it describes what output you are going to use better.

image

xdg-activation support

I actually forgot to implement this protocol, and left a TODO message in the implementation. Well, now its working! Example here is with pcmanfm focusing its child window.

xdg-activation-preview.mp4

Interactive window resizing

For quite some time, we supported dragging a tile out of its usual area in order to swap it with another one, in this release, I am really happy to announce that we now have the resizing of tiles! This was quite a tricky to implement, as we are in a tiled environment, meaning that every other window that is managed by the workspace layout needs to adapt.

Another challenge is to actually make resizing any tile, in any direction, be sensible and logical for the user. A tile can only grow its own stack (in our case, we have the master and slave stack(s)). This is possibly by tweaking both the master width factor (commonly known as mwfact) and the cfact (a proportion of how much the tile should take space relative to its siblings)

On the actual implementation, I wrote custom code that adapts the mouse delta position to make this happen, but it was 100% worth it! Take a look at the result:

interactive-resize.mp4

Other fixes and improvements

  • New insert_window_strategy option, to decide where should we insert a window inside a workspace 5a462e3
  • New focused_window_opacity and normal_window_opacity options. 2d386b9
  • Various fixes to focusing, on cases where a layer-shell/window dies 0c27ad7, 26c638d
  • Fix parent workspace detection db206cf
  • Re-implement fullscreening 651d27a
  • Re-implement some xdg-shell requests for maximizing/fullscreening ac6279b
  • Egui can now get the GL_MAX_TEXTURE_SIZE value from the renderer b151c01
  • Remove egui's ability to get keyboard input, as this could lock up input 186456e