Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Piekło perfekcjonisty — ustalanie domyślnej pozycji okien w Ubuntu

Kiedy poziom irytacji zachowaniem interfejsu osiąga masę krytyczną, postanawiam w końcu wziąć sprawy w swoje ręce. Paradoksalnie jako użytkownik Linuksa nie lubię za bardzo grzebać w ustawieniach środowiska graficznego, ale tym razem postanowiłem zrobić wyjątek. Okazało się, że rozwiązanie jest eleganckie i nieinwazyjne.

Odstające od krawędzi okna

Problem dotyczy tylko niektórych aplikacji, takich jak np. Steam oraz Team Speak 3, a polega na tym, że okna tychże programów odstają na różne sposoby od krawędzi ekranu. Słowem: nie zachowują ustalonego rozmiaru i położenia.

Na niesforne okna - CompizConfig

Aby rozwiązać ten problem i ustalić własne parametry położenia okien wybranych programów, wykorzystamy narzędzie CompizConfig Settings Manager (CCSM).

Uwaga: CCSM to narzędzie dla zaawansowanych użytkowników. Niewłaściwe użycie może skończyć się całkowitą destrukcją środowiska graficznego!

Instalacja i uruchomienie CCSM

sudo apt-get install compizconfig-settings-manager

Po instalacji otwieramy narzędzie poleceniem:

ccsm

lub wyszukujemy w Dashu:

Edycja ustawień

W oknie programu przechodzimy do sekcji "Zarządzanie oknami" i wybieramy menu "Rozmieść okna".

W przypadku platformy Steam konieczne jest wymuszenie ułożenia okna. Możemy w tym celu od razu wpisać wartość widoczną na poniższym zrzucie ekranu w polu "Wymuś ułożenie okien":

class=Steam

Teraz przechodzimy do zakładki "Ustalone położenie okna". Mamy tutaj trzy rodzaje ustawień. Interesuje nas najbardziej opcja "Okna z ustalonymi pozycjami". Klikamy przy niej "Nowy".

Jako, że za chwilę będziemy musieli kliknąć kursorem myszy na interesujące nas okno programu, dla którego chcemy poprawić domyślne położenie, warto w tym momencie ustawić obok sobie okno CCSM i danego programu.

W polu "Ułożenie okna" wpisujemy np. nazwę lub klasę okna programu, dla którego ustalamy domyślne ułożenie. Dla Steama i TS3 możecie użyć prawdopodobnie tych samych parametrów, które pokazałem na jednym z powyższych zrzutów ekranu.

Możecie także kliknąć na zielony plus z prawej strony, aby użyć funkcji "Złap", dzięki której można wskazać okno programu manualnie, dzięki czemu CCSM automatycznie wykryje nazwę, klasę lub inny parametr okna programu.

Ustawienia pozycji okna na osi X i Y zależą od Waszych indywidualnych upodobań, a także rozdzielczości ekranu. Zmiany wprowadzane w tym miejscu "działają od razu" więc szybko dojdziecie do tych właściwych poprzez zmiany i ponowne uruchamianie wybranego programu.

Widoczne na moim zrzucie ekranu ustawienia "Windows with fixed placement mode" są opcjonalne. Mogą, ale nie muszą zmienić zachowanie okien, co zależy głównie od samego programu, dla którego wprowadzamy zmiany.

Efekt końcowy

A tak prezentują się "naprawione" okna po ponownym uruchomieniu:

Z dedykacją dla wszystkich perfekcjonistów.

Bonus

Tą metodą możecie także osiągnąć np. domyślnie wycentrowane okno terminala. Wystarczy posłużyć się powyższymi wskazówkami, a oprócz tego ustalić domyślny rozmiar okna terminala w ustawieniach profilu. W tym celu otwieramy terminal, wybieramy z menu "Edycja" -> "Preferencje profilu", na samym dole zaznaczamy "Własny domyślny rozmiar terminala" i ustalamy rozmiar okna.

 

linux porady

Komentarze

0 nowych
Pangrys WSPÓŁPRACOWNIK  18 #1 04.03.2015 09:17

To srubuntu nawet porządnie wycentrować okna nie potrafi ?? Hmm ...

ROTFL

kraju   5 #2 04.03.2015 10:04

Nieco makabrycznie to wygląda, w KDE to dosłownie trzy kliknięcia myszą, ale KDE i jego KWin od dawna wybiegał ponad standard zarządzania oknami. Polecam w każdym razie. :)

AntyHaker   17 #3 04.03.2015 10:14

To ciekawe co piszesz, gdyż u mnie coś takiego nie występowało nigdy o.O

adorec   3 #4 04.03.2015 10:40

Ciekawy wpis.
Compiz potrafi płatać figle nawet w Ubuntu. Zdarza się, że wyłącza wszystkie wtyczki, tracimy wtedy obramowanie okien i/lub okna chowają się pod pasek.
Początkujący użytkownicy Linuxa mogą być zaskoczeni niestabilnością compiza. Wtedy przydaje się CompizConfig Settings Manager.

  #5 04.03.2015 12:04

Olałem Unity bo Compiz zbyt często się wycinał.

KaRnaSX   3 #6 04.03.2015 12:52

Ja nawet na to Unity patrzeć nie mogę, reklamy w menu głównym, brak opcji ulubionych, kilka razy trzeba kliknąć żeby znaleźć aplikację, które nazwy się nie pamięta. Jedno z najgorszych środowisk. Zdecydowanie lepsze jest KDE, reszta to tylko takie popierdółki.

Autor edytował komentarz.
mikolaj_s   13 #7 04.03.2015 12:55

@Pangrys: Złość na Ubuntu rozum Ci odbiera ;) To programista ustala położenie początkowe okna, sam system może to skorygować, ale musi mieć wyraźny powód, a z automatu się nie da.

@@adorec Compitz is dead. Tylko Ubuntu musi jeszcze przez jakiś czas używać trupa ;)

lucas__   13 #8 04.03.2015 13:10

Sporo tego machania, w KDE wystarczy http://wstaw.org/m/2015/03/04/okna.png

Jusko   12 #9 04.03.2015 13:13

@KaRnaSX #7: Trzeba jednak przyznać środowisku Unity, że po ustawieniu systemowego motywu Radiance i ładnej tapety - nieźle wygląda.

Muszę jednak zgodzić się z tym, że nie do końca mam wrażenie, iż panuję nad Dashem. Musiałem doczytać to i owo pod siebie oraz ustawić, czyli wywalenie zbędnych wtyczek, wyłączenie scopes, filtrowanie wyników lokalne / inne zawsze było przemieszane, nie wiem czy mam wpływ na sekcję ulubionych programów oraz plików i folderów.

Źle nie jest, jednak raczej nie panuje się nad każdym aspektem środowiska, a domyślnie jest bardzo zaśmiecone (konkretnie Dash).

Autor edytował komentarz.
gregory003   6 #10 04.03.2015 13:20

@kraju: W Metacity tez nie ma problemów. Tylko dziadostwo o nazwie Compiz zawsze było problematyczne.

Pangrys WSPÓŁPRACOWNIK  18 #11 04.03.2015 13:37

@mikolaj_s: Oż ty:P Ja tylko przewrotnie akcentuje swoja niechęć do tego czegoś linuksowopodobnego tworu co używa archaicznego Compiza :P

c0m4r   5 #12 04.03.2015 14:12

Nie podoba się KDE, jest zbyt pstrokaty i "cukierkowy", ale to zapewne kwestia gustu. Bardziej przekonuje mnie po prostu interfejs i design Ubuntu. Alternatywnie korzystam z Cinnamona na Archu i Elementary OS (czekam z utęsknieniem na nowe wydanie). Na mniej wydajnym sprzęcie tylko Mate lub Openbox.

Z Unity niejednokrotnie miewałem różne zadymy, ale dzielnie sobie radzę. Wynagradza mi estetycznym wyglądem i funkcjonalnością. Chociaż Dash akurat to faktycznie jedna wielka pomyłka - w ogóle z tego ustrojstwa nie korzystam.

saitoh   6 #13 04.03.2015 14:24

Nie wiedziałem że Ubuntu jest aż tak zacofane i prymitywne, że trzeba do tego specjalne poradniki pisać :D
Takie rzeczy to od kilkunastu można sobie wyklikać nawet w Fluxboxie:
http://postimg.org/image/cmoeiatod/
Oczywiście można też sobie ustalić co do piksela wielkość i położenie każdego okna w systemie i będą się uruchamiać wg tych ustawień ;)

  #14 04.03.2015 14:27

@Pangrys: szkoda, ze tu nie ma lajkow, bo zalajkowałbym Twoj post :D

adorec   3 #15 04.03.2015 14:27

@mikolaj_s: Rzeczywiście, lata świetności ma już za sobą. Z tego co pamiętam, to kilka razy był martwy, a później wracał jako Fusion i znów Compiz.
Na Ubuntu, Compiz działa/ł najstabilniej.

saitoh   6 #16 04.03.2015 14:38

@mikolaj_s: "To programista ustala położenie początkowe okna, sam system może to skorygować, ale musi mieć wyraźny powód, a z automatu się nie da."

Może w Windowsie i Ubuntu tak jest.
Linuksowe menedżery okien same "inteligentnie" zarządzają rozmieszczeniem okien i ich rozkładem na pulpicie.

Luki_2   8 #17 04.03.2015 14:53

Jakiś czas temu napisałem sobie fajny skrypt na Ubuntu który na każdym z trzech pulpitów w dokładnej precyzyjnej pozycji odpala kilka najczęściej używanych programów. Jeżeli bieżący pulpit był inny, niż ten, na którym odpalała się dana aplikacja (odpalały się po kolei), to skrypt ładnie przechodził z efektem do docelowego pulpitu. Po załadowaniu aplikacji, załóżmy, na innym pulpicie odpala się kolejna i zaś przed jej odpaleniem skrypt przechodzi z ładnym efektem do tego właśnie pulpitu. Fajnie to wyglądało :)

c0m4r   5 #18 04.03.2015 14:57

Ja tylko dodam, że zarówno TS3 i Steam to bardzo "customowe", niestandardowe programy. "Problem", który wystąpił u mnie mógł wynikać z jakichś specyficznych czynników, które niekoniecznie wiążą się z samą dystrybucją. TS3 rozjeżdżał mi się przykładowo również (z tego co pamiętam) na Archu pod Cinnamonem.

Mimo wszystko fajnie przeczytać kąśliwe co prawda, ale treściwe komentarze. Sam dostrzegam wady Unity, zresztą nie od razu się do niego przekonałem. Mam nadzieję, że Canonical w najbliższych wydaniach usprawni te mankamenty.

mikolaj_s   13 #19 04.03.2015 15:20

@saitoh: "Linuksowe menedżery okien same "inteligentnie" zarządzają rozmieszczeniem okien i ich rozkładem na pulpicie"

Jeśli się nie mylisz to trochę to dziwne. Wolałbym jako programista móc decydować o położeniu okna w szczególności gdy jest to okno dodatkowe programu. Poza tym lepszym sposobem niż "inteligentne" układanie okien jest zapamiętanie ostatniego położenia okna przed zamknięciem programu.

Luki_2   8 #20 04.03.2015 15:22

@mikolaj_s: Dokładnie, zapamiętanie ostatniego położenia, wielkości, to świetny, wystarczająco inteligentny sposób.

saitoh   6 #21 04.03.2015 15:50

@mikolaj_s: "Jeśli się nie mylisz to trochę to dziwne. Wolałbym jako programista móc decydować o położeniu okna w szczególności gdy jest to okno dodatkowe programu."

Ja wolę zaufać swoim ustawieniom lub jakiejś mniej lub bardziej skutecznej inteligencji menedżera okien niż gdyby każdy program z osobna realizował jakieś wizje czasem chorych programistów ;)
Zarządzanie układem okien na pulpitach to jedna z podstawowych funkcji linuksowych menedżerów okien.
Nie możesz tego jako programista ustalić bo nie wiesz jakiego menedżera okien używa dany użytkownik, ile ma pulpitów, fizycznych ekranów, ich wielkości i schematu (np na jednym pulpicie aplikacje biurowe, na innym multimedia itd), ile i jak rozmieszczone ma panele i inne ozdobniki, aplety na pulpitach

Przykład z Openboxa:
"policy can be either Smart or UnderMouse.

Smart will cause new windows to be placed automatically by Openbox.
UnderMouse makes new windows to be placed under the mouse cursor.
center can be either yes or no. If it is enabled, windows will open centered in the free area found. "

Oczywiście w większych i bardziej rozbudowanych menedżerach okien jak KWin, Xfwm itp. tych opcji może być więcej i same algorytmy "inteligencji" mogą być bardziej rozbudowane co pokazał lucas__ na zrzucie z KDE, ale nie chce mi się teraz szukać dokładniejszej dokumentacji i posłużyłem się tą z Opneboxa:
http://openbox.org/wiki/Help:Configuration#Placement

"Poza tym lepszym sposobem niż "inteligentne" układanie okien jest zapamiętanie ostatniego położenia okna przed zamknięciem programu."

To sobie klikasz myszką zapamiętywanie wybranych opcji. Większość cywilizowanych menedżerów to umożliwia. Zobacz mój wcześniejszy zrzut:
http://postimg.org/image/cmoeiatod

Domyślam się, że w Ubuntu tego nie masz i stąd te dziwne uwagi ;)

Autor edytował komentarz.
saitoh   6 #22 04.03.2015 15:51

@Luki_2: Przecież takie zapamiętywanie jest dostępne od kilkunastu lat w Linuksie.

pcmasterrace   8 #23 04.03.2015 16:08

Xubuntu chyba w ogóle nie potrafi zapisać pozycji okien, albo mi się wydaje.

Jusko   12 #24 04.03.2015 16:08

@saitoh #22:

- "(...)Nie możesz tego jako programista ustalić bo nie wiesz jakiego menedżera okien używa dany użytkownik, ile ma pulpitów, fizycznych ekranów, ich wielkości i schematu (np na jednym pulpicie aplikacje biurowe, na innym multimedia itd)."

Dziwne, bo pisząc sobie program np. w Javie, mogę ustalić w którym miejscu ekranu ma wystartować (może to być środek, może inne miejsce). Dlatego przecież zostało wspomniane, że to programista może wybrać pozycję.

Jeśli z automatu ustawię w kodzie centrowanie, to wystartuje na środku - czy to będzie KDE, GNOME czy Fluxbox. Chyba, że faktycznie user sobie namiesza w ustawieniach środowiska, to kto tam wie ;-)

Autor edytował komentarz.
saitoh   6 #25 04.03.2015 16:19

@Jusko: Ustawienia menedżera okien (dlaczego nazywasz to namieszaniem?) są nadrzędne i twoje ustawienia w kodzie raczej nic tu nie zmienią. Na pewno w zwykłych aplikacjach, a nie w tych odpalanych przez JRE.

Autor edytował komentarz.
KaRnaSX   3 #26 04.03.2015 17:16

@lucas__: Ładnie wygląda, ale poczekam jeszcze trochę z instalacją wersji 0.9.0.

Luki_2   8 #27 04.03.2015 18:56

@saitoh nie neguję. Okazuję jedynie, że mnie ono zupełnie wystarczy i sądzę, że nie ma co kombinować. No ale ile ludzi, tyle potrzeb ;-)

awangardowy   7 #28 05.03.2015 00:04

edycja ustawień w ten sposób to koszmar ... ;)

dobromir_wspaniały   4 #29 05.03.2015 10:11

Zgadzam się z przedmówcami że taki sposób ustawień to koszmar, horror. To opis że tak prymitywną sprawę jak położenie okna, manipulacja położeniem okien można maksymalnie utrudnić, rzucać kłody pod nogi.. Dobre by to było kilkanaście lat wstecz, ale nie teraz gdy systemy stają się intuicyjne. Tym bardziej że jak autor ostrzega możemy rozwalić system, a o literówkę nie trudno.
"CCSM to narzędzie dla zaawansowanych użytkowników. Niewłaściwe użycie może skończyć się całkowitą destrukcją środowiska graficznego!"

adam6644   1 #30 05.03.2015 12:09

Już nie przesadzajmy. To nie jest takie złe ;)

Jusko   12 #31 05.03.2015 15:07

@dobromir_wspaniały #30: Ale w czym problem - okna zarządzane są inteligentnie, ale wspomniany w arcie Steam to baardzo customowy program. Autor chciał po prostu dopieścić sobie, w jego opinii estetyczne braki związane z tymi konkretnie programami.

Zainstalował więc CCSM, a tam trzeba wiedzieć co się klika - to logiczne - nie wszystko da się zrobić odpornym na ZU, szczególnie jak zaczynasz bawić się ustawieniami managera okien. CCSM nie jest domyślnie w systemie - nie bez powodu.

Na używanym przez Ciebie Windows XP, też musiałbyś bawić się w podobne klocki, jeśli chciałbyś osiągnąć podobne efekty. Systemy stają się intuicyjne, to prawda, ale przez to wiele ustawień schodzi pod maskę, co jak widzisz trzeba potem wydobywać na wierzch do prostych wydawałoby się spraw. Tak, Windows też to dotyczy.

Autor edytował komentarz.