Tak się złożyło, że wczoraj wyłączyłem komputer na noc. Dzisiaj po włączeniu chciałem na dashboardzie zobaczeć nowego garfielda i dilberta i już zapomniałem jak cholernie wolno się dash wczytuje za pierwszym razem! Przejrzałem wszystko co na nim mam i zauważyłem, że część rzeczy używam w określonych sytuacjach np. jak tworzę stronę internetową to potrzebuję kuler'a, lorem ipsum, image shacke i parę innych, które na codzień nie są mi potrzebne.
Poza wolnym działaniem dochodzi bałagan przy dużej liczbie.
Zacząłem szukać czegoś jak VirtueDesktops ale dla dashboarda - niestety poza obaloną ploką, że Leo ma takie coś zawierać nic nie znalazłem. Więc jak zwykle muszę sam coś wykombinować. I wykombinowałem.
Widgety są w pewnym sensie kompatybilne z safari. Więc zrobiłem sobie dwie strony: jedna z widgetami pomocnymi w programowaniu a druga z pomocnymi w grafice. Jak tworzę stronę to po prostu uruchamiam pseudo dashboard tematyczny w safari.
Jak to zrobić? Na przykładzie kuler'a:
1. Robimy gdziekolwiek plik np. dash.html
2. Sciągamy do tego katalogu ten skrypt: http://clonedoppelga...pt/Draggable.js
3. Edytujemy dash.html i wpisujemy:
<html> <body style="background-image: url('/Library/Desktop Pictures/Aqua Blue.jpg')"> <script type="text/javascript" src="./Draggable.js"> </script> <!-- tu widgety --> <script type="text/javascript" language="javascript" charset="utf-8"> <!-- tu przeciąganie --> </script> </body> </html>
4. Wchodzimy do katalogu z widgetami użytkownika: /Users/NAZWA_USERA/Library/Widgets
Lokalizujemy kuler.wdgt i prawy klik, Show package contents
W okienku, które się otworzy dwuklik na Info.plist. W gałęzi ROOT interesuje nas wartość width, height i MainHTML.
5. Wracamy do edycji dash.html
Pod linijką "tu widgety" piszemy ():
<!-- poniższa linijka to nowa sekcja z widgetem, parametry do zmiany to margin-left i margin-top aby ustawić pozycję startową widgeta, oraz nazwa identyfikacji (id) --> <div id="kuler" style="position:absolute; margin-left: 200px; margin-top: 200px;"> <!-- tutaj dodajemy uchwyt do przenoszenia widgeta --> <div style="border: medium groove black; width: 20px; height: 20px;"></div> <!-- data: to sciezka do widgeta zakonczona wartością MainHTML z Info.plist (zmiencie też "grzegor" na swój login w systemie) width i height też bierzemy z Info.plist, ale dajemy trochę większe (metoda prób i błędów, lepiej nie dawać od razu duuużo większego na wszelki wypadek --> <object data="file:///Users/grzegor/Library/Widgets/kuler.wdgt/KulerWidget.html" width="260" height="280" ></object> <!-- zakonczenie sekcji z danym widgetem --> </div>
6. Pod linijką "tu przeciąganie" wpisujemy
new Draggable('kuler');
gdzie ('kuler') zawiera nazwę taką samą jaką wcześniej wpisaliśmy w
7. Każdy nowy widget to powtórzenie kroków 4 - 6 i zmiana położenia startowego nowego widgetu.
To tyle
Ponieważ Safari nie obsługuje niektórych funkcjonalności widgetów to nie wszystkie będą poprawnie działać. Ja musiałem np. zmienić najpopularniejszy lorem ipsum na inny o podobnej funkcjonalności. Generalnie problem jest z widgetami, które zmieniają swój rozmiar a dane w nich są pozycjonowane względem dołu lub prawej krawędzi. Także przeciąganie za zawartość nie działa więc trzeba do każdego dawać ten uchwyt. Ale za to uzyskujemy dużo wolnego miejsca na dashu i szybsze właczanie. Można dodać dash.html do paska na safari, żeby w razie potrzeby szybko go uruchomić albo po prostu klikać dwa razy na niego.
Mam nadzieję, że się komuś to przyda.