Skocz do zawartości

Projekty Userow


Gość amdfanatyk

Rekomendowane odpowiedzi

  • 6 months later...

Udalo mi sie napisac cos przydatnego pod GTK+ 3 to sie tez pochwale :)

 

GSTranslator - to prosty translator dla Gnome3. Po przesiadce z KDE nie moglem znalezc niczego co by dzialalo podobnie do translatoida to postanowilem sam cos napisac. W tej chwili do tlumaczenia wykorzystuje:

- Google Translate,

- sjp.pwn.pl (bardzo podstawowy parser. Dziala, ale trudno zrobic cos zawsze skutecznego, kiedy strona PWN wyglada tak http://validator.w3.org/check?uri=http%3A%2F%2Fsjp.pwn.pl%2Fszukaj%2Fdupa&charset=%28detect+automatically%29&doctype=Inline&group=0 ),

- OneLook (trzeba wyczyscic smieci na wyjsciu, które udaja specjalne znaki z XMLa...).

 

Translatoida uzywalem bardzo czesto, wiec mysle, ze wielu ludziom moze sie przydac GSTranslator pod Gnome :)

Korzystajac z tego, ze G3 umozliwia latwe nagrywanie pulpitu przygotowalem prezentacje, zeby kazdy mógl bez meczenia sie z kompilacja ocenic czy przyda mu sie taki program.

 

Prezentacja wideo:

Download: http://dl.dropbox.com/u/1050707/gstranslator-0.1.tar.gz (na razie tylko dropbox, ale wkrótce bedzie po ludzku na SourceForge czy czyms innym)

 

Zaleznosci (do kompilacji potrzebne devele):

- gtk3,

- json-glib,

- libxml2,

- libnotify,

- libcurl,

- keybinder-3.0.

Nie kompilowalem programu na Fedorze, ale jedyny problem bedzie z keybinderem, bo jeszcze nikt na Fedorze nie zbudowal wersji dla GTK+ 3... W kojim tez jest tylko wersja dla GTK+ 2. Nie wiem dlaczego jeszcze nie ma tej biblioteki w nowej wersji, ale wyglada na to, ze o niej zapomnieli. W takim wypadku trzeba skompilowac samemu zgodnie z opisem na stronie autora https://github.com/engla/keybinder/ a tarball jest do sciagniecia z https://github.com/engla/keybinder/tarball/keybinder-3.0

 

Ustawienia skrótów klawiszowych:

Na razie jeszcze nie ma ustawien graficznych i trzeba wyedytowac plik recznie. Przy pierwszym uruchomieniu w pojawi sie ~/.config/gstranslator/config.xml, w którym trzeba zmienic na dowolne kombinacje (np. <ALT><CTRL>A) i restart program, zeby wczytal ustawienia.

 

TODO:

- obsluga wszystkich jezyków z Google Translate,

- dopisanie graficznych ustawien,

- wyczyszczenie wyjscia z OneLook z tych krzaczków,

- poprawienie na tyle, ile mozna tego SJP.

- zalatanie malych wycieków pamieci (nie ogarniam tego zarzadzania pamiecia w C ;) ),

- dorobienie jakiejs ikonki (moze ktos chcialby w tym pomóc?),

- lepsza obsluga bledów (np. curla, który potrafi zawiesic caly program),

- napisanie jakiegos Gnome Extension, który umozliwialby wprowadzanie slów,

- zbudowanie pakietu dla Fedory i Archa (w tym pierwszym mam nadzieje, ze ktos pomoze),

- ikonka w system trayu, do której bedzie mozna minimalizowac program itp.

To ostatnie jest w G3 troche problematyczne, bo jakby ten caly tray dziala inaczej i ma chyba nieco inne przeznaczenie niz w G2. Przykladowe kody z GTK+ 2, nie do konca dzialaja tak jak nalezy w G3. Ogólnie to jeden z niewielu przepisanych na G3 programów, uzywajacy ikonki statusu, czyli Rhythmbox wlasnie nie ma tych funkcji. Musze poczekac, az ktos cos wymysli.

 

Jesli ktos chcialby dolaczyc i pomóc mi w wprowadzeniu tych zmian z TODO to bylby fajnie. Jezyk to C.

  • Upvote 3
Odnośnik do komentarza
Udostępnij na innych stronach

  • 7 months later...

To i ja się podzielę :)

 

Napisałem programik, który ma ułatwiać korzystanie z kadu kilku osobom naraz. Kiedyś było coś takiego, ale do nowszych wersji nie mogłem znaleźć (nie szukałem zaciekle, stwierdziłem, że to dobra okazja do zerknięcia na pyqt).

 

Skrypt napisany w pythonie, z wykorzystaniem pyqt. Właściwie wszystko sprowadza się do wywołania jednego polecenia, ale jest GUI (w języku angielskim, ale raczej trudno się pogubić), więc może się komuś przyda ;)

 

 

https://github.com/s...6/Kadu-profiles - z góry dziękuję za sugestie/zgłoszenia błędów.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 years later...
  • 4 months later...

KFUpgrade - prosta nakładka na FedUp, pozwalająca zaktualizować system do nowszej wersji.

 

Nieco rozgoryczony postawą Red Hata/Fedora Team jeśli chodzi o GUI dla aktualizacji systemu do nowszej wersji za pomocą FedUpa, postanowiłem w ramach przekłuwania nauki Javy, napisać własne GUI. Niestety czekam na GUI od Fedory 18, bo ma ono się pojawić, ale oficjalne stanowisko jest takie: "(...)only the fedup command-line interface is implemented but a GUI interface is expected...sometime."

 

Aplikacja została napisana w Javie i jest tak naprawdę ni mniej, ni więcej, jak graficzną nakładką z przyciskami, które wołają Xterma z parametrami. Za pomocą programu, można FedUpem ściągnąć pliki aktualizacyjne do wersji: Fedora 19/20/21 (Alfa). Potem restart systemu i puszczamy aktualizację, ciesząc się nową Fedorą :)

 

Nie jest to nic szczególnego, wygląda nieco ascetycznie, ale robi co ma :) Prędzej czy później Red Hat napisze jednakże własne GUI, więc nie było potrzeby tworzyć nowego koła. Planowałem stworzyć RPM, co by odciążyć użytkownika od ręcznego rozpakowywania archiwum i instalowania zależności, jednak to już nie poszło tak płynnie - może ktoś doświadczony będzie miał kaprys na stworzenie paczki, bądź mnie samemu się kiedyś uda ;)

 

Licencja GPLv3.

 

Program do działania wymaga:

 

- zainstalowanej Javy (Oracle bądź OpenJDK)

- zainstalowanego Xterm

 

Tar.gz: https://dl.dropboxusercontent.com/u/1039704/KFUpgrade-v1.0.1.tar.gz

 

Wygląda to tak:

 

1znrajd.png   qnjuyt.png

 

EDIT:

 

Projekt poszedł nieco do przodu, a adres repozytorium na Dropboxie, skąd można pobrać spakowaną aplikację to: https://www.dropbox.com/sh/w9v532fjjyk4tkd/AACETSr8tDBXIXNa6XYcYwCQa?dl=0

  • Upvote 1
Odnośnik do komentarza
Udostępnij na innych stronach

-  Twoje zaleznosci to nie problem :)

Java zazwyczaj domyslnie jest zainstalowana, a xterm zawsze mozna doisntalowac jak cos.

 

- Zamiast paczki rpm mozesz zrobic skrypt instalacyjny, (w tym takze instalujacy zaleznosci)

choc wydaje mi sie to zbedne skoro apka dziala jako portable z kadego miejsca

 

- Gdybys chcial zrobic plik .spec mozesz to zrobic cos w tym stylu...

Zacznij od stworzenia ikonki do menu

 

 

kfupgrade.desktop  przyklad

[Desktop Entry]
Encoding=UTF-8
Name=KFUpgrade
Exec=xdg-open /opt/KFUpgrade/start.sh
Icon=/opt/KFUpgrade/KFUpgrade.png
Terminal=false
Type=Application
GenericName="KFUpgrade"
Categories=System;Settings;
Encoding=UTF-8
StartupNotify=true

* zalozylem ze aplikacja bedzie instalowana w /opt/

* zalozylem ze ikonka/obrazek bedzie w /opt/KFUpgrade/

Zrob jeszcze ikonke/obrazek do tego.

Przykladowe ikony znajdziesz w /usr/share/icons/

 

Po instalacji kfupgrade.desktop powinno znalesc sie w /usr/share/applications/

Tam tez znajdziesz przyklady plikow .desktop

 

Teraz mniej wiecej objasnie jak ja bym zrobil plik spec

# %pre
# nie bedzie potrzebne



# %build
# nie bedzie potrzebne



%install
#  W ten sposob usuwasz folder z nazwa paczki z katogu BUILDROOT, chyba...
rm -rf $RPM_BUILD_ROOT
 
#    Zakladam ze juz automatycznie jestem w katalogu BUILD,
#    Wyzej przy zaleznosciach mozna "zasugerowac" to w ten sposob -->     BuildRoot: %{_tmppath}
 
# Najpierw stworzymy katalogi /opt/ i /usr/share/applications/
 mkdir -p $RPM_BUILD_DIR/usr/share/applications
 mkdir -p $RPM_BUILD_DIR/opt
 
 # Teraz musze sie dostac do katalogu /opt aby sciagnac i rozpakowac aplikacje
cd $RPM_BUILD_DIR/opt
wget https://dl.dropboxusercontent.com/u/1039704/KFUpgrade-v1.0.tar.gz
# Zeby korzystac z komendy wget, trzeba pierw zainstalowac wget
tar -zxvf KFUpgrade-v1.0.tar.gz
 
# A teraz sobie przeniesiemy plik *.desktop do odpowiedniejszego katalogu
mv $RPM_BUILD_DIR/opt/KFUpgrade/kfupgrade.desktop $RPM_BUILD_DIR/usr/share/applications/
 
# No dobra, skoro mamy juz wszystko gotowe to trzeba to przeniesc do folderu BUILDROOT
# Zaczniemy od stworzenia folderu z nazwa paczki
mkdir $RPM_BUILD_ROOT
# No i kopiujemy pliki z BUILD do BUILDROOT/nazwa_paczki/
cp -R $RPM_BUILD_DIR/opt $RPM_BUILD_ROOT/
cp -R $RPM_BUILD_DIR/usr $RPM_BUILD_ROOT/
 
# plikowi *.desktop mozemy dac prawa do wykonywania sie
chmod a+x %{buildroot}/usr/share/applications/kfupgrade.desktop
 

# Dobra teraz w katalogu BUILDROOT mamy struktore plikow ktora zostanie zainstalowana
 
# Mozemy jeszcze cos zrobic - ale nie musimy, co pozwoli naszej aplikacji wykonac sie z terminala
export PATH=$PATH:/opt/KFUpgrade/start.sh
# cos w tym stulu, wez zerknij w google, bo mam wrazenie ze to nie zadziala,
#  a po drugie komenda start.sh by glupio brzmiala, proponuje zmienic nazwe pliku.
 
 
#  Usuwanie tego "PATH" przy odinstalowaniu paczki
%postun
PATH=$(IFS=':';p=($PATH);unset IFS;p=(${p[@]%%*/KFUpgrade/*});IFS=':';echo "${p[*]}";unset IFS)
# Mozna tu jeszcze dodac
%{clean_menus}
%{clean_desktop_database}
 
# A do "po instalacjii"
%post
%{update_menus}
%{update_desktop_database}

Taki plik spec nie potrzebuje

" Source0:    %{app_name}-%{version}.tar.xz "

Poniewaz komenda wget pobierze plik.

 

Edytowane:

Poprawilem linijke
chmod a+x %{buildroot}/usr/share/applications/kfupgrade.desktop

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...