Jump to content

Projekty Userow


Guest amdfanatyk
 Share

Recommended Posts

  • 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
Link to comment
Share on other sites

  • 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.

Link to comment
Share on other sites

  • 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
Link to comment
Share on other sites

-  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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...