Thanks to some help on IRC I have the solution. First, the wiki page (
http://awesome.naquadah.org/wiki/index.php?title=Awesome_3_configuration
) is incorrect in mentioning c.floating. The API has changed and this is
no longer correct. The correct way to set floating is with
awful.client.floating.set(c, true/false)

Second, you would think setting a new value in floatapps like so:

["gkrellm"] = false

would work, but the problem is a logic bug down below. In the default
rc.lua's awful.hooks.manage.register function it has these lines:

if floatapps[cls] then
    awful.client.floating.set(c, floatapps[cls])
elseif floatapps[inst] then
    awful.client.floating.set(c, floatapps[inst])
end

The problem is that setting the entry for gkrellm to false means that
the if statements will also evaluate to false and it will not force
gkrellm to not float. Instead the lines should read

if floatapps[cls] ~= nil then
    awful.client.floating.set(c, floatapps[cls])
elseif floatapps[inst] ~= nil then
    awful.client.floating.set(c, floatapps[inst])
end

That will allow you to set applications to always float or always not
float in the floatapps table, and then Awesome will set that parameter
when the application opens a window.

I believe a patch will be provided to fix this for future versions of
Awesome.

JLM wrote:
> Hello, I have just started using Awesome (having switched from running
> ion for years) and I am attempting to customize it to the way I like.
> 
> I run gkrellm to monitor my system, and I would like it to run in its
> own "frame". Further, in the main "frame" I would like all new
> application windows to appear, and fill the frame.
> 
> I think in Awesome terminology what I need is a tiled layout, and two
> tiles side-by-side. In one tile I would like it to embed a maxed layout
> for all new applications. Also I would like the gkrellm tile to be
> shrunk in width to just fit gkrellm.
> 
> So I think the first step in getting this configuration is to make
> gkrellm not float. I have taken the default rc.lua and copied it into my
> ~/.config/awesome/rc.lua file.
> 
> I attempted to prevent gkrellm from floating by modifying floatapps like
> this:
> 
> ["gkrellm"] = false,
> 
> or
> 
> ["Gkrellm"] = false,
> 
> or
> 
> ["gkrellm2"] = false,
> 
> or
> 
> ["Gkrellm2"] = false,
> 
> Also I have added my own hook:
> 
> awful.hooks.manage.register(function (c)
>     if c.name:find("gkrellm") then
>         c.floatting = false
>     end
> end)
> 
> or
> 
> awful.hooks.manage.register(function (c)
>     if c.name:find("Gkrellm") then
>         c.floatting = false
>     end
> end)
> 
> or
> 
> awful.hooks.manage.register(function (c)
>     if c.name:find("gkrellm2") then
>         c.floatting = false
>     end
> end)
> 
> or
> 
> awful.hooks.manage.register(function (c)
>     if c.name:find("Gkrellm2") then
>         c.floatting = false
>     end
> end)
> 
> And none of these works.
> 
> This works:
> 
> awful.hooks.manage.register(function (c)
>     c.floating = false
> end)
> 
> As does modifying the default awful.hooks.manage.register function to
> 
> -- if floatapps[cls] then
> --     awful.client.floating.set(c, floatapps[cls])
> -- elseif
> --     awful.client.floating.set(c, floatapps[ints])
> -- end
>    awful.client.floating.set(c, false)
> 
> Of course these two changes affect all applications. I'm just trying to
> get gkrellm to not float.
> 
> The relevant parts of xprop for this application are:
> 
> WM_CLASS(STRING) = "gkrellm", "Gkrellm"
> WM_NAME(STRING) = "gkrellm"
> 
> I'm running Awesome 3.2.1. Any assistance is appreciated.
> 

-- 
To unsubscribe, send mail to [email protected].

Reply via email to