Compare commits
No commits in common. "57ac392431bf8bf7c32e7204771aca296096672b" and "913267724ab3d503a4c6dde4ce31ef6460749d4b" have entirely different histories.
57ac392431
...
913267724a
32
README.adoc
32
README.adoc
@ -4,36 +4,8 @@ fastiv
|
|||||||
'fastiv' is a fast image viewer, supporting BMP, PNG, GIF, JPEG, and optionally
|
'fastiv' is a fast image viewer, supporting BMP, PNG, GIF, JPEG, and optionally
|
||||||
RAW pictures.
|
RAW pictures.
|
||||||
|
|
||||||
It is meant to be a viable replacement for Eye of GNOME, which is slow, likes
|
It is meant to be a viable replacement for Eye of GNOME, which is slow and likes
|
||||||
to break on huge pictures, and its underlying gdk-pixbuf can only be made to use
|
to break on huge pictures. Memory efficiency is specifically a non-goal.
|
||||||
the broken libopenraw
|
|
||||||
https://mail.gnome.org/archives/eog-list/2016-January/msg00004.html[as of now].
|
|
||||||
|
|
||||||
Further development
|
|
||||||
-------------------
|
|
||||||
Urgent blockers for the first stable version:
|
|
||||||
|
|
||||||
- directory browsing
|
|
||||||
- implement zoom and scrolling
|
|
||||||
|
|
||||||
High priority:
|
|
||||||
|
|
||||||
- some level of asynchronous loading and preloading,
|
|
||||||
which becomes a difficult problem with network mounts,
|
|
||||||
confusingly acting as fast devices
|
|
||||||
- write a replacement for GNOME's Nautilus in grid mode:
|
|
||||||
read-only, with focus on staggered previews and minimising wasted space
|
|
||||||
|
|
||||||
Low priority:
|
|
||||||
|
|
||||||
- display 16-bit pictures smoothly, using the 30-bit depth under X.org
|
|
||||||
- make RAW as fast as it can possibly be
|
|
||||||
- load everything that resembles a picture, potentially even play video
|
|
||||||
|
|
||||||
Non-goals:
|
|
||||||
|
|
||||||
- fancy UI, focus solely on speed of use
|
|
||||||
- memory efficiency, though preloading can cause some pressure
|
|
||||||
|
|
||||||
Packages
|
Packages
|
||||||
--------
|
--------
|
||||||
|
2
fastiv.c
2
fastiv.c
@ -77,8 +77,6 @@ main(int argc, char *argv[])
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_window_set_default_icon_name(PROJECT_NAME);
|
|
||||||
|
|
||||||
GtkWidget *view = g_object_new(FASTIV_TYPE_VIEW, NULL);
|
GtkWidget *view = g_object_new(FASTIV_TYPE_VIEW, NULL);
|
||||||
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
|
||||||
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Name=fastiv
|
|
||||||
GenericName=Image Viewer
|
|
||||||
Icon=fastiv
|
|
||||||
Exec=fastiv %F
|
|
||||||
Terminal=false
|
|
||||||
StartupNotify=true
|
|
||||||
Categories=Graphics;2DGraphics;Viewer;
|
|
||||||
# TODO(p): Figure out how to include RAW MIME types, if appropriate.
|
|
||||||
MimeType=image/png;image/bmp;image/x-bmp;image/x-MS-bmp;image/gif;image/jpeg;
|
|
43
fastiv.svg
43
fastiv.svg
@ -1,43 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg version="1.1" width="48" height="48" viewBox="0 0 48 48"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg">
|
|
||||||
<defs>
|
|
||||||
<linearGradient id="base-background" x1="0" y1="0" x2="1" y2="1">
|
|
||||||
<stop stop-color="#ffffff" offset="0.1" />
|
|
||||||
<stop stop-color="#7f7f7f" offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient id="i-background">
|
|
||||||
<stop stop-color="#e0e0e0" offset="0" />
|
|
||||||
<stop stop-color="#ffffff" offset="1" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient id="red-background" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop stop-color="#ff9b9b" offset="0" />
|
|
||||||
<stop stop-color="#ffffff" offset="0.8" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient id="green-background" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop stop-color="#98ff98" offset="0" />
|
|
||||||
<stop stop-color="#ffffff" offset="0.8" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient id="blue-background" x1="0" y1="0" x2="0" y2="1">
|
|
||||||
<stop stop-color="#9999ff" offset="0" />
|
|
||||||
<stop stop-color="#ffffff" offset="0.8" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<rect x="1" y="1" width="46" height="46" ry="5"
|
|
||||||
style="fill: url(#base-background)" stroke="#bfbfbf" stroke-width="2" />
|
|
||||||
<circle cx="13.5" cy="12" r="4"
|
|
||||||
style="fill: url(#i-background)" stroke="#000000" stroke-width="2" />
|
|
||||||
<path d="m 9.75,24 0,13 a 3.5 3.5 180 0 0 7.5,0 l 0,-13 a 3.5 3.5 180 0 0 -7.5,0 z"
|
|
||||||
style="fill: url(#i-background)" stroke="#000000" stroke-width="2" />
|
|
||||||
<path d="m 22,8.25 6,0 3,3 3,-3 6,0 -9,10 z"
|
|
||||||
style="fill: url(#red-background)" stroke="#000000" stroke-width="2"
|
|
||||||
stroke-linejoin="round" />
|
|
||||||
<path d="m 22,19.5 6,0 3,3 3,-3 6,0 -9,10 z"
|
|
||||||
style="fill: url(#green-background)" stroke="#000000" stroke-width="2"
|
|
||||||
stroke-linejoin="round" />
|
|
||||||
<path d="m 22,30.75 6,0 3,3 3,-3 6,0 -9,10 z"
|
|
||||||
style="fill: url(#blue-background)" stroke="#000000" stroke-width="2"
|
|
||||||
stroke-linejoin="round" />
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,6 +1,6 @@
|
|||||||
project('fastiv', 'c', default_options : ['c_std=gnu99'], version : '0.1.0')
|
project('fastiv', 'c', default_options : ['c_std=gnu99'], version : '0.1.0')
|
||||||
|
|
||||||
# TODO(p): Use libraw_r later, when we start parallelizing/preloading.
|
# TODO(p): consider whether libraw_r would be appropriate
|
||||||
libraw = dependency('libraw', required : get_option('libraw'))
|
libraw = dependency('libraw', required : get_option('libraw'))
|
||||||
dependencies = [
|
dependencies = [
|
||||||
dependency('gtk+-3.0'),
|
dependency('gtk+-3.0'),
|
||||||
@ -17,11 +17,7 @@ configure_file(
|
|||||||
configuration : conf,
|
configuration : conf,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# TODO(p): we need to create and install a .desktop file
|
||||||
executable('fastiv', 'fastiv.c', 'fastiv-view.c',
|
executable('fastiv', 'fastiv.c', 'fastiv-view.c',
|
||||||
install : true,
|
install : true,
|
||||||
dependencies : [dependencies])
|
dependencies : [dependencies])
|
||||||
|
|
||||||
install_data('fastiv.desktop',
|
|
||||||
install_dir : get_option('datadir') + '/applications')
|
|
||||||
install_data('fastiv.svg',
|
|
||||||
install_dir : get_option('datadir') + '/icons/hicolor/scalable/apps')
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user