Come interrompere il riordino dello stesso tipo di finestre di anteprima multiple nello scambio di attività?

20

Quando si utilizza la commutazione delle attività nella modalità grafica predefinita di Ubuntu 12.04, se sono più finestre dello stesso tipo, ad es. più finestre di Terminale, puoi vederle tutte insieme e selezionare quale vuoi.

Ilmioproblemaèchel'ordinediquestefinestreècostantementecambiato.Seguel'ordine"ultimo usato". Li voglio sempre in un ordine fisso; come posso farlo?

    
posta n611x007 12.03.2013 - 11:49

3 risposte

2

Piuttosto che modificare la base di codici di unità, potresti prendere in considerazione l'uso di desktop per arrivare al risultato desiderato.

Esempio utilizzando Compiz Desktop Cube in CompizConfigSettingsManager

Apri CompizConfigSettingsManager ( ccsm ) e modifica le impostazioni in modo che corrispondano a quanto segue:

Apri il terminale 1

Utilizza la scorciatoia da tastiera CTRL-ALT - & gt; (freccia destra) per andare al desktop successivo a destra.

Apri il terminale 2

Utilizza la scorciatoia da tastiera CTRL-ALT - & gt; (freccia destra) per andare nuovamente al desktop successivo a destra.

Apri il terminale 3

Usa la scorciatoia da tastiera CTRL-ALT- & lt; - (freccia sinistra) per andare al desktop precedente contenente il terminale 2 (o due volte per tornare al terminale 1)

Un'altra opzione

Utilizza il gestore di Viewport in CompizConfig SettingManager e assegna una combinazione di tasti per andare direttamente al desktop delle tue scelte

Nota: Finora sono riuscito a ottenere 10 a lavorare anche se 12 dovrebbero essere possibili con questo metodo.

Aggiornamento:inbaseallepreoccupazioniespresseneicommenti:

Semplicementefaiclicdestrosullabarradeltitologeditesceglisemprenell'areadilavorovisibile...

Un'altraopzione:

Invecediaprireterminaliseparati(ospazidilavoro)perletuenumeroseattivitàpuoiancheusareleschedenelterminalegnome.Itastidisceltarapidaperlacommutazionedelleschedesonodisponibilidallepreferenzedelterminale.Vedisotto:

    
risposta data Elder Geek 27.02.2015 - 17:32
1

Un'altra opzione, se il tuo desktop è abbastanza grande, è di impostare alcune finestre su "sempre in primo piano" e disporle in modo che tu possa passare usando il mouse. È un kludge ... ma a volte lo trovo utile quando si lavora con più finestre dello stesso tipo.

Un altro è definire diversi profili di terminale con differenti combinazioni di colori e usarne uno diverso per ogni terminale ... li renderebbe facili da identificare. Sì, anche questo è un workaround.

    
risposta data laugh 20.12.2015 - 21:39
1

Penso che puoi ottenere questo risultato modificando il codice sorgente di Unity 7 . Segui semplicemente i passaggi descritti sul sito degli sviluppatori ma prima di avviare il processo di creazione apri: ./trunk/plugins/unityshell/src/unityshell.cpp e dai un'occhiata alla funzione SetUpAndShowSwitcher :

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);
}

Qui puoi vedere chiaramente che questa è esattamente la funzione che stavamo cercando. La parte superiore è responsabile della commutazione delle modalità viewport:

Questacommutazioneappareognivoltachecispostiamoinungruppodiapposecispostiamofuoridalgruppo.optionGetAltTabBiasViewportindicaquandociòaccade.QuindivienecoinvoltoGetAltTabIconsperottenereleiconegiuste.Infine,lafunzioneShowconSortMode::FOCUS_ORDERvienechiamatapervisualizzarelenostreiconeordinate.SortModeèunenum:

enum class SortMode { LAUNCHER_ORDER, FOCUS_ORDER, };

e la modifica di FOCUS_ORDER in LAUNCHER_ORDER dovrebbe risolvere il tuo problema. Puoi inserire un'istruzione if aggiuntiva prima di chiamare Show per impedire l'ordinamento dell'ordine di avvio in% caso di co_de%.

Si noti che il codice sorgente di Unity 8 è completamente diverso. Quindi questa soluzione potrebbe funzionare solo per Unity 7. Dopo mezz'ora a risolvere le dipendenze mancanti e dopo un'altra ora a combattere con cmake ho deciso di non rovinare il mio sistema e provarlo domani in VM;)

    
risposta data incBrain 09.01.2016 - 06:16