Přemysl Eric Janouch
6f86911df6
Slightly optimize thumbnail loading
...
Now it translates to just x86 bswap and ror.
2021-11-15 09:47:00 +01:00
Přemysl Eric Janouch
37adaac965
Let modified wheel events scroll the view
2021-11-14 03:37:09 +01:00
Přemysl Eric Janouch
1dce2e079c
Fix a typo
2021-11-14 03:37:08 +01:00
Přemysl Eric Janouch
c905f64d12
Expose view settings as GObject properties
2021-11-14 02:48:11 +01:00
Přemysl Eric Janouch
1f0d6b24d8
Cache the browser's GDK cursor object
2021-11-13 13:40:46 +01:00
Přemysl Eric Janouch
7d972e9334
Add scaling to fit, make this the default
2021-11-13 12:47:10 +01:00
Přemysl Eric Janouch
b8cc43eb91
Bind the mouse back button on the view
2021-11-13 10:05:05 +01:00
Přemysl Eric Janouch
a1db89d91c
Make scaling accessible from the keyboard
2021-11-13 09:51:16 +01:00
Přemysl Eric Janouch
73dd5bf1a0
Improve key handling
...
Iteration should be limited to the view.
g_signal_connect_after() did not work as I hoped it would.
2021-11-13 09:41:37 +01:00
Přemysl Eric Janouch
7dba21c6d8
Use the hand/pointer cursor in the browser
...
Also, fix the build.
2021-11-13 09:21:28 +01:00
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