[Unity] Usunięcie przełącznika obszarów roboczych z panelu bocznego

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!

Ikonę przełącznika obszarów roboczych przedstawiam po prawej stronie. Znajduje się ona w panelu bocznym Unity, Niestety dostępne aplikacje konfigurujące system nie są w stanie jej wyłączyć.

Sam nie używam tej funkcji z dwóch powodów:

  • rzadko używam więcej niż jednego obszaru roboczego,
  • jeśli już używam więcej niż jednego obszaru roboczego, do przełączania się między nimi używam skrótów klawiszowych Ctrl + Alt + Strzałki.

Usunięcie przełącznika obszarów roboczych

Sam proces usuwania nie jest trudny, ale dosyć długi:

  1. Upewnij się, że w systemie zainstalowany jest pakiet dpkg-dev oraz devscripts:
    sudo apt-get install dpkg-dev devscripts
  2. Utwórz tymczasowy katalog, przejdź do niego, pobierz źródła Unity:
    mkdir ~/code
    cd ~/code
    mkdir build
    cd build
    sudo apt-get source unity
    cd unity*
  3. Otwórz plik plugins/unityshell/src/LauncherController.cpp:
    sudo gedit plugins/unityshell/src/LauncherController.cpp
  4. Odszukaj linię:
     _num_workspaces = WindowManager::Default()->WorkspaceCount();
      if (_num_workspaces > 1)
      {
        InsertExpoAction();
      }
  5. Wykomentuj ją:
    /* _num_workspaces = WindowManager::Default()->WorkspaceCount();
      if (_num_workspaces > 1)
      {
        InsertExpoAction();
      }*/

    Zapisz plik Ctrl + S.

  6. Zbuduj pakiet (może to potrwać kilka minut):
    sudo apt-get build-dep unity
    sudo debuild -us -uc
  7. Zainstaluj je (znajdują się w katalogu nadrzędnym):
    cd ..
    sudo dpkg -i unity*.deb libunity*.deb netbook*.deb
  8. Posprzątaj po sobie:
    sudo rm -r ~/code
  9. Zaloguj się ponownie do systemu, aby wprowadzić zmiany w życie.
Źródło: ubuntuguide.net
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • Expoo

    Powinno byc w tym „Ubu.. Tweak” dla nierozgarnietych ,moze na kwiecien zdaza ?

  • PowerMilk

    No super, jeszcze chciałbym wiedzieć jak wywalić kosz z paska (używam trash-indicator), kiedyś chciałem wiedzieć jak wywalić dasha, bo używałem Cardapio, ale przyzwyczaiłem się do Dasha. Czy ta metoda działa dla kogoś, kto używa Unity-Rotated?

    • PowerMilk

      Dobra, nie czekając na odpowiedź sam spróbowałem i nie działa to dla Unity-Rotated. Pokombinowałem i efekt mojego kombinowania:

      Zamiast sudo apt-get source unity wydać polecenie sudo apt-get source unityshell-rotated

      Edycja pliku plugins/unityshell/src/LauncherController.cpp odbywa się tak samo. Jako, że nie chciałem kosza, to zakomentowałem linijki zawierające słowo trash, czyli:

      void
      LauncherController::InsertTrash()
      {
      TrashLauncherIcon* icon;
      icon = new TrashLauncherIcon(_launcher);
      RegisterIcon(icon);
      }
      #include „TrashLauncherIcon.h”
      InsertTrash(); (Według mnie wystarczy całkowicie tę linijkę).

      Polecenia:
      sudo apt-get build-dep unity
      sudo debuild -us -uc
      Bez zmian. Na koniec dajemy:
      cd .. && sudo dpkg -i *.deb
      Jak się zainstaluje, to oczywiście też wywalamy katalog code

  • pan_zabka

    Zatrzymałem się na punkcie 6… :(

    ~/code/build/unity-5.16.0$ sudo debuild -us -uc dpkg-buildpackage -rfakeroot -D -us -uc
    dpkg-buildpackage: ostrzeżenie: używanie polecenia-uzysk-praw-admin podczas bycia administratorem
    dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector –param=ssp-buffer-size=4 -Wformat -Wformat-security
    dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
    dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector –param=ssp-buffer-size=4 -Wformat -Wformat-security
    dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
    dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro
    dpkg-buildpackage: pakiet źródłowy unity
    dpkg-buildpackage: wersja pakietu źródłowego 5.16.0-0ubuntu1+ikarosdev2
    dpkg-buildpackage: źródła zmienione przez Isaac Joseph
    dpkg-source –before-build unity-5.16.0
    dpkg-buildpackage: architektura gościa i386
    fakeroot debian/rules clean
    dh clean –with translations,quilt
    dh_testdir
    dh_auto_clean
    debian/rules override_dh_quilt_unpatch
    make[1]: Wejście do katalogu `/home/panzabka/code/build/unity-5.16.0′
    if test -r debian/patches/series.i386; then \
    pc=”.pc.i386″; \
    cd /home/panzabka/code/build/unity-5.16.0; \
    QUILT_PC=”$pc” QUILT_PATCHES=”debian/patches/” quilt pop -a || true; \
    fi; \
    dh_quilt_unpatch
    Patch ikarosdev2 does not remove cleanly (refresh it or enforce with -f)
    dh_quilt_unpatch: quilt –quiltrc /dev/null pop -a || test $? = 2 returned exit code 1
    make[1]: *** [override_dh_quilt_unpatch] Błąd 1
    make[1]: Opuszczenie katalogu `/home/panzabka/code/build/unity-5.16.0′
    make: *** [clean] Błąd 2
    dpkg-buildpackage: błąd: fakeroot debian/rules clean zwrócił status błędu 2
    debuild: fatal error at line 1350:
    dpkg-buildpackage -rfakeroot -D -us -uc failed

    • http://www.ubuntu-pomoc.org Łukasz Schmidtke

      Zainteresuj się tym:

      Patch ikarosdev2 does not remove cleanly (refresh it or enforce with -f)

      Zasugerowane jest rozwiązanie.

  • pan_zabka

    Zainstalowałem: ppa:ikarosdev/unity-revamped, ale dalej to samo :(

  • pan_zabka

    Jeszcze dziwniejsza sprawa – teraz w punkcie 3. otwiera mi się pusty plik.
    Mam pytanie odnośnie tego co pisał PowerMilk: czy to działa? Jak uporam się z tym przełącznikiem, to mam zamiar walczyć z koszem… ;)

  • LibreDeg

    Dzień Dobry.
    Mnie natomiast zatrzymuje w punkcie 6B, oto komunikat:
    debuild: fatal error at line 627:
    cannot find readable debian/changelog anywhere!
    Are you in the source code tree?

  • LibreDeg

    Pięknie, wyczyściło mi cały tekst z pliku LauncherController.ccp ;)
    Czy można to jakoś naprawić?