Como parar a reordenação do mesmo tipo de múltiplas janelas de visualização na troca de tarefas?

20

Ao usar a comutação de tarefas no modo gráfico padrão do Ubuntu 12.04, se forem múltiplas janelas do mesmo tipo, por exemplo. várias janelas do Terminal, você pode vê-las todas juntas e selecionar qual delas deseja.

Meuproblemaéqueaordemdessasjanelaséalteradaconstantemente.Segueaordemdo"último uso". Eu os quero sempre em uma ordem fixa; como posso fazer isso?

    
por n611x007 12.03.2013 / 11:49

3 respostas

2

Em vez de alterar a base de código de unidade, você pode considerar o uso de áreas de trabalho para chegar ao resultado desejado.

Exemplo usando o Compiz Desktop Cube no CompizConfigSettingsManager

Abra o CompizConfigSettingsManager ( ccsm ) e altere as configurações para corresponder ao seguinte:

Abra o terminal 1

Use o atalho de teclado CTRL-ALT - > (seta para a direita) para ir para a próxima área de trabalho à direita.

Abra o terminal 2

Use o atalho de teclado CTRL-ALT - > (seta para a direita) para ir para a próxima área de trabalho à direita novamente.

Abra o terminal 3

Use o atalho de teclado CTRL-ALT- < - (seta para a esquerda) para ir para a área de trabalho anterior contendo o terminal 2 (ou duas vezes para voltar ao terminal 1)

Outra opção

Use o gerenciador Viewport no CompizConfig SettingManager e atribua uma combinação de teclas para ir diretamente para a área de trabalho de suas escolhas

Nota: Até agora só consegui 10 trabalhar, embora 12 devessem ser possíveis com este método.

Atualização:combasenaspreocupaçõesexpressasnoscomentários:

Simplesmentecliquecomobotãodireitonabarradetítulodogediteescolhasemprenoespaçodetrabalhovisível...

Outraopção:

Emvezdeabrirterminaisseparados(ouespaçosdetrabalho)parasuasinúmerasatividades,vocêtambémpodeusarasguiasnoterminaldognome.Teclasdeatalhoparamudançadetabulaçãoestãodisponíveisnaspreferênciasdoterminal.Vejaabaixo:

    
por Elder Geek 27.02.2015 / 17:32
1

Outra opção, se sua área de trabalho for grande o suficiente, é definir algumas janelas para "sempre no topo" e organizá-las para que você possa alternar usando o mouse. É um kludge ... mas às vezes acho útil quando se trabalha com várias janelas do mesmo tipo.

Ainda outra é definir vários perfis de terminal com esquemas de cores diferentes e usar um diferente para cada terminal ... isso os tornaria fáceis de identificar. Sim, esta é uma solução também.

    
por laugh 20.12.2015 / 21:39
1

Acho que você pode conseguir isso modificando o código-fonte de Unity 7 . Basta seguir as etapas descritas no site do desenvolvedor, mas antes de iniciar o processo de criação, abra: ./trunk/plugins/unityshell/src/unityshell.cpp e dê uma olhada em SetUpAndShowSwitcher function:

void UnityScreen::SetUpAndShowSwitcher(switcher::ShowMode show_mode)
{
  RaiseInputWindows();

  if (!optionGetAltTabBiasViewport())
  {
    if (show_mode == switcher::ShowMode::CURRENT_VIEWPORT)
      show_mode = switcher::ShowMode::ALL;
    else
      show_mode = switcher::ShowMode::CURRENT_VIEWPORT;
  }

  auto results = launcher_controller_->GetAltTabIcons(show_mode == switcher::ShowMode::CURRENT_VIEWPORT,
                                                      switcher_controller_->show_desktop_disabled());

  if (switcher_controller_->CanShowSwitcher(results))
    switcher_controller_->Show(show_mode, switcher::SortMode::FOCUS_ORDER, results);
}

Aqui você pode ver claramente que esta é exatamente a função que procurávamos. A parte superior é responsável pela comutação dos modos de viewport:

Estaalternaçãoaparecesemprequeentramosemumgrupodeaplicativosousaímosdogrupo.optionGetAltTabBiasViewportindicaquandoissoacontece.EntãoGetAltTabIconsestáenvolvidoparaobterosíconescertos.Efinalmente,afunçãoShowcomoSortMode::FOCUS_ORDERéchamadaparaexibirnossosíconesclassificados.SortModeéumenum:

enum class SortMode { LAUNCHER_ORDER, FOCUS_ORDER, };

e alterando FOCUS_ORDER para LAUNCHER_ORDER deve resolver seu problema. Você poderia inserir uma instrução if adicional antes de chamar Show para impedir a classificação de ordem do ativador em ShowMode::ALL case.

Por favor, note que o código-fonte da Unity 8 parece completamente diferente. Portanto, essa solução pode funcionar apenas para o Unity 7. Depois de meia hora consertando dependências perdidas e depois de mais uma hora brigando com o cmake, decidi não estragar meu sistema e testá-lo na VM amanhã;)

    
por incBrain 09.01.2016 / 06:16