Přemysl Eric Janouch
d20c6469c0
Clean up
2021-11-13 09:06:01 +01:00
Přemysl Eric Janouch
f7c1006053
Actually add gdk-pixbuf to dependencies
2021-11-12 13:42:59 +01:00
Přemysl Eric Janouch
f74e7c34d5
Tell wrapped spng to give us a static library
2021-11-12 13:02:57 +01:00
Přemysl Eric Janouch
3299cbf825
Parallelize thumbnail loading
...
GLib makes this easy.
They should all be local, and fast to access, so the CPU is the limit.
2021-11-12 12:22:36 +01:00
Přemysl Eric Janouch
972bd80fa5
Add a Meson wrap for spng
2021-11-12 11:49:12 +01:00
Přemysl Eric Janouch
21b110a7d6
Use spng to load thumbnails
...
Speed matters here, and this makes us about 20 percent faster
at loading large directories.
Moreover, libpng's PNG_ALPHA_BROKEN is indeed broken.
Thumbnails have a fairly fixed format, so there are very few practical
corner cases that could have been missed.
2021-11-12 11:45:34 +01:00
Přemysl Eric Janouch
afc08df234
Fix GtkWidget::key-press-event callback prototype
2021-11-12 11:45:34 +01:00
Přemysl Eric Janouch
062b5757da
Update comments
2021-11-12 11:45:34 +01:00
Přemysl Eric Janouch
f341c8f8c3
Make the 1 key reset the zoom
2021-11-11 22:59:31 +01:00
Přemysl Eric Janouch
cfd2e5d9a5
README.adoc: fix dependency list
2021-11-11 22:51:59 +01:00
Přemysl Eric Janouch
192698b7bd
Add support for defaulting to gdk-pixbuf
2021-11-10 21:34:15 +01:00
Přemysl Eric Janouch
405f975899
Use a checkerboard pattern on item background
2021-11-10 21:06:43 +01:00
Přemysl Eric Janouch
fc4eb97218
Improve browser item rendition, use CSS
...
It's not fully hardcoded anymore, and the border is better adjustable.
Item spacing and the fade constant can't be /meaningfully/ put in CSS.
2021-11-10 21:06:43 +01:00
Přemysl Eric Janouch
77f0e142c2
Reflect that new list of files changes the layout
2021-11-10 03:20:41 +01:00
Přemysl Eric Janouch
e9d0325c62
Add images to the list of recent files
2021-11-10 03:20:41 +01:00
Přemysl Eric Janouch
0cda41732f
Add C-n to open a new instance in the directory
...
Also, improve error messages when opening a file fails.
2021-11-10 03:20:40 +01:00
Přemysl Eric Janouch
ffda836a15
Also render SVGs with unspecified dimensions
2021-11-10 01:04:00 +01:00
Přemysl Eric Janouch
7ef4a06def
Improve librsvg integration
...
Let it load external <image>s and not rescale images.
2021-11-10 00:46:19 +01:00
Přemysl Eric Janouch
1c5cc50939
Add very basic SVG support
...
We need to refactor, so that SVGs are pre-rendered on each change
of scaling by librsvg directly, because some elements may be rasterized.
It would be best to also support building against resvg.
2021-11-10 00:23:19 +01:00
Přemysl Eric Janouch
1e380f695a
Fix obsolete header includes
2021-11-09 18:15:41 +01:00
Přemysl Eric Janouch
ed39a9b434
Add elementary scrolling support to the view
2021-11-09 06:57:02 +01:00
Přemysl Eric Janouch
a135d6f332
Enable opening images from the browser
...
Also, make it possible to go back, in a roughly implemented manner.
2021-11-09 06:03:02 +01:00
Přemysl Eric Janouch
a0408abdf2
Don't render rows needlessly
2021-11-09 04:14:19 +01:00
Přemysl Eric Janouch
4361fdd1be
Clean up
2021-11-09 03:48:36 +01:00
Přemysl Eric Janouch
527a081f54
Add glowing borders around browser items
...
The styling is mostly hardcoded for now, need to figure it out.
2021-11-09 02:48:40 +01:00
Přemysl Eric Janouch
155f57db20
meson.build: fix the io-benchmark target
2021-11-08 17:25:57 +01:00
Přemysl Eric Janouch
7d640651cb
Set a default window size
2021-11-08 08:00:48 +01:00
Přemysl Eric Janouch
d2ef5c9c95
Pre-layout the browser
...
Now the widget is scrollable.
2021-11-06 23:56:44 +01:00
Přemysl Eric Janouch
a346ff8d02
Don't needlessly call setlocale()
...
gtk_init_with_args() does it for us.
2021-11-04 20:19:30 +01:00
Přemysl Eric Janouch
9045898fb6
Don't rescale thumbnails in sRGB
...
pixman is too slow at this, maybe do it later, and optionally.
2021-11-04 19:52:14 +01:00
Přemysl Eric Janouch
45df774cc9
Fix scaling in the view, as in the browser
...
The source pattern needs to be padded.
2021-11-04 19:42:22 +01:00
Přemysl Eric Janouch
cdb8d852a6
Pre-scale loaded thumbnails, and only when needed
2021-11-03 14:15:34 +01:00
Přemysl Eric Janouch
dbc500ae9f
Improve thumbnail scaling and alignment
...
Stretch thumbnails by up to half a pixel so that they align nicely.
Make use of pixman's sRGB mode.
2021-11-03 14:03:28 +01:00
Přemysl Eric Janouch
d6ac386dbd
Bump wuffs
...
No great differences.
2021-11-02 04:53:33 +01:00
Přemysl Eric Janouch
ce0500ef5c
Clean up and fix key handling
...
Arrow keys now work.
2021-11-01 07:20:25 +01:00
Přemysl Eric Janouch
e3b8fc9599
Update README
2021-11-01 05:17:27 +01:00
Přemysl Eric Janouch
c8df325c70
Split out xdg.{c,h}
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
6eecee6b91
Incorporate most clang-format changes
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
810a1fee57
Add clang-format configuration
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
ab283d3988
Split out fastiv-io.h, move media types list
2021-11-01 05:17:26 +01:00
Přemysl Eric Janouch
7ca53b031e
tools: fix the Makefile
2021-11-01 05:17:25 +01:00
Přemysl Eric Janouch
befa7df481
Add file type filters to the file open dialog
...
FWIW, since I've had to do this in another project already.
2021-10-23 23:57:43 +02:00
Přemysl Eric Janouch
de9e91e9a5
Add a prototype of a directory view widget
2021-10-20 18:56:18 +02:00
Přemysl Eric Janouch
dff4e316bb
Don't try to open directories
2021-10-19 09:07:51 +02:00
Přemysl Eric Janouch
e3dc2fecfa
Make a FIXME about bindings more precise
2021-10-18 14:50:31 +02:00
Přemysl Eric Janouch
a6972e4c6e
Don't hardcode the background colour
...
It can be now overriden in the user's gtk.css.
2021-10-17 12:48:15 +02:00
Přemysl Eric Janouch
fa7b1631f0
Round coordinates for image centring
2021-10-16 10:07:32 +02:00
Přemysl Eric Janouch
70a4729f36
Use bilinear filtering
...
It could be both faster and more accurate,
though currently it's a good compromise.
2021-10-16 10:04:50 +02:00
Přemysl Eric Janouch
cc29f80bb2
Zoom with the scroll wheel
2021-10-12 08:10:57 +02:00
Přemysl Eric Janouch
f24885db54
Add a thumbnail loader
...
So far not used, we'll need another widget to make use of it.
2021-10-04 23:17:34 +02:00