DEVELOPER - rady i zaoenia dla tych ktrzy chc uczestniczy w projekcie
Autor: Maciej Delmanowski <harnir@place.inside.net>
--------------------------------------------------------------------------

TERMINOLOGIA
------------
Jakimi sowami okreslamy poszczeglne elementy interfejsu?

- 'interfejs' - wszystko co widzimy na ekranie, okna, panele, pulpit
- 'pulpit' - jest to obszar poza oknami, poza panelami i poza menu. Znajduje
  si na nim tapeta. Pozwala on na atwe uruchomienie terminalu. Jest kilka
  pulpitw wirtualnych, w Crystalu standardowo 8
- 'okno' - wszystkie okna aplikcaji
- 'ikona' - obrazek pojawiajcy si po zminimalizowaniu aplikacji na licie
  ikon, pozwalajcy na przywrcenei danego okna
- 'pasek tytuowy' - poziomy lub pionowy pasek w obrbie okna

- 'panel' - wszystkie przeroczyste panele naokoo pulpitu, na grze, na dole
  po bokach
- 'grupa paneli' - s to dwa lub wicej paneli, speniajcych pdobne funkcje
  i/lub pozonych ze sob (np. jeden z paneli grupy otwiera nastepny)
- 'panel gwny' - jest to panel w prawym grnym rogu z 3 przyciskiami
  speniajcymi rne funkcje
- 'lista okien' - jest to poziomy panel na dole ekranu, wywietlajcy okna na
  wszystkich pulpitach
- 'lista ikon' - jest to may panel w lewym grnym rogu, pokazujcy ikony
  zminimalizowanych okien
- 'panel xmms' - s to dwa panele przy prawej krawdzi panelu, may
  'module-xmms' oraz wikszy 'module-xmms-main', s one traktowane jako grupa
  paneli
- 'panel aplikacji' - jest to panel przy prawej krawdzi ekranu, pozwalajcy
  na uruchomienie programw

- 'menu' - jest to lista na ekranie otwierana za pomoca myszy lub klawiatury
- 'menu okien' - jest to lista otwierana za pomoca kombinacji 'Alt+Tab',
  zawerajce wszystkie otwarte okna
- 'menu ikon' - jest to lista na ekranei otweirana za pomoca kombinacji
  'Alt+Shift+Tab', zawierajca wszystkie ikony zminimalizowanych aplikacji


PULPIT
------

OKNA
----

IKONY
-----
Ikony s uywane w panelu FvwmApps do oznaczenia aplikacji domylnej,
uruchamianej za pomoca prawego przycisku myszy. Znajduj si te w menu
FvwmApps, otwieranym lewym przyciskiem myszy, oraz w tytuach okien,
oznaczajc w ten sposb aplikacj. Aby si tam znalazy, potrzebne sa wpisy w
pliku 'Crystal/styles/Icons'. Wpis (lub wpisy) trzeba dobra tak aby ikona
znalaza si we wszystkich oknach programu, a wic nie tylko w oknie gwnym
ale take w oknach dialogowych, oknach otwierania/zapisu plikw itp. W tym
celu naley wykorzysta modu 'FvwmIdent' do wydobycia oznacze class/resource
danej aplikacji i wtedy doda odpowiedni wpis do pliku z informacj o ikonach
(Crystal/styles/Icons).

Ikony powinny mie wielko 16x16 pikseli i by w formacie png, co zapewni
moliwo ich atwej pnijeszej edycji (np. dodania pprzezroczystoci).
Nalezy je umieszcza w katalogu 'Crystal/images/icons'; preferowany format
nazwy to 'nazwaaplikacji.png', chyba e chce si doda kilka ikon tej samej
aplikacji lub rne ikony do wyboru (np. ikony Galeona1 oraz Galeona2). W
takim wypadku naley nazwy tych ikon odpowiednio zmodyfikowa, dodajc suffix
np. 'nazwaaplikacji_dialog.png' (dla rnych okien) lub 'nazwaaplikacji_2.png'
(inna wersja tej samej ikony), czy te 'nazwaaplikacji_identyfikatortheme.png'
(dla grup ikon).


PANELE
------
Powinny by mae, umieszczone na krawedziach ekranu. Moliwa jest zmiana
wysokoci/szerokoci panelu kiedy np. brak na nim miejsca, wtedy jednak trzeba
zapewni moliwo ukrycia panelu niezalenie od innych elementw interfejsu.
Powinno to by moliwe w trakcie pracy oraz w pliku konfiguracyjnym.

Panele nie powinny by umieszczane przy bokach ekranu w wicej ni jednym
rzdzie/kolumnie. Nie powinny te na siebie nachodzi, gdy moe spowodowa to
mniejsz funkcjonalno panelu pod spodem. Jeeli warunki te nie mog by
spenione (brak miejsca na ekranie), panel powinien zosta podzielony na dwie
lub wicej czci, z ktrych jedna peni funkcj otwierajc nastepne czci.
Nie powinno si czy w ten sposb paneli wicej ni dwa razy (panel
otwierajcy kolejny panel, ktry otwiera ostatni panel w cigu) w celu
zminimalizowania czesu potrzebnego dla dotarcia do danej funkcji.

Oznaczenia przyciskw powinny by dobrane tak aby zajmoway jak najmniej
miejsca oraz mona byo je atwo rozrni (wzory nie powinny sie powtarza). Do
oznaczenia przyciskw mona uywa tekstu lub obrazkw, nie powinno sie tych
dwch metod czy ze sob.

Jeeli dany przycisk oferuje wicej ni jedn funkcj dostepn pod przyciskami
myszy, naley oznaczy funkcj lewego przycisku (wyjtek: FvwmApps, gdzie
oznacza si aplkacj uruchamian prawym przyciskiem myszy, wicej w sekcji
MYSZ). Funkcje przyciskw na rnych panelach nie powinny si dublowa.


MENU
----
Wygld menu (moliwoci jego zmiany, niemozno ustawienia przezroczystego
podwietlenia lub adnej paskiej ramki) w FVWM nie bardzo mi si podobaja,
dlatego zrezygnowaem z niego na rzecz panelu z ikonami. Pniej doszo do
tych ikon proste menu, bez zaznaczania wyboru i bez ramek, wg mnei spenia ono
tam swoj rol.

Sdz e dobrze poracowane rodowisko moe oby si bez menu gwnego. Suy
ono jedynie (zywkle) do uruchomienia jakich apliakcji. Przy zapewnieniu
dobrej alternatywy mona si bez niego obej.

Jednak nie naley ogranicza moliwoci uycia menu przez uytkownika. Powinno
by ono dostpne po uaktywnieniu opcji w konfiguracji. Najlepszym
umiejscowieniem z punktu widzenia przyciskw myszy (patrz MYSZ) jest lewy
przycisk (czywicie na caej powierzchni pulpitu). Menu nie powinno zostawa
na ekranie (wtedy jest przerywana praca caego interfejsu, czeka on albo na
wybranie opcji z menu, albo na wyczenie go). Lepszym wyjciem jest uywanie
menu ktre jest na ekranie tylko wtedy kiedy przycisk myszy jest nacinity. W
ten sposb przypadkowe nacisnicia przycisku na pulpicie nie przerw pracy
(aby zamiast niej wyczy menu). Naley te stara si tak umiejscowi menu
aby adna pozycja nie bya pod kursorem kiedy zostaje ono uaktywnione.

Naley uywa menu standardowo dostpne w danej dystrybucji, np. automatycznie
generowane menu Debiana, lub jeeli dystrybucja nie posiada takowego, zapewni
odpowiednik panelu 'FvwmApps' o takiej samej funkcjonalnoci (oprcz programu
"ulubionego" gdy nie da sie go uruchomi za pomoc prawego przycisku;
wystarcz zwyke menu aplikacji. Tytuy menu powinny odzwierciedla tytuly
sekcji, jak np. 'Mail' czy 'WWW'). Program "ulubiony" powiniem by umieszczony
na pocztku podmenu.


MYSZ
----
Mysz ma (z reguy) trzy klawisze, czasem nawet wicej. Dlaczego tego nie
wykoystac, np. w panelach? Dla przykadu FvwmApps, gdzie lewy klawisz
otwiera menu, a prawy od razu uruchamia program ktry jest skojarzony z
ikon (dlatego np. na tym panelu nie powinno by okien oglnych typu Mail,
WWW, ale ikony aplikacji takich jak Mutt czy Galeon)

Przyciski myszy maj swoj kolejno:
- lewy - najwaznijeszy, jest najczsciej naciskany (intuicyjnie)
- prawy - drugi w kolejnoci
- rodkowy i dalsze - kolejne w hierarchii
Z tego powodu dobierajc funkcje poszczeglnych przyciskw naley zwrci
uwag na czsto naciskania danego klawisza (lewy czciej, prawy rzadziej).
Dla przykadu 'FvwmApps': lewy przycisk bedzie uywany prawdopodobnie czciej
od prawego, dlatego aby zminimalizowa ilo kopii uruchomiongo programu, pod
lewym klawiszem powinno znajdowa si menu. Naley te zadba o to, aby menu
nie znajdowao si bezporednio pod kursorem myszy. Wyeliminuje to
uruchomienia programu z menu po przypadkowym klikniciu (przynajmniej dla
lewego klawisza).
Innym przykadem takiego wnioskowania jest przypisanie klawiszy myszy na
pulpicie - lewy klawisz standardowo nie robi nic. Jednoczenie po uaktywnieniu
menu systemowego jest ono umieszczane wanie pod lewym klawiszem.

Z zupenie innej strony naley rozpatrywac akcje domylne, takie jak
wyciaganie okna na wierzch lub przenoszenie pod spd. Zwykle kiedy uytkownik
klika na tytu okna lewym przyciskiem myszy, robi to z zamiarem wyciagnicia
okna na wierzch. Taka opcja jest standardowo wanie pod lewym przyciskiem
myszy, przenoszenie okna pod spd jest natomiast pod prawym (drugim w
kolejnoci). Trzecia akcj, dostepn pod rodkowym przyciskiem, jest zwijanie
okna do paska tytuowego. Te akcje sa umieszczone w kolejnoci "uytecznoci"
w danej chwili: najczciej okno jest wycigane na wierzch, ewentualnie jest
wysyane pod spd (aby odsoni inne okno), inn moliwoci odsonicia okna
jest zwinicie okna lecego nad nim.


KLAWIATURA
----------

PROGRAMY ZEWNTRZNE
-------------------

PLIKI KONFIGURACYJNE
--------------------

