Как настроить запуск всех приложений не сфокусированным или свернутым?

Нет ли способа заставить все приложения минимизироваться или заставить их загружаться в фоновом режиме, чтобы они не открывались в верхней части окна, над которым я работаю, кроме того, чтобы окно всегда было на вершине?

Я заметил, что на многие подобные вопросы, как этот, вслепую отвечают с решением, которое включает в себя манипулирование настройками правил окна в CompizConfig > General > Focus & Raise Behavior, но это фактически ничего не делает для предотвращения такого рода кражи фокуса.

1
задан 15 July 2012 в 22:33

2 ответа

Проверьте GDevilSpie в Центре программного обеспечения, вот учебник http://www.webupd8.org/2011/02/how-to-start-applications-minimized.html

0
ответ дан 15 July 2012 в 22:33

Если вы используете рабочие пространства (называемые областями просмотра в Compiz), вы можете использовать devilspie2 , чтобы открывать приложения, развернутые в другом рабочем пространстве. Он использует lua в качестве языка сценариев, поэтому он довольно мощный. Он плохо работает с окнами просмотра, поскольку технически они являются лишь частью одного большого рабочего пространства, поэтому необходимы некоторые обходные пути и внешние инструменты. Это сценарий, который я использую для размещения разговора на пиджине в окне просмотра 3,3 (третий сверху и слева) моего экрана 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+ 

Сценарий зависит от x11-utils и xdotool. Это приводит к очень короткому мерцанию, когда приложение открыто. Этого можно избежать, используя CCSM и установив длительность скольжения стены равной нулю миллисекунд.

, '') 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

Сценарий зависит от x11-utils и xdotool. Это приводит к очень короткому мерцанию, когда приложение открыто. Этого можно избежать, используя CCSM и установив длительность скольжения стены равной нулю миллисекунд.

0
ответ дан 15 July 2012 в 22:33

Другие вопросы по тегам:

Похожие вопросы: