Verifique o GDevilSpie no Centro de Software, aqui está um tutorial link
Não há uma maneira de forçar todos os aplicativos a serem inicializados minimizados ou fazê-los carregar em segundo plano para que eles não sejam abertos na parte superior da janela em que estou trabalhando, além de fazer com que a janela seja sempre no topo?
Noto que várias perguntas semelhantes como essa são respondidas às cegas com uma solução que envolve mexer na configuração de regras da janela em CompizConfig > General > Focus & Raise Behavior
, mas que na verdade não faz nada para evitar esse tipo de roubo de foco.
Se você estiver usando espaços de trabalho (chamados viewports no Compiz), você pode usar devilspie2 para abrir aplicativos maximizados em um espaço de trabalho diferente . Ele usa lua como sua linguagem de script, por isso é bastante poderoso. Ele não funciona tão bem com viewports, pois eles são tecnicamente apenas uma seção de um grande espaço de trabalho, portanto, algumas soluções alternativas e externas são necessárias. Este é um script que eu uso para colocar conversa pidign para viewport 3,3 (terceiro a partir do topo e à esquerda) da minha tela fullHD (1920 × 1080):
-- a helper function to capture string from external command output
function os.capture(cmd, raw)
local f = assert(io.popen(cmd, 'r'))
local s = assert(f:read('*a'))
f:close()
if raw then return s end
s = string.gsub(s, '^%s+', '')
s = string.gsub(s, '%s+$', '')
s = string.gsub(s, '[\n\r]+', ' ')
return s
end
if (get_window_class()=="Pidgin" and get_window_role()=="conversation") then
-- get the current viewport
vp = os.capture("xprop -root |grep '_NET_DESKTOP_VIEWPORT(CARDINAL) = ' |cut -d ' ' -f 3-4 |tr -d ','")
-- unfortunately, the below does not work due to a bug in xdotool
-- vp = os.capture("xdotool get_desktop_viewport")
-- set_window_geomtery is relative to current position, it seems, so go to the left and top most vieport
os.execute("xdotool set_desktop_viewport 0 0")
-- set the window maximized and to viewport 3,3
set_window_geometry(3930,2250,650,950)
maximize()
-- now go to the original viewport
os.execute("xdotool set_desktop_viewport " .. vp)
end
O script depende de x11-utils
e xdotool
. Isso resulta em uma cintilação muito curta quando o aplicativo está aberto. Ele pode ser eliminado usando o CCSM e configurando o tempo de duração do Deslize da parede para zero milissegundos.