Como defino que todos os aplicativos sejam iniciados fora de foco ou minimizados?

1

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.

    
por Flint 15.07.2012 / 03:09

2 respostas

2

Verifique o GDevilSpie no Centro de Software, aqui está um tutorial link

    
por MeM 15.07.2012 / 22:21
0

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.

    
por sup 03.09.2014 / 15:31