Zaloguj się
Projekty Kategorie Archiwum
9 października

Z cyklu wstawmy-komponent-i-zobaczmy-co-wyjdzie*: Kolejna wtyczka do Makagigi, która właśnie powstaje... Jest to prosty klient VNC, za pomocą którego można sterować innym komputerem poprzez sieć.

Screenshot

Windows Vista w kartach...

Free Image Hosting at www.ImageShack.us

Czytaj dalej...

8 października

Wtyczka umożliwia wysłanie dowolnego tekstu prosto do serwisu wklej.org. Następnie za pomocą unikalnego klikalnego linku, który dostaniemy z powrotem, możemy podzielić się naszym tekstem z innymi użytkownikami. Zobaczymy co z tego wyjdzie ;) Jak na razie pierwsza wersja beta 0.9 działa nadzwyczaj dobrze, a przynajmniej sprawia takie wrażenie..

Wymagana Makagiga 2.9.3 lub nowsza. Aby zainstalować, wejdź w menu Narzędzia -> Wtyczki -> Pobierz więcej wtyczek...

Screenshot

Free Image Hosting at www.ImageShack.us

2 września

Makagiga jest ładniewyglądającym programem, który pomaga w tworzeniu notatek oraz list-rzeczy-do-zrobienia. Działa na różnych systemach operacyjnych i jest w pełni przenośny. Istnieje możliwość łatwego doinstalowania nowych wtyczek lub wyłączenie nieużywanych, dzięki czemu aplikację można idealnie dostosować do własnych potrzeb :)

Tradycyjnie finalna wersja 3.0.0 ukaże się pod koniec roku.

Pobierz (paczki deb, rpm, zip, exe; "certyfikowane" dla KDE/GNOME, Windows XP/Vista, OpenSolaris)

Jak zrobić poniższy formularz?

Free Image Hosting at www.ImageShack.us

Bardzo prosto..

<EXCEPRT>
import org.makagiga.form.*;
public class Test implements Runnable {
	public static void main(String[] args) {
		javax.swing.SwingUtilities.invokeLater(new Test());
	}
	public void run() {
		LoginForm form = new LoginForm();
		Factory.Content content = Factory.newDialog(null, form);
		if (content.getDialog().exec())
			System.err.printf("user=%s, password=%s, remember=%s\n",
				form.user, form.password, form.remember);
	}
	
	@Form(label="Login")
	static class LoginForm {
		
		@Field(label="Username:", required=true)
		String user;
		
		@Field(label="Password:")
		char[] password;
		
		@Field(label="Remember password", style="color:green; font-size:smaller")
		boolean remember;

	}

}

Analizę działania programu, pozostawiam czytelnikowi jako zadanie domowe ;)

3 marca

Zgodnie z obietnicą publikuję "df reloaded". Jest to prosty program, który wyświetla wolne/zajęte miejsce na dysku... Może komuś się przyda ;)

Uruchom

Jeśli otworzy się strona http://java.com, to znaczy że nie masz Javy 6, albo z jakiegoś tajemniczego powodu nie została wykryta :P Wtedy możesz spróbować uruchomić poprzez alternatywny launcher.

Screenshot

df

Techniczne

Czytaj dalej...

Makagiga

Właśnie została wydana kolejna stabilna wersja 2.0. Zmian jest dużo. Tak dużo, że aż trudno wymienić ;)

*) Trochę marketingowego bełkotu nie zaszkodzi :)

12 listopada

Makagiga 1.9.3 jak zawsze przynosi wiele poprawek, więc warto się uaktualnić :)

Pojawiły się również dwie nowe wtyczki: Logo Generator oraz "skórka" Substance 4.1. Pluginy można zainstalować poprzez menu Narzędzia -> Wtyczki -> Pobierz więcej wtyczek.

Generator logo, w porównaniu do starej wersji, zawiera trochę nowości:

  • Obsługa różnych stylów czcionki (pogrubienie, pochylenie itp.)
  • Możliwość zapisu przezroczystego PNG (bez tła)
  • Drukowanie loga
  • Kopiowanie obrazka do schowka
  • Eksport to HTML
  • Spolszczenie aka polskie napisy

BTW, Makagiga to aplikacja typu PIM + czytnik RSS + widgety.

Niedawno zmieniłem też stronę domową projektu. Nie dość, że wygląda trochę dziwnie, to na dodatek ma zielonego klona ;)

10 listopada
Free Image Hosting at www.ImageShack.us
26 lipca

Dzisiaj zrobiłem kolejny widget dla Makagigi 2 (może nawet zadziała pod Glossitope ;) Sposób użycia jest prosty: wybieramy obrazek/zdjęcie z dysku, oraz opcjonalnie ustawiamy kolor tła.

*

*) Obrazki autorstwa yipyop; kot znajomych :)

Jeśli wszystko pójdzie dobrze, to Makagiga 2.0 Beta 1 (aka 1.9 Beta) pojawi się już w tym tygodniu.

24 lipca

Na podstawie End of Lech Kaczynski presidency Counter, zrobiłem nowy widget do Makagigi 2:

EOL

Skoro jesteśmy już przy prezydencie, to jeszcze ciekawostki z angielskiej Wikipedii. W "See also" jedynym linkiem jest... zgadujcie! ;) Natomiast w historii zmian ktoś napisał "I've changed photo, because it was photo of Jarosław Kaczyński" :)

8 lipca

Jak na razie cały kod odpowiedzialny za generowanie wykresu, został włączony do projektu Makagiga 2.0 (jako niezależna biblioteka), i obecnie służy do wyświetlania różnorakich statystyk w programie.

Wiem, wiem, wersja cywilna generatora miała być już jakieś pół roku temu, ale jak zwykle występują opóźnienia (podobnie jak z DNF). Na szczęście projekt żyje i nadal się rozwija, więc nie ma się czym martwić :)

29 czerwca

Po przeczytaniu notki na temat XUL-a stwierdziłem, że mój namespace dla rozszerzeń GHNS nie jest zbyt ciekawy. Tak więc powstała nowa przestrzeń nazw...

http://makagiga.org/damn.good.coffee/hot/ (to nie link)

Kto rozszyfruje wszystkie ukryte znaczenia? ;-)

18 maja

Tango*:

Oxygen (wersja z SVN)**:

* Ikona RSS jest z Oxygena

** Niektóre ikony mogą wyglądać koślawo z powodu niedopracowanego skalowania w-dół

*** Tags i Tools ma ten sam mnemonic (co za idiota to robił? ;)

[javac] Compiling 512 source files...

Przy okazji pokażę jak wyglądają nowe widgety z projektu Glossitope (dawniej AB5k), uruchomione pod Makagigą 2.0:

Free Image Hosting at www.ImageShack.us

Krótka, zabawna prezentacja Glossitope (video i PDF) na blogu autora :)

14 marca

Prawie miesiąc temu napisałem, że "Makagiga 1.2 pojawi się najpewniej w tym tygodniu", no i zgodnie z obietnicą, jest w tym tygodniu ;) W stosunku do poprzedniego wydania lista zmian nie jest imponująca, jednak warto zrobić upgrade, ponieważ diabeł tkwi w szczegółach :)

Obecnie gałąź 1.x nie jest już rozwijana (będą tylko poprawki do 1.2.x). Ale nie ma się czym martwić, ponieważ od kilku tygodni trwają intensywne prace nad wersją 2.0 (codename Skyfish)...

Dzisiaj zrobiłem wtyczkę do obsługi widgetów AB5k. Na razie w wersji alpha, ale jakoś działa :) (Color Chooser - z prawej strony)

Free Image Hosting at www.ImageShack.us Free Image Hosting at www.ImageShack.us

Wygląd zapewniony dzięki Substance Java look & feel, z różnymi ustawieniami i schematami kolorów.

Free Image Hosting at www.ImageShack.us

Czytaj dalej...

7 lutego

Tym razem nowa wersja wyszła niespodziewanie szybko (sam jestem zaskoczony). Oto skrócona lista zmian:

Czytaj dalej...

23 grudnia

Wersja 1.0 jest już faktem autentycznym ;-)

Todo

Wtyczki

Powstała specjalna strona z wtyczkami. Jak widać wymaga jeszcze dopracowania (brakuje wyszukiwarki, jakiegoś sortowania, itp.), ale na początek wystarczy...

SDK

SDK to zestaw narzędzi pomocnych w tworzeniu nowych wtyczek do Makagigi. Po uruchomieniu "./start.sh", wyświetli się okno, z którego można utworzyć nowy projekt. Wystarczy podać typ wtyczki (widget, szukanie w internecie, itp.), preferowany język programowania (Java lub JavaScript) oraz nazwę. Następnie, po przejściu do katalogu z nowym projektem, należy uruchomić "ant test". Reszta opisu w pliku README.txt :-)

11 grudnia

Pojawiła się Java 6, czyli teraz w końcu mogę wydać wersję 1.0 Makagigi :) Muszę tylko zaczekać na niemieckie tłumaczenie programu, oraz dokończyć SDK, co potrwa z tydzień lub dwa ;)

26 listopada

Przed chwilą napisałem sobie fajną wtyczkę do Makagigi. Wtyczka umieszcza przycisk "Wyślij" w edytorze tekstu. Wciśnięcie przycisku, powoduje dodanie nowego wpisu (przy użyciu Bota, DCOP i Kopete). Jako tytuł używana jest nazwa pliku...

Send

PS. Dzięki nowemu SDK, całość programu pisałem około 3 minut... :-)

Kategoria Java | Makagiga | WWW
18 listopada

Kolejna wersja jak zwykle przynosi trochę nowości i poprawek:

  • Opcja pobierania kanałów RSS przy starcie aplikacji
  • Opcja automagicznego pobierania wszystkich kanałów RSS co pewien czas
  • Teraz każdemu artykułowi z kanału Atom/RSS można przyporządkować tagi, kolor, ikonę, kolor lub ocenę
  • Funkcja zmiany rozmiaru obrazka
  • Lepsze podsumowanie zadań
  • Ulepszony pełnoekranowy "tryb prezentacji" (Ctrl+Shift+P)
  • Ikona tacki systemowej jest tymczasowo wyłączona pod KDE, ze względu na bug w Javie :(
  • Dużo mniejszych poprawek i ulepszeń

Na screenshocie wtyczka czytnika kanałów z jakimś fajnym blogiem...

Free Image Hosting at www.ImageShack.us

PS. To już ostatnia Beta. Wersja z SVN ma już magiczny numer wersji "1.0" :-)

Free Image Hosting at www.ImageShack.us

16 października

Free Image Hosting at www.ImageShack.us

W końcu dodałem brakującą funkcję skalowania obrazu, która pojawi się w następnej wersji 0.9.6 :) Kiedyś zrobię jeszcze możliwość podawania wartości w procentach oraz "batch processing", czyli zmianę rozmiaru wielu plików za jednym razem.

Ostatnio zapomniałem (czyt. nie-chciało-mi-się) napisać o tym, co nowego w wersji 0.9.4 i najnowszej 0.9.5, ale zrobię to wkrótce..

No to teraz chyba przestanę używać Digikam ;)

13 września

To po prostu zabytkowy komponent Acrobat Viewer for JavaBean, osadzony jako wtyczka do odczytu plików PDF. Taka ciekawostka... Niestety ten komponent jest dość niestabilny i brzydki :)

Free Image Hosting at www.ImageShack.us

7 sierpnia
Makagiga od wersji 0.9.4 będzie posiadać dodatkowy zestaw ikon. Obok domyślnego Crystal SVG będzie również popularne Tango :)

Jedna ze standardowych wtyczek do Makagigi, która to chyba miała pierwotnie służyć do rysowania, teraz szybko zmienia się w przeglądarkę zdjęć...

Zaznaczenie

Teraz można zaznaczyć fragment obrazu. Po zaznaczeniu od razu pojawia się menu z poleceniami, które na pewno chciałeś użyć ;-)

Free Image Hosting at www.ImageShack.us

Filtry

Trochę filtrów do zmiany gammy, jasności, wyostrzania lub rozmywania obrazu, itp.

Free Image Hosting at www.ImageShack.us

Inne

  • Funkcja drukowania i podgląd wydruku
  • Informacje o obrazie (jest nawet "ukryta" funkcja kopiowania jako HTML, zrobiona specjalnie dla mnie :-)
  • Kadrowanie zaznaczonego fragmentu
  • Obracanie obrazu
  • Powiększanie/pomniejszanie obrazu (przyciski "+" i "-")

Do zrobienia jeszcze w wersji 0.9.4 Beta

  • Skalowanie obrazów do wybranego rozmiaru (najlepiej od razu wszystkich zaznaczonych plików)
  • "Auto Zoom", czyli automatyczne dopasowywanie się obrazu do wielkości okna
  • Odczyt/zapis metainformacji z obrazu (komentarz, parametry zdjęcia, etc.)
  • Skróty klawiszowe do najczęściej używanych filtrów (np. "G" - zmiana gammy, itp.)
21 czerwca

Makagiga 0.9.4 (SVN) potrafi teraz obsługiwać wtyczki całkowicie napisane w JavaScripcie. Każda taka wtyczka musi składać się z przynajmniej dwóch plików...

Plik 1. - Informacje o wtyczce

Pierwszy plik to "plugin.properties", który zawiera informacje o wtyczce. Minimalny plik musi zawierać jedynie 4 pola: String.id, String.name, String.type i String.scriptName. Przykład:

# "id" musi być unikalne. Można użyć polecenia "uuidgen" w Konsoli Makagigi.
String.id={831dacaf-badf-4d6f-8a4f-676b7da9402f}

# Nazwa wtyczki
String.name=Weather
String.name[pl]=Pogoda

# Typ wtyczki (widget, internetsearch, etc)
String.type=widget

# Nazwa pliku z głównym skryptem
String.scriptName=pogoda.js

Plik 2. - Skrypt

Gdy już mamy "plugin.properties", czas na napisanie skryptu. Tworzymy plik "pogoda.js" i zapisujemy go w tym samym miejscu co "plugin.properties". Przykładowy skrypt wyświetlający mapę pogody... (każdy kto nigdy nie programował w Javie, a pisał coś w JavaScripcie, powinien mniej więcej wiedzieć o co chodzi ;)

importPackage(org.makagiga.commons); // MLabel, MPanel, etc
importClass(org.makagiga.desktop.Widget);

var pogoda;

function wczytaj(dzien) {
	var adres = "http://www.se.com.pl/Iso/dzisiaj/Mapki/" + dzien + ".gif";
	pogoda.setImage(adres);
}

// ta funkcja wykonywana jest, gdy użytkownik dodaje nowy widget
function onCreate() {
	var widget = new Widget("Pogoda"); // utwórz nowy widget
	
	pogoda = new MLabel();
	// umieść obrazek "na środku" widgeta
	// "MScrollPane" doda paski przewijania
	widget.addCenter(new MScrollPane(pogoda));
	
	var przyciski = MPanel.createHBoxPanel(); // panel z przyciskami
	
	// pogoda na dziś
	var dziś = new MButton("Dziś");
	dziś.onClick = function() { wczytaj("dzis"); }

	// pogoda na jutro
	var jutro = new MButton("Jutro");
	jutro.onClick = function() { wczytaj("jutro"); }
	
	// link do strony SE
	var stronaDomowa = new MURLButton("Strona Domowa", "http://www.se.com.pl");

	// dodaj panel z przyciskami
	przyciski.add(dziś);
	przyciski.add(jutro);
	przyciski.addStretch();
	przyciski.add(stronaDomowa);
	przyciski.addGap();
	widget.addSouth(przyciski);
	
	wczytaj("dzis"); // wczytaj dzisiejszą pogodę
	
	return widget;
}

Instalacja

Uwaga: Podany poniżej sposób instalacji, będzie niedługo znacznie prostszy i bardziej zautomatyzowany :)

Teraz wrzucamy powyższe dwa pliki do katalogu "~/.makagiga/plugins/{831dacaf-badf-4d6f-8a4f-676b7da9402f}" ({831dacaf-badf-4d6f-8a4f-676b7da9402f} musi być takie same jak w pliku plugin.properties) i po restarcie aplikacji mamy nowy, własnoręcznie wydziergany widżet :)

Free Image Hosting at www.ImageShack.us

Kategoria Java | Makagiga
12 czerwca

W wersji 0.9.4 (SVN) dodałem nową wtyczkę - Kosz. Dowolne pliki można przenieść do kosza za pomocą drag&drop, lub poprzez wybranie przycisku "Move To Trash" w oknie potwierdzenia. Pliki znajdujące się w koszu można edytować i przeglądać (bug czy feature? ;-). Wyciąganie z kosza aktualnie możliwe jest tylko via drag&drop (potem dodam jakieś menu).

Kosz

Może usunąć przycisk "Delete" i zostawić tylko "Move To Trash"?

Intro

Od wczoraj Makagiga (wersja z SVN) ma w niektórych miejscach wbudowaną eksperymentalną obsługę skryptów. W praktyce oznacza to, że można zmienić daną funkcję programu dosłownie dwoma kliknięciami. Bez rekompilacji, bez szukania plików źródłowych, bez grzebania w systemie, bez ryzyka, że nasz błąd spowoduje konieczność ponownej instalacji oprogramowania... Wystarczy znajomość JavaScript (i API :P)

Przykład

Kliknij prawym klawiszem na przycisku "Szukaj w internecie" (główny pasek narzędzi). Pojawi się mini IDE, gdzie można edytować i testować (F9) skrypt danej funkcji.

W ramach przykładu zmienimy istniejące okno na bardziej spartańskie (w stylu GNOME :P) W tym celu należy wkleić poniższy kod:

importPackage(org.makagiga.commons);
var text = window.prompt("Szukaj z Google", "Wpisz coś");
if (text)
	OS.launchBrowser("http://google.pl/search?ie=utf-8&oe=utf-8&q=" + TK.escapeURL(text));

I gotowe! Zmiany zapisywane są w plikach ~/.makagiga/scripts/actions/*.js.

user.js - wstęp

Podczas uruchamiania programu, wykonywany jest plik "user.js" (jeśli istnieje). Plik musi znajdować się w katalogu konfiguracyjnym Makagigi (np. ~/.makagiga/scripts/user.js).

user.js - przykład

importClass(org.makagiga.commons.MCalendar);
sidebar.tabPlacement = sidebar.TOP; // karty na górze
sidebar.addTab("Calendar", new MCalendar()); // kalendarz w pasku bocznym

Wynik działania

Później napiszę, jak w 10 minut zrobić samemu "prawie jak JPA" ;)

< Wcześniejsze wpisy

Kategorie

Ewolucja Internetu 8 | Fail 28 | Gry 45 | Humor 124 | Idiotyzm 48 | Java 107 | KDE 83 | KShutDown 22 | Linux 81 | Makagiga 58 Ogólne 792 | Polityka 74 | Programowanie 45 | Reklamy 2 | Techblog 17 | Teorie Spiskowe 11 | TV 55 | UI 2 | Użyteczność 27 | WWW 79 | Wyrwane z Kontekstu 24 | X Files 14

Archiwum

Luty 2012 | Styczeń 2012 | Grudzień 2011 | Listopad 2011 | Październik 2011 | Wrzesień 2011 | Sierpień 2011 | Lipiec 2011 | Czerwiec 2011 | Maj 2011 | Kwiecień 2011 | Styczeń 2011 | Listopad 2010 | Październik 2010 | Wrzesień 2010 | Sierpień 2010 | Lipiec 2010 | Czerwiec 2010 | Kwiecień 2010 | Marzec 2010 | Luty 2010 | Styczeń 2010 | Grudzień 2009 | Listopad 2009 | Październik 2009 | Wrzesień 2009 | Sierpień 2009 | Lipiec 2009 | Czerwiec 2009 | Maj 2009 | Kwiecień 2009 | Marzec 2009 | Styczeń 2009 | Grudzień 2008 | Listopad 2008 | Październik 2008 | Wrzesień 2008 | Sierpień 2008 | Lipiec 2008 | Czerwiec 2008 | Maj 2008 | Kwiecień 2008 | Marzec 2008 | Luty 2008 | Styczeń 2008 | Grudzień 2007 | Listopad 2007 | Październik 2007 | Wrzesień 2007 | Sierpień 2007 | Lipiec 2007 | Czerwiec 2007 | Maj 2007 | Kwiecień 2007 | Marzec 2007 | Luty 2007 | Styczeń 2007 | Grudzień 2006 | Listopad 2006 | Październik 2006 | Wrzesień 2006 | Sierpień 2006 | Lipiec 2006 | Czerwiec 2006 | Maj 2006 | Kwiecień 2006 | Marzec 2006 | Luty 2006 | Styczeń 2006 | Grudzień 2005 | Listopad 2005 | Październik 2005 | Wrzesień 2005 | Sierpień 2005 | Lipiec 2005 | Czerwiec 2005 | Maj 2005 | Kwiecień 2005 | Marzec 2005 | Luty 2005 | Styczeń 2005