peterlevi / ojo Goto Github PK
View Code? Open in Web Editor NEWA fast and great-looking image viewer with RAW support for Linux. Written in Python & JavaScript.
License: GNU General Public License v3.0
A fast and great-looking image viewer with RAW support for Linux. Written in Python & JavaScript.
License: GNU General Public License v3.0
Here is my console and I'v tried google to solve it but failed.
$ sudo apt-get install ojo -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ojo : Depends: gir1.2-webkit-3.0 but it is not installable
E: Unable to correct problems, you have held broken packages.
# adrian @ GamePack20 in ~/Downloads [5:35:14] C:100
$ sudo apt-get install gir1.2-webkit-3.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package gir1.2-webkit-3.0 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'gir1.2-webkit-3.0' has no installation candidate
# adrian @ GamePack20 in ~/Downloads [5:35:24] C:100
$ sudo apt-get install gir1.2-webkit-4.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package gir1.2-webkit-4.0
E: Couldn't find any package by glob 'gir1.2-webkit-4.0'
E: Couldn't find any package by regex 'gir1.2-webkit-4.0'
Ubuntu 13.04 64 bits
$ apt-cache policy ojo
ojo:
Instalados: 0.1-0~120~raring1
Candidato: 0.1-0~120~raring1
Tabla de versión:
*** 0.1-0~120~raring1 0
500 http://ppa.launchpad.net/ojo/daily/ubuntu/ raring/main amd64 Packages
$ ojo -d
2013-08-29 21:45:48,079 INFO Started with: /home/simon/Pictures
2013-08-29 21:45:48,088 DEBUG js(setTimeout(scroll_to_selected, 100))
2013-08-29 21:45:48,089 INFO Setting folder /home/simon/Pictures
2013-08-29 21:45:48,094 INFO Starting cache thread
2013-08-29 21:45:48,095 DEBUG js(set_mode('folder'))
2013-08-29 21:45:48,095 INFO Starting thumbs thread
2013-08-29 21:45:48,225 DEBUG js(setTimeout(scroll_to_selected, 100))
2013-08-29 21:45:48,225 DEBUG js(set_mode('folder'))
2013-08-29 21:45:48,331 DEBUG js(setTimeout(scroll_to_selected, 100))
2013-08-29 21:45:48,331 DEBUG js(set_mode('folder'))
2013-08-29 21:45:48,334 INFO Received command:
2013-08-29 21:45:48,334 INFO Received command:
** Message: console message: file:///usr/share/ojo/ @343: Changing to folder
2013-08-29 21:45:48,370 DEBUG js(change_folder('file:///home/simon/Pictures'))
** Message: console message: file:///usr/share/ojo/ @343: Changing to folder file:///home/simon/Pictures
(ojo:23240): Gtk-WARNING **: Theme directory preferences/48 of theme Numix has no size field
/usr/lib/python2.7/urllib.py:1282: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal
return ''.join(map(quoter, s))
Exception in thread Thread-3:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 652, in _thread
categories.append(self.build_bookmarks_category())
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 576, in build_bookmarks_category
sorted(self.bookmarks, key=lambda p: os.path.basename(p).lower()) if os.path.isdir(b)]
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 513, in get_folder_item
'path': util.path2url(path),
File "/usr/lib/python2.7/dist-packages/ojo/util.py", line 53, in path2url
return 'file://' + urllib.pathname2url(path)
File "/usr/lib/python2.7/urllib.py", line 61, in pathname2url
return quote(pathname)
File "/usr/lib/python2.7/urllib.py", line 1282, in quote
return ''.join(map(quoter, s))
KeyError: u'\xe1'
2013-08-29 21:45:48,432 DEBUG js(setTimeout(scroll_to_selected, 100))
2013-08-29 21:45:48,433 DEBUG js(set_mode('folder'))
** Message: console message: file:///usr/share/ojo/ @399: Scroll to selected
** Message: console message: file:///usr/share/ojo/ @399: Scroll to selected
2013-08-29 21:45:52,723 INFO Showing /home/simon/Pictures/
2013-08-29 21:45:52,730 DEBUG GC collected: 0
2013-08-29 21:45:52,730 INFO Setting folder /home/simon/Pictures
2013-08-29 21:45:52,730 DEBUG js(set_mode('folder'))
2013-08-29 21:45:52,731 DEBUG js(change_folder('file:///home/simon/Pictures'))
Exception in thread Thread-4:
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 652, in _thread
categories.append(self.build_bookmarks_category())
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 576, in build_bookmarks_category
sorted(self.bookmarks, key=lambda p: os.path.basename(p).lower()) if os.path.isdir(b)]
File "/usr/lib/python2.7/dist-packages/ojo/ojo.py", line 513, in get_folder_item
'path': util.path2url(path),
File "/usr/lib/python2.7/dist-packages/ojo/util.py", line 53, in path2url
return 'file://' + urllib.pathname2url(path)
File "/usr/lib/python2.7/urllib.py", line 61, in pathname2url
return quote(pathname)
File "/usr/lib/python2.7/urllib.py", line 1282, in quote
return ''.join(map(quoter, s))
KeyError: u'\xe1'
** Message: console message: file:///usr/share/ojo/ @399: Scroll to selected
** Message: console message: file:///usr/share/ojo/ @343: Changing to folder file:///home/simon/Pictures
2013-08-29 21:45:53,691 DEBUG js(on_key('Escape'))
** Message: console message: file:///usr/share/ojo/ @452: Escape
** Message: console message: file:///usr/share/ojo/ @205: Python command: ojo-handle-key:Escape
2013-08-29 21:45:53,692 INFO Received command: 1377805553692|ojo-handle-key:Escape
Results in some thumbs jumping between two consecutive lines of thumbs
The current spatial navigation that includes all sections is inconvenient.
Maybe use tab to switch between folders/images sections and then limit spatial nav to that section?
But then how can we use keyboard for the breadcrumbs, or other sections we might add (e.g. Tabs with EXIF info, settings, etc.). Needs some thought.
Also consider moving to using some standard GTK shortcuts mechanism than the current process_key logic
These should be convenient for a photographic workflow. E.g. single key to copy/move to the previous folder, very easy to move/copy to those used before, easy to pass and mark images, easy to select all images from a single date, etc.
The newest versions of ExifTool support CR3. We probably want to migrate from GExiv2 to ExifTool.
Hi!! A lot of thanks in advance!!
I am installed Ojo in my Lubuntu but I don't print the image from Ojo. Is it possible to print from this program? I think that this option is really important.
Thanks!!
Fedora 27 x86_64:
$ git clone https://github.com/peterlevi/ojo
$ sudo dnf install python2-distutils-extra exiv2-devel pyexiv2 intltool
$ cd ojo
$ python setup.py --help
$ python setup.py build
$ sudo python setup.py install
WARNING:
$ python setup.py --help
...
WARNING: the following files are not recognized by DistUtilsExtra.auto:
ojo.desktop.in
ojo.iml
$ python setup.py build
...
WARNING: the following files are not recognized by DistUtilsExtra.auto:
ojo.iml
$ sudo python setup.py install
...
WARNING: the following files are not recognized by DistUtilsExtra.auto:
ojo.iml
This is now mandatory, given that WebKit 3.0 is not available at all in Ubuntu 20.04+.
Threads are daemons now and don't check the "killed" flag. Also access to the various queues like thumbs_queue does not seem to be fully properly protected by locks.
It's a tricky one... Could reuse code from vrty.org for this.
SVG support is broken after migration to ExifTool as width / height are most times not numbers, but strings like "210mm".
And animated GIFs are thumbnailed with a wrong size (need to investigate exactly why).
Hello,
I was wondering if you have any plans to add recursive photo viewing?
What I mean by that is if I click on a folder I'd like to see all the images in the subfolders too.
I'm really looking for something like a picasa replacement but recursive photo loading would be quite close.
Thanks!
This got broken when we fixed the issue with double-processing keys after going into browse mode. Find way to reconciliate both.
This would prevent using the wrong thumb for a file with the same path and name, but actually different (e.g. /media/xxx/EOSxxx/DCIM/IMG_0001.cr2)
How to install on debian Stretch from ppa?
better would be to open a file-selector to let the user browse to a file.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.