Přemysl Eric Janouch
db7a28b187
Add support for opening Xcursor files
...
Sadly, they don't have a canonical extension, and they don't show up
in the browser. We might want to employ some level of sniffing.
The first 16 bytes are enough to identify a lot.
2021-11-17 13:49:15 +01:00
Přemysl Eric Janouch
e8754f43a6
Fix zooming in through the keyboard
2021-11-17 08:38:45 +01:00
Přemysl Eric Janouch
6eec8e7360
Fix adding images to the list of recent files
2021-11-16 14:57:02 +01:00
Přemysl Eric Janouch
c4d58cb9ad
Prefer the dark theme variant
2021-11-16 14:57:02 +01:00
Přemysl Eric Janouch
9bebb0a3fe
Make this work at all in macOS/Homebrew
2021-11-16 08:51:29 +01:00
Přemysl Eric Janouch
11b7969459
Support opaque 16-bit images as RGB30 with Wuffs
...
Do not check whether the window's visual can make use of them,
since they're arguably rare enough.
With transparent images, we're limited by Cairo's formats.
2021-11-15 14:21:22 +01:00
Přemysl Eric Janouch
e835c889a1
Don't use a side buffer to load thumbnails
...
Undoing part of a recent commit.
2021-11-15 10:30:02 +01:00
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