maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [M5] Share your code (https://talk.maemo.org/showthread.php?t=94326)

justmemory 2014-12-18 08:47

Share your code
 
3 Attachment(s)
Hi Community!

I had some time to learn programming on my own; I like it, and I made a little script that I wanted to share. Please keep in mind, that I’m not a programmer at all, this is just my hobby.

I thought maybe we could share some of our little apps, codes, experiences to ease our and each others life a bit.

So here is mine.

I know that there are time lapse apps for n900, but I wanted to make my own, so I wrote a little script in python. Keep in mind, that this app represents my personal needs; but hey, you can modify the source code in any level, in any detail! :) I know that the code is probably not that beautiful, but this is my first bigger app with UI.

The program itself:
1. It has a capturing window where you can take pictures with the desired settings; and
2. a converter window, where you can make the time lapse movie. It is working with any jpg pictures in any directory, so if you copy that part of the code to another file, you can make a standalone converter app.

1. The capturing window:

On the left side you can specify the capturing, on the right side there is the viewfinder.
The buttons from left to right, top to bottom:
- “Select device”: you can specify whether you would like to use the front camera or the back camera.
- “Counter”: you can specify the number of picture you would like to be taken. If this is not set, the capturing goes “forever”. When capturing, it is also counting the number of pictures that were taken, eg. if 3 is set as max, then 3 / 1, 3 / 2, etc. If max reached, it stops.
- “Viewfinder”: you can turn the viewfinder on or off.
- “Automatic”: this captures the images within the predefined time intervals you specified with “Select framerate” button. If a maximum number was set with counter, then it stops when that number is reached; if not, then it goes “forever”. Of course you can stop it with hitting the button again; then it stops capturing.
The pictures are taken with the resolution of 640x480 (front camera) and 800x480 (back camera). You can edit this in the source code or make another button for it to be able to specify any other resolution. But keep in mind that taking pictures in higher resolutions is taking more time.
To make the viewing and capturing possible, the viewfinder is turning off when picture is taken, and then it turns on again.
First I added a countdown button to know when it is taking the pictures, but it is efficient only when the pictures are taken with another method, but for that method the viewfinder had to be off all the time, so I removed it.
Now the countdown button is not set, because I found that there is sometimes a +- 1 second difference to the time interval, maybe because of the tracker.
- “Select framerate”: you can specify the time interval (seconds) of picture-taking. Minimum is 4, maximum is 30 seconds, but you can extend it in the source code, or simply replace the picker button with entry widget.
Due to the capturing method you won’t be able to set the minimum lower, because the commands have to be executed (turn the viewfinder off, take the picture, and turn the viewfinder on) and this needs time…
There is the other capturing method I wrote first though; in that way you would be able to capture pictures in every 1, 2, or 3 seconds too, but in that way the viewfinder have to be off completely.
- “Manual”: you can capture pictures by hand, just click the button. The counting of taken pictures is working too.
- “Save as…”: you can specify the folder and the filename of the pictures. The pictures are saved in time format, so the specified filename will be showed before the time tag. Eg. If the filename is “test”, then the name of the saved file will be “test20141217_101543.jpg”
- “PyTimelapseMaker”: opens another window with the video maker.

2. Converter window:

The buttons from left to right, top to bottom:
- “Select folder”: you can specify the folder where the jpg files are. Keep in mind that all of the jpg files will be in the movie. If the folder doesn’t contain any jpg files, a message will be shown.
- “Save as”: you can specify folder and filename. The saved movie will be in avi format, no matter of the name you specify (eg. test.mp4). If you would like to use another format, you have to edit the source code (the converter command).
- “Select framerate”: you can specify the frame rate of the movie; 1 picture is the minimum, 30 pictures are the maximum (per second of course).
- “Select scale”: you can specify whether you would like to use 400x240 or 800x480. You can edit this too in the source code if you would like to extend it. But keep in mind that if the pictures are in low resolution, they won’t be better if you choose higher resolution…
- “Convert”: when everything is set, it creates the movie. There is no progress bar, the button will be “on” during the conversion. When its “light” turns off, the conversion is done.
- “Playback”: you can watch the last movie made. There is no option to select any movie, you have to use a player for that, but the last movie can be watched. If you would like to be able to choose any movie, you have to edit the source code and connect that option to the button.

As you can see, this is quite simple; I just wanted to have a user interface for the commands, so I wouldn’t have to write everything in the terminal every time.

To use the app, you have to install a mplayer that contains mencoder; so you have to compile one yourself, or use the one I’m using. Also you have to install gstreamer-tools to have gst-launch.

Please test it and feel free to tell me your impressions about it.

Cheers,

jm

EDIT: There was a little bug I found - capturing didn't work if you set the counter or the framerate (or both) above 9. Now it works.

EDIT: You can now turn the viewfinder on and off simply hitting the button (no need to the previous "press q in the terminal" option. Note that hitting the button will kill every mplayer that is opened.); and both of the cameras use the v4l2 driver so the picture of the front camera is not greenish and creepy anymore.

Wikiwide 2014-12-18 23:14

Re: Share your code
 
Quick reply...

I can only point to QDialGPS as an example of QML and VirTranSim as an example of GTK-C.

Oh, and I have been doing smaiks as example of HTML+Javascript, but it's far from finished.

And I'm looking at kimi-hildon. Fascinating calendar app... Packed both back-end and front-end into one-package, if I understand it correctly?

Best wishes.

justmemory 2015-01-26 07:29

Re: Share your code
 
1 Attachment(s)
Hi,

I would like to ask for some help:

I'm trying to write a program in which multiple files can be selected, but it is not working in Hildon.

I attached two files (written in python); 'test' is working fine, it uses gtk.FileChooserDialog and set_select_multiple is working (you have to press Ctrl key). But in 'testhildon' multiple selection isn't working, though it 'believes' that it should get filenames, because it creates a list (but it contains only one element of course).

I tried everything that I could possibly think of, I'm trying to look for anserws on the internet for 2 days now, but nothing works. Is it even possible...?

If you have any idea, please share; it would be much appreciated.

Thanks,

jm

Wikiwide 2015-01-26 22:24

Re: Share your code
 
I do not get Python...
http://maemo.org/api_refs/2.1/hildon...Selection.html

Are you sure that Hildon-Python interface uses high enough version of PyGTK? set_select_multiple is available in PyGTK 2.4 and above. Your python file requires pygtk ('2.0').

Thank you. Best wishes.

Wikiwide 2015-01-26 22:38

Re: Share your code
 
I do not get Python...

In python-hildon package, object definitions say that HildonFileChooserDialog has parent GtkDialog. Shouldn't it be GtkFileChooserDialog? Because pygtk on Maemo 5 is version 2.5, and thus already should include GtkFileChooserDialog (introduced in 2.4)

Thank you. Best wishes.
~~~~~~~~~~~~~~~~~
Per aspera ad astra...

justmemory 2015-01-27 07:01

Re: Share your code
 
Thank you, Wikiwide for your answer.

My python version on the phone is 2.5.4, so it should not be a problem, as the GTK version of the script runs just fine.

I use FileChooserDialog in both scripts; set_select_multiple is the option connected only to FileChooserDialog.
I could use gtk.FileChooserDialog - as you see in the attached script -, but in that way I will miss the "hildonish" look, as it opens a gtk window with small fonts, etc (as you can see if you run the script). That is why I wrote that the GTK version is working, but the Hildon version doesn't.

Hildon File Selection was my thought too, but it doesn't work either (or I don't use it in the right way...?), because as I saw these are two different things and I cannot bind them together.

Cheers,

jm

Halftux 2015-01-28 19:00

Re: Share your code
 
Quote:

Originally Posted by justmemory (Post 1458368)
I use FileChooserDialog in both scripts; set_select_multiple is the option connected only to FileChooserDialog.
I could use gtk.FileChooserDialog - as you see in the attached script -, but in that way I will miss the "hildonish" look, as it opens a gtk window with small fonts, etc (as you can see if you run the script). That is why I wrote that the GTK version is working, but the Hildon version doesn't.

For GTK-apps you must use HildonWindow instead of GtkWindow and HildonFileChooserDialog instead of GtkFileChooserDialog.

Look here.

Wikiwide 2015-01-28 22:41

Re: Share your code
 
Quote:

Originally Posted by Halftux (Post 1458559)
For GTK-apps you must use HildonWindow instead of GtkWindow and HildonFileChooserDialog instead of GtkFileChooserDialog.

Look here.

He does all this, in Hildon example. hildon.Window, gtk.Table, hildon.Button, hildon.FileChooserDialog...

The question is, did anybody ever get in Python-Hildon multiple file selection to work? I am hoping that maintainer of Python-Hildon could clarify the matter...
hildon.FileChooserDialog.set_select_multiple(True)

Thank you. Best wishes.

justmemory 2015-04-09 11:05

Re: Share your code
 
3 Attachment(s)
Hi All!

Here is another code I wrote recently.

Please read the description first!

Cheers,

jm

justmemory 2015-05-21 10:48

Re: Share your code
 
2 Attachment(s)
Hi All!

As I described before, the expense tracker application is updated with some statistical function.

Please read the description first!!!

Unzip the python code and the icons to the same folder (I recommend creating a .mywallet folder in /home/user/ or else you have to edit the source code to use the icons of the buttons).

Don't forget that this application is based on my needs; if you do not like something just change or disable that in the source code.

Hope you will find it useful.

Cheers,

jm

justmemory 2015-10-26 15:01

Re: Share your code
 
Hi All!

I have another problem in which maybe someone could help: I'm trying to replace the operator widget in hildon-home with my custom widget.

I know that there is a custom operator name widget but I would like to add my own functions to the widget not just writing predefined texts.

So I tried to analyze the source code of that custom operator name widget and it seems - I do not really know C programming though - that there is no special function for placing the widget in the upper row. And as one of the members here told me hildon-home.c calls the appropriate .so file by hard-coding.

My thought is that if I create a hildon-home widget .so and name it connui-cellular-operator-home-item.so and place it to /usr/lib/hildon-desktop then it should be appear in the upper row (after killall hildon-home of course).

But I'm working in python so it is not that simple. I'm able to create a .so from a python code with cython but even if the widget (.py) is working when I test it in hildon-home, the .so isn't working when I name and place it like I said above.

So I do not know whether it is even possible for hildon-home.c to read a cython made .so (so it is possible to create "operator widget" in python) or it is essential to make the .so from a C source code.

Any idea would be appreciated. Thanks,

jm

dy1ng 2015-10-26 20:05

Re: Share your code
 
1 Attachment(s)
Sidenote to this post:
Some time ago I saw justmemory's desktop and his own-made stuff on it on a hungarian N900 forum.
So I've got buzzed that maybe, just maybe it's possible to me to reduce my desktops number from two to just one with his help. :D
I need a nameday applet, Foreca Weather, and my calendar events display, so I need 2 desks now.
Then we agreed on that that it's would be nice if we can put some custom info from the mentioned apps to the place of the operator's name's place.
With operator name widget, I made the following image of what I'm needed.

So my question to Linux pros is this.
Is it possible to:
- place manualupdate weather info
- place autoupdate number of closing events from calendar
- place autoupdate nameday info
to the place of the operator's name?

pichlo 2015-10-26 21:50

Re: Share your code
 
Quote:

Originally Posted by dy1ng (Post 1486845)
I need a nameday applet, Foreca Weather, and my calendar events display, so I need 2 desks now.

Not to diminish your request which is a very valid and good one, but I have the exact three widgets you mention plus a lot of icons on my single desktop. I can add a screenshot if needed but I will need to censor it first to hide some personal info.

dy1ng 2015-10-27 00:30

Re: Share your code
 
Quote:

Originally Posted by pichlo (Post 1486861)
Not to diminish your request which is a very valid and good one, but I have the exact three widgets you mention plus a lot of icons on my single desktop.

Yep.
I forget to mention that I like my first desktop as it is now.
Just few shortcuts and a nice background, quite a minimal setup. :D
I tried to put everything into one - fits, but too dense to me.
Plus.. memory, memory, memory.. Weather widget eats some for sure, calendar too, so it's would be nice to have an all in one solution for all these stuff.

marxian 2015-10-27 01:59

Re: Share your code
 
The custom operator name widget uses GConf keys to determine what to display in the widget (see connui-cellular-operator-home-item-custom-settings.h). The keys are:

/apps/connui-cellular/operator_name_online
/apps/connui-cellular/operator_name_offline
/apps/connui-cellular/operator_name_connecting

/apps/connui-cellular/operator_colour_online
/apps/connui-cellular/operator_colour_offline
/apps/connui-cellular/operator_colour_connecting

/apps/connui-cellular/operator_shadow_online
/apps/connui-cellular/operator_shadow_offline
/apps/connui-cellular/operator_shadow_connecting

The widget monitors changes in the values of these keys, so you can use a script or other process to update the values and display the information of your choosing in the widget.

justmemory 2015-10-27 03:48

Re: Share your code
 
marxian,

thanks a zillion!!! Now I'm able to write anything into that row (have to test it though but it is working from the command line).

THANKS!

justmemory 2016-05-12 11:04

Re: Share your code
 
3 Attachment(s)
Hi All!

Based on dying's idea I created a script and service to see some useful information and not the operator's name :)

So, as I'm hungarian there is a hungarian version which writes the nameday too...

Installation:
- dependency: sudo, custom-operator-name-widget
- unzip the attached zip file to /opt/onr/ (you have to create onr directory in /opt)
- move the file named 'onr' to /etc/init.d/ make it executable (sudo chmod +x onr) and run the following command in terminal: sudo update-rc.d onr defaults
- move the file named 'onr_startup' to /etc/event.d/. This makes possible to start service automatically after boot.
- edit /opt/onr/GetMoonInfo file 'hemisphere' line (3. line)
- edit /opt/onr/GetWeatherInfo file 'address' line (93. line) - example: http://rss.accuweather.com/rss/livew...B|GB007|LONDON or http://rss.accuweather.com/rss/livew...NY007|NEW-YORK
- run the following command in terminal: sudo /etc/init.d/onr start

What it writes:
- 1. line: time and date
- 2. line: (nameday), number of birthday today, number of events or tasks today (it does not handle repeating events and tasks!), battery level (based on bme; if you have bq27200 feel free to modify the script)
- 3. line: weather now, moon illumination and if waning ("-") or waxing ("+")
- 4. line: weather today
- 5. line: weather tomorrow

If there is a internet connection (cannot test it with mobile net...) it refreshes weather and moon data every 15 minutes (You can modify it in ONR.py script, line 105(this line number is 486 in hun version): time.sleep(whatyouwantinseconds)).
The script runs in every two seconds; you can modify it in line 187 (568 in hun version).
The script checks its' memory usage every minute (you can modify it in line 189 (570 in hun version)) as it raises through time (I do not know why) and restarts itself if it is equal or greater then 3%.

Known bugs:
- sometimes it just freezes (the python script runs though); I do not know why. I suspect it is the hildon-desktop/hildon-home because it happens after waking up the device from locked state. In ths case you have to manually restart it: sudo /etc/init.d/onr restart.
- sometimes it creates a linebreak and shifts the lines lower.

Cheers,

jm

//Edit: If something is not working or you simply do not want the service you can test the python script itself by running it: python /opt/onr/ONR.py or cd /opt/onr then ./ONR.py. If you do this you can see the output so if something is not working it eases debugging (press Ctrl+c for skip).

//Edit2 (2016-05-13 12:26): Corrected moon phases names so it writes the "-" and "+" correctly and don't have the "moon referenced before assignment" error. Please use these if you downloaded the one(s) that I first uploaded.

justmemory 2017-01-30 22:19

Re: Share your code
 
5 Attachment(s)
Hi All!

After some learning and using my previous script I decided to rewrite my "wallet" application for n900.
Please note that I'm not a programmer it is just a hobby for me and all the features represent mainly my needs and my logic.
Bugs can occur so please tell me if there is any.
This is my first .deb package too (it should work but who knows...)...

Description:

The application does not depend on matplotlib and numpy directly. If you do not have those installed you just simply cannot see the graphs.
Important: there is no automatic rollover so if you have some money at the end of the month you have to enter that manually for next month's income (maybe I should add rollover function too).

There are two views available:
- Main view
- Calendar view

Main view:
You can see all expenses, incomes for the current month, and all Savings that you added so far to the database (not just for current month). You can tap all of them.
There is a “speedclock” that shows all expense as percentage of all income.
There is a trend line that shows all expense and all income for the months of the current year.

If you tap on expenses, incomes or savings you can see the detailed view for the current month by category. There is a menu button that shows a graph which represents summarized expense for categories as percentage of all expense for that month.
There is also a button which you can click on and add an entry.
There is the category name, amount of money and if there is a difference (+percentage, -percentage, equal) to previous month for that category. If there were no such expense, income or saving for that category in previous month then there is no text.

There is a difference between expenses, incomes, and savings as for expenses you can add tags. If you tap on a particular category (preferably left side of the screen) then the current row is expanded and you can see the summarized tags and expenses for that tag.

There is an arrow which you can tap and see the very details for that category: on the left side of the window you can see every entry that is in the database. You can change order by tag, day, and expense. On the right side of the window there is a graph that shows summarized expense for tags as percentage of all expense for that category. If you long press on a particular entry you can edit or delete that entry.

For incomes and savings there are no such options (yet) because for incomes and savings you can specify only category. Therefore you can modify these entries in a different way (I shall improve this in the future).

If you want to add an entry you have to tap on the button next to the all expenses label. The date is automatically set to current date. For amount of money you can enter only numbers (do not have to use blue arrow key with keyboard!). You can specify categories in the entry box or if there is any in the database then you select it from the list if you click on the category button. For expenses there is a tag entry and button. If you selected a category then all tags for that category are shown when you click on the tag button. But you can specify new ones in the entry as well. Be aware the latest information will be written to the database (e.g.: you selected a category but want to modify that you can simply choose another one or specify a new one in the entry). In the entry box you always have to press “enter” to store the information.
If everything is set you can click on “save”. If something is missing there will be a warning and no entry will be written to the database. If all data is set then clicking on save button will save that entry to the database and a short message will be shown about that. Important! If you add something to savings then it will be set into expenses as “Saving” category! Be aware that all the latest information are stored so if you click on save button again then it will write those information to the database again. For me the advantage of this is that iIf you would like you can set another entry by changing only category or amount or tag or date. This eases setting more entries with the similar category for example as you have to modify only tag and amount of money. If you do not want to set more entry you only have to press on back arrow. Then you will be taken to the main view and all the data will be refreshed.

Calendar view:
There is a calendar for the particular month. In the calendar you can see expenses, incomes and savings for that day. If you tap on a day then you can see the summarized information for that day – from here all the functions are the same as written in main view. The advantage of calendar view is that if you want to see a particular day or want to add an entry for that day you can do that. In the adding window date is automatically set to that date and all the details are shown for that day if you go to the details window.

There are menu buttons both in calendar view and main view:
- Next month
- Previous month
- Specific month
- A button which you can change the view with
- Settings
- Search

I hope the names are speaking for themselves… (: But here are some details:
- Specific month can be selected between 2016 and 2045
- In settings window you can set currency, default view and an expense which if you add to expenses then it will be automatically set as a saving as well (so you do not have to add that amount to savings).
- You can search for everything and anything in all three databases – no whole words required and capital letter doesn’t matter. Incomes and savings entries can be modified or deleted only this way (for now). Important! If you modify or delete a saving entry, the “connected” expense entry remains the same as before (no automatic modification or deletion done) so you have to manually modify that expense entry as well (and vice versa: if you modify an expense which is technically a saving entry, the saving entry remains…).

Planned features:
- apply details view for incomes and savings
- maybe connect savings and expenses more
- some kind of password protection and/or encryption
- export-import (backup?) functionality
- make multiple edition available (e.g. whole category)
- try to add portrait support – relayout windows on rotation if there is a graph
- more report options (more charts, report between dates, compare years/categories, etc.) suggestions and ideas are welcomed (:
- make add budget option available
- make bill (and maybe reminder?) option available
- make recurring expense/income/saving option available
- maybe draw a new, fancy icon... (:
- automatic rollover between months

Known bugs:
- date selection with hildon.DateButton results segmentation fault when no date selected – i.e. the user taps outside the date selection dialog. This does not happen in the search window though…
- Sometimes warnings are raised – maybe in connection to rotation and matplotlib. E.g.: weakref.py:232 – assertion G_IS_OBJECT failed.
- hildon button relief setting (i.e.: hildon.Button().set_relief(gtk.RELIEF_NONE)) does not always work so it looks like a normal button.


That is all. Hope you will find it useful.

jm

justmemory 2017-04-06 11:35

Re: Share your code
 
2 Attachment(s)
Hi All!

I made some - hopefully - improvements.

- Cleaned the code a bit and used a bit different filestructure,
- Fixed a bug,
- Added password protection.
How this works: password protection is set disabled by default at installation. If you wish to set it then tap on 'Settings' and set it to 'Enabled'. After this it will pop up a window where you can type the password. Then is restarts and now it will ask for the password as a 'login' procedure.

Side notes:
- it uses hashlib so it saves the password as an encrypted 'text';
- if you installed and used previous version then the installation won't hurt you original settings and database but due to the fact that this is my first attempt to achieve this behaviour please create a backup of these (copy /home/user/.maemoneypot/settings.ini and .maemoneypotdb to MyDocs for example). I tried the installation and it worked as it should but who knows...
- changing password is not an option yet - only manually can be changed but would like to add this option soon...

jm

EDIT:// Sorry, there was an issue in the install script and user cannot add record to database; I fixed it now (hopefully).

juiceme 2017-04-06 11:57

Re: Share your code
 
So it hashes the password and saves the hash to a file.
Does the authentication phase then compare a hashed input password against the hash in the file?

What prevents a malicious user to create a hash for a password, replace the hash in file and log in with the new password?

justmemory 2017-04-06 12:10

Re: Share your code
 
Quote:

Originally Posted by juiceme (Post 1526533)
So it hashes the password and saves the hash to a file.
Does the authentication phase then compare a hashed input password against the hash in the file?

What prevents a malicious user to create a hash for a password, replace the hash in file and log in with the new password?

Yes, it saves the hash;
yes, it compares the inputted text/password as hash to the stored hashed password.

I was thinking about protecting the password file itself somehow but not yet implemented any solution for that.
But... even if a malicious user would create a new password even password protection can be removed by hand so the original user/owner can access to the database (frankly saying, even the database should be secured; maybe I shall try that too but need some learning on how to secure sqlite3 databases. MySQL does that 'out of the box' but that would be a big dependency to be installed...)... It is not a super-secure system yet but I'm not an expert on this field but trying to find solutions for these problems/ideas... So thanks for the suggestion I will try to implement your observations!

jm

EDIT:// I did some experiment just out of couriousity:
- manually modifiying the password file will result that password always will be incorrect, even if the correct text/letter would be typed back;
- if I do the following from shell:
Code:

echo 'new_password_as_hashed_text' > password
then the password will be incorrect even if the correct text is typed at authentication;
- if a new password is set from under python on the device itself (or maybe generated in python on an other system and copied to the appropriate location) then it will work.

juiceme 2017-04-06 13:04

Re: Share your code
 
There are good ways to do it, for example use aes to encrypt/decrypt the data on the fly, only ever storing encrypted data in db.

sicelo 2017-04-06 14:35

Re: Share your code
 
Quote:

Originally Posted by justmemory (Post 1522639)
.
Please note that I'm not a programmer it is just a hobby for me

The code looks amazing to me :)

justmemory 2017-12-20 22:43

Re: Share your code
 
Hi All!

I made some improvements again and hopefully you will find these useful.

So, I was thinking about protecting the financial data and of course the protection of the database appeared to be the best idea.
For this purpose I found that sqlcipher would do the trick, it has a python binding and would not have to use encryption-decryption on the fly as sqlcipher uses "pragma key".
I dropped the previous password protection method as user have to enter the key at startup of the application. The key does not stored anywhere (except the default key - "temporary_key" - when creating new database at first time running the app) in the app it "appears" only when running the app and it asks for it directly so I did not even use hashlib as I think it is not necesseary.

The "main" (?) sqlcipher I found on github did not work on arm, so I searched and found a version for Android which I used to build my own with checkinstall. The installation won't overwrite sqlite3 it just creates sqlite3 executable in /usr/local/bin and that comes default.

For pysqlcipher I used version 2.6.3; this will be "installed" as well.

From now on you can find this on GitHub.

jm

justmemory 2018-02-13 07:50

Re: Share your code
 
1 Attachment(s)
Hi All!

I happened to successfully install neovim 0.1.7-4 on my n900. You can find the details here.

jm

Edit:// Opened a separate thread for this.

sicelo 2018-02-13 12:29

Re: Share your code
 
Quote:

Originally Posted by justmemory (Post 1541092)
Hi All!

I happened to successfully install neovim 0.1.7-4 on my n900. You can find the details here.

jm

Awesome work. Maybe better to create new thread for that though ...
Also, might be great idea to get it in repositories :)

justmemory 2018-02-13 12:51

Re: Share your code
 
Quote:

Originally Posted by sicelo (Post 1541101)
Awesome work. Maybe better to create new thread for that though ...
Also, might be great idea to get it in repositories :)

Thanks!

Hmm... About get this in the repos...: it would need the libc6_2.10 to be also in the repos and I do not know whether it is a good idea or not... AapoRantalainen's words


All times are GMT. The time now is 19:56.

vBulletin® Version 3.8.8