awesome -- раздельные правила для основного и остальных окон приложения в "плавающем" режиме

можно ли добавить еще правило только для основного окна?
xprop | grep -i class
WM_CLASS(STRING) = "main", "Psi-plus"
xprop | grep -i class
WM_CLASS(STRING) = "psi-plus", "Psi-plus"
на примере Psi+:
необходим режим "floating" для всех окон приложения. прописал правило "Для всех окон, кроме основного"
	{
	rule_any = { class = { "psi-plus", "Psi-plus" } }, except = { instance = "main" },
		properties = { },
			tag = tags[1][7],
			function (c)
				awful.placement.centered(c,nil)
			end
	},
теперь не пойму, как прописать правило только для основного окна?
{
	rule_any = { class = { "psi-plus", "Psi-plus" } }, except_any = { instance = "main" },
		properties = { floating = true },
			tag = tags[1][7],
			function (c)
				awful.placement.centered(c,nil)
			end
	},
По идее так должно работать, или я вас не правильно понял?
правило работает для всех окон приложения, кроме основного.
основное окно не переходит в "плавающий" режим. а с except_any = { instance = "main" } вообще не работает (bad argument #1 to 'ipairs')
а вот для именно основного окна (main) правило нарисовать не получается...
Как у вас настроен Psi+ ? У меня например: Настройки-Чат-Использовать режим вкладки-все в одном окне.
От этого зависит вывод команды xprop. Главное окно может принимать значения "main" (как в моем случае) или "psi-plus" (если снять галочку)
{
    rule_any = { class = { "psi-plus", "Psi-plus" } }, except = { instance = "psi-plus" },
     properties = { tag = tags[1][2], floating = true },
},
Так вроде работает. И зачем вам функция awful.placement.centered(c,nil) ? Подозреваю что в правиле она неправильно написанна.
{ rule_any = { class = { "psi-plus", "Psi-plus" } }, except = { instance = "psi-plus" },
             properties = { tag = tags[1][7], floating = true },
             callback = awful.placement.centered },
Так работает. Но какой смысл, делать окна чатов floating и помещать их в центр экрана?
Например меня все в одном окне, и правило
{ rule_any = { class = { "psi-plus", "Psi-plus" } }, except = { instance = "main" },
             callback = awful.client.setslave },
которое размещает окно Psi во вторичной зоне (setslave)
lumberjack
основное окно не переходит в "плавающий" режим
вот для именно основного окна (main) правило нарисовать не получается...
Только что обратил внимание, тогда так
{ rule_any = { class = { "psi-plus", "Psi-plus" } }, except = { instance = "chat", instance = "groupchat" },
             properties = { tag = tags[1][7], floating = true, },
             callback = awful.placement.centered },
Основное окно сделать плавающим и поместить в ценр экрана
psi+ настроен как и у вас -- "все в одном окне". xprop выдает следующее:
xprop | grep -i class
WM_CLASS(STRING) = "main", "Psi-plus"
на окне настроек xprop выдает:
xprop | grep -i class
WM_CLASS(STRING) = "psi-plus", "Psi-plus"
с любым из ваших правил у меня окно свойств появляется не в центре экрана, а по его краям (левый верхний/нижний, правый верхний/нижний):

а нужно так:

пробовал так:
	{
	rule = { class = "Psi-plus" },
		callback = awful.placement.centered,
		properties =
			{
				tag = tags[1][7],
			}
	},
тоже не работает...
lumberjack Странно у меня все нормально, окно настроек плавающее и в центре. Может дело в дополнительный правилах?

    ---- Настройки диалоговых окон
    { rule_any = { type = { "Dialog", "dialog", "DIALOG" } },
      properties = { floating = true } },
    -- Для всех окон у которых class "pinentry" (обычно это утилиты, которые запрашивают пароль), устанавливаем плавающий режим
    { rule = { class = "pinentry" },
     properties = { floating = true } },
 
Зарегистрироваться или войдите чтобы оставить сообщение.