Search code examples
linuxluaarchlinuxawesome-wm

Awesome WM - Chatty (Java application) bypass dimension properties from rc.lua


Chatty is a java application to chat in Twitch (streaming platform) from the desktop.

What I'm trying to accomplish is that Chatty always starts with specifics X, Y, width and height properties.

{ rule = { class = "chatty-Chatty" },
  properties = {
    width = 267, 
    height = 223, 
    x = 1575, 
    y = 774
  },
},

The X and Y properties work just fine, wherever I move the window if I closed and open it again it appears in my desired position. However for some reason I fail to acknowledge Chatty doesn't care about the width and height properties, it always opens with the last geometry.

Chatty itself have a config file but there isn't anything related to width and height dimensions.

I'm on Arch, and the only WM I have is Awesome.

PD: One weird thing is that every time I'm changing the window size it also moves, always in a bottom right direction. This is annoying but not a problem, I'm mentioning this just in case it is related to the possible issue.


Solution

  • This is probably because they client resize itself after the rules are executed (which would be a bug in your app or Java). In any case, you can do:

    client.disconnect_signal("request::geometry", awful.ewmh.client_geometry_requests)
    

    to turn off the client ability to resize themselves.

    In AwesomeWM git-master version, you can use the permission API to deny the "client" -> "geometry" -> "ewmh" permission per client.