Customize Toolbar#
Podstawowe informacje#
- Wersja: 4.2
- Architektura: 32-bit i 64-bit
- Źródło: SourceForge
- Autor: DW-dev
- Przeznaczenie: Daje kontrolę nad przyciskami umieszczanymi na Pasku narzędzi.
Dodatkowe materiały:
Instalacja#
Proces instalacji wtyczki przebiega w sposób standardowy. Finalnie na całą wtyczkę składają się następujące pliki i foldery:
NPP\plugins\_CustomizeToolbar\_CustomizeToolbar.dll
NPP\plugins\Config\CustomizeToolbar.dat
- pojawia się po pierwszym zamknięciu NPP.NPP\plugins\Config\CustomizeToolbar.btn
- pojawia się po włączeniu opcjiCustom Buttons
(jeśli sami nie utworzymy takiego pliku).
Menu wtyczki#
U góry na Pasku menu plugin tworzy następujące menu wtyczki:
Rysunek. Customize Toolbar - menu wtyczki w domyślnym stanie
Opis#
Wtyczka daje pełną kontrolę nad wszystkimi przyciskami widocznymi na Pasku narzędzi. Na starcie wtyczka definiuje 29 dodatkowych przycisków dla najczęściej używanych poleceń w NPP. Oczywiście standardowe przyciski pochodzące z samego programu, jaki i przyciski z dogranych w późniejszym czasie pluginów (jeśli istnieją), również zostają obsłużone przez wtyczkę.
Zarządzanie przyciskami#
Kiedy wtyczka zostaje po raz pierwszy zainstalowana to żadne dodatkowe przyciski nie są jeszcze wyświetlane na Pasku narzędzi. Kontrolę nad przyciskami przeprowadza się za pośrednictwem okna Dostosowanie paska narzędzi #, które przywołujemy klikając u góry na Pasku menu kolejno Wtyczki >> Customize Toolbar >> Customize...
.
Rysunek. Customize Toolbar - okno Dostosowanie paska narzędzi
W oknie tym możemy dowolnie manewrować wyświetlaniem i położeniem poszczególnych przycisków. Udostępniono także opcję powrotu do pierwotnego położenia standardowych przyciski programu poprzez kliknięcie na przycisk Zresetuj
. Warto poświęcić nieco czasu i powyciągać sobie najważniejsze lub najczęściej przez nas używane przyciski. Poszczególne grupy przycisków spełniających podobne zadania można oddzielać od siebie przyciskiem Separator
.
Gdy liczba przycisków na Pasku narzędzi będzie większa niż szerokość głównego okna programu, to niewidoczne przyciski zostaną zwinięte do jednej listy dostępnej przez dedykowany wskaźnik >>
. Dodatek umożliwia włączenie opcji Wrap Toolbar
, która rozłoży przyciski na wiele wierszy, przez co zawsze pozostaną widoczne, niezależnie od szerokości głównego okna programu.
Od wersji 4.0 wprowadzono szereg udogodnień. Dwukrotne kliknięcie lewym przyciskiem myszy w wolnym obszarze Paska narzędzi automatycznie otworzy okno Dostosowanie paska narzędzi. Istnieje też osobny przycisk Customize...
(z ikonką ) otwierający omawiane okno, który można sobie wyciągnąć na Pasek narzędzi. Wszystkie przyciski na Pasku narzędzi można wprost przeciągać i upuszczać klikając je lewym przyciskiem myszki z jednoczesnym wciśnięciem klawisza Shift
. Wynika z tego kilka ciekawych zachowań:
- Jeśli przeciągniemy ostatni przyciska za siebie samego to pojawi się nowy separator przed tym przyciskiem.
- Jeśli przeciągniemy ostatni przycisk na Pasek kart to pojawi się nowy separator przed tym przyciskiem, a jak na Pasek menu to separator zostanie usunięty (jeśli jakiś separator istniał przed tym przyciskiem).
- Jeśli przeciągniemy przedostatni przycisk na Pasek menu to pojawi się nowy separator przed tym przyciskiem.
- Jeśli przeciągniemy pierwszy przycisk po prawej stronie separatora na ten separator, to separator zostanie usunięty.
- Nie da się przemieszczać samych separatorów za pomocą przeciągania, można to zrobić pośrednio przeciągając inne przyciski.
- Jeśli przeciągniemy dowolny przycisk w Obszar edycji, na kontener lewy/prawy/górny/dolny, na Pasek tytułu, na Pasek stanu lub poza główne okno programu to przycisk zniknie z Paska narzędzi, ale wciąż pozostanie dostępny w oknie Dostosowanie paska narzędzi.
Powyższe sztuczki pozwalają pominąć okno Dostosowanie paska narzędzi przy przemieszczaniu już wyciągniętych przycisków widocznych na Pasku narzędzi. Z drugiej jednak strony okno to zapewnia kompleksowe sterowanie wszystkimi przyciskami (widocznymi jak i niewidocznymi), i w pewnych sytuacja skorzystanie z niego jest wręcz niezbędne.
Tworzenie dodatkowych przycisków#
Prawdziwą siłą omawianej wtyczki jest możliwość tworzenia własnych przycisków dostępna od wersji 3.0 (relase note, info z forum). Dotyczy to dowolnej opcji NPP jak i dogranych pluginów. Cały proces powinien przebiegać w następujący sposób:
Instrukcja obsługi (w języku angielskim) znajduje się w opcjach wtyczki, wystarczy wybrać u góry na Pasku menu kolejno Wtyczki >> Customize Toolbar >> Help - OverView lub Help - Custom Buttons
.
Definicje przycisków umieszcza się w pliku
CustomizeToolbar.btn
w folderzeNPP\plugins\Config
. Plik ten musi używać kodowania Unicode UTF-16 Little Endian, z opcjonalnym znakiem BOM oraz znakami nowej linii CR-LF.Jeśli wspomnianego pliku nie będzie to należy go utworzyć samodzielnie. Można w tym celu skorzystać z samego NPP po prostu tworząc nowy plik i wybierając u góry na Pasku menu kolejno
Format >> Koduj w UCS-2 LE BOM
. Można też utworzyć nowy plik windowsowym Notatnikiem i przy zapisie poprzezPliki >> Zapisz jako...
wybrać kodowanie Unicode.Trzecią możliwością będzie wybranie u góry na Pasku menu kolejno
Wtyczki >> Customize Toolbar >> Custom Buttons
, co spowoduje automatyczne utworzenie prawidłowego pliku (jeśli do tej pory nie istniał), ale z domyślną definicją dwóch przycisków. Należy wyedytować plik i usunąć zbędne wpisy.Deklarujemy właściwą dla nas liczbę przycisków (maksymalnie 100) za pomocą definicji. Każdą definicję dla kolejnego przycisku umieszczamy w nowej linii. Poszczególne definicje można rozdzielać między sobą pustymi linami, które nie mogą zawierać żadnego znaku, nawet spacji, w przeciwnym razie zostaną potraktowane jak błędne definicje.
Definicja # w swojej pełnej postaci składa się z pięcioelementowej list, gdzie separatorem między elementami jest przecinek, co można wyrazić zapisem
A,B,C,D,E
. Pierwsze cztery elementy to łańcuchy znakowe określające położenia danego polecenia na Pasku menu (wliczając w to zagnieżdżenia), a ostatni to ścieżka do pliku ikonki przycisku.W zależności od poziomu zagnieżdżenia danego polecenia elementy
C
iD
mogą nie występować, podobnie jest ze ścieżką do pliku ikonki reprezentowaną przez elementE
, którą można pominąć (wówczas użyta zostanie domyślna ikonka kolorowego młotka # ). Następujące zapisy są poprawne i oznaczają jedną i tę samą definicję:A,B
lubA,B,
lubA,B,,
lubA,B,,,
.Własna ikonka dla przycisku zawsze wymaga podania listy pięcioelementowej, tj. musi ona zawierać 4 przecinki, gdzie za ostatnim przecinkiem podajemy ścieżkę do pliku ikonki, przykładowo
A,B,,,E
. Kiedy ścieżka wskazuje na nieistniejący plik ikonki to ponownie użyta zostanie domyślna ikonka kolorowego młotka.Jeśli definicja wskazuje na polecenie z przypisanym standardowym przyciskiem wewnątrz NPP to zostanie on zastąpiony przez tę definicję. Alternatywnie do zmiany ikonek w standardowych przyciskach NPP można skorzystać z wbudowanego rozwiązania w postaci pliku
NPP\toolbarIcons.xml
(szczegóły).Jeśli kilka prawidłowych definicji określa to samo polecenie to użyta zostanie ta ostatnia.
W przypadku błędnie utworzonej definicji (np. poprzez niewłaściwe określenie położenia danej opcji w menu) użyta zostanie domyślna ikonka szarego młotka # , chyba że definicja zawiera prawidłową ścieżkę do pliku ikonki, to zamiast młotka pojawi się ta ikonka, ale z wymuszoną konwersją do szarych barw, dla przykładu ikonka zmienia się w . Błędna definicja (choćby linia z jedną spacją) zawsze tworzy przycisk, po najechaniu którego pojawi się dymek z odpowiednim komunikatem
Custom Button Error: xxx
. Szary kolor przycisku nie zawsze oznacza błędną definicję, niektóre przyciski posiadają dwa stany wyrażane kolorem lub szarością. Opis umieszczany w dymku po najechaniu myszą na przycisku to najpewniejszy sposób weryfikacji poprawności definicji.Ikonki dla przycisków muszą być plikami z rozszerzeniem
.bmp
, w formacie 16x16 oraz z 8-bitową głębią kolorów. Wszelkie piksele tego samego koloru, co lewy dolny piksel, będą przezroczyste.Jeśli chodzi o położenie ikonek to zaleca się umieszczać je wprost w katalogu
NPP\plugins\Config
. Nie jest to jednak sztywna reguła. Można definiować ścieżki relatywne, gdzie folderem startowym (polecenie./
lub/
) jest katalog wtyczki. Pozwala to współdzielić te same pliki ikonek między różnymi wersjami programu (polecenie../
przechodzi o 1 folder wyżej, polecenie../../
przechodzi o dwa foldery wyżej, itd.). W ścieżkach można używać zamiennie znaków/
i\
.Polecam ściągnięcie darmowego zestawu ikonek FamFamFam (zawiera 1000 ikonek).
Po włączeniu u góry na Pasku menu opcji
Wtyczki >> Customize Toolbar >> Custom Buttons
i ponownym uruchomieniu NPP przyciski powinny pojawić się na Pasku narzędzi. Można nimi manewrować wprost lub za pomocą okna Dostosowanie paska narzędzi.
Poniżej zamieszczam poprawną zawartość pliku NPP\plugins\Config\CustomizeToolbar.btn
z definicjami dla paru przycisków:
Edycja,Tablica znaków Edycja,Tablica znaków, Edycja,Tablica znaków,, Edycja,Tablica znaków,,, Edycja,Tablica znaków,,,z_ascii.bmp Ustawienia,Ustawienia...,,,z_config.bmp Ustawienia,Skróty klawiszowe...,,,z_shortcut.bmp Wtyczki,Color Picker,Color Picker,,../../../wspolne/z_color1.bmp Wtyczki,Quick Color Picker +,Enable Quick Color Picker,,../../../wspolne/z_color2.bmp Wtyczki,Color Picker,Color Picker,,ikonki/color1.bmp Wtyczki,Color Picker,Color Picker,,/ikonki/color1.bmp Wtyczki,Color Picker,Color Picker,,./ikonki/color1.bmp
Wskazówki#
Ważnym jest, że w przeciwieństwie do konfiguracji menu kontekstowego Obszaru edycji, tutaj w deklaracjach przycisków wszystkie nazwy z Paska menu należy podawać zgodnie z aktualnie wybranym tłumaczeniem (bezpośrednie odwołanie do numeru ID polecenia nie jest wspierane przez wtyczkę). Ponadto trzeba zachować precyzję z dokładnością do jednego znaku w nazwie (nawet białego, np. spacji). W przeszłości zdarzało się, że w polskim tłumaczeniu niektórym poleceniom niepotrzebnie dostawiano znaki spacji na końcu ich nazw, np. "Tablica znaków "
. Patrząc jedynie na GUI programu jest to niemożliwe do wykrycia, a próba utworzenia definicji bez tej jednej spacji oczywiście powodowała pojawienie się przycisku z domyślną ikonką szarego młotka. Uczulam przed tego typu kwiatkami.
Kolejnym # problemem mogą być notoryczne zmiany w polskim tłumaczeniu. Jeśli przy aktualizacji NPP niechcący lub świadomie usuniemy plik NPP\nativeLang.xml
to otrzymamy aktualną wersję tłumaczenia. Kłopot polega na tym, że z niewiadomego mi powodu, niektóre osoby ciągle gmerają w polskim tłumaczeniu, niekiedy zmieniając już utrwalone nazwy ich analogicznymi wersjami, np. Ustawienia vs Preferencje
, Pluginy vs Wtyczki
, Skróty klawiaturowe vs Skróty klawiszowe
, można wymieniać bez końca. Jeśli w definicjach przycisków korzystaliśmy ze zmienionych nazw to staną się one nieprawidłowe i w zamian otrzymamy przyciski z domyślną ikonką szarego młotka. W razie problemów należy skorygować definicje dla wszystkich niedziałających przycisków.