Giter VIP home page Giter VIP logo

etui's People

Contributors

apostolosb avatar dloiola avatar naguirre avatar vtorri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

etui's Issues

Considering using efl theme vs application specific

This is a request for consideration. I have spent a decent amount of time working on my own custom theme. Mostly modifications from another's. In a few cases like with Terminology. I had to also modify its theme file to match my theme. Not really ideal, but is what it is.

I am not sure that etui is using the theme file for much. I know it is in use for the initial background. Which is where I have my issue. I tried to take a screenshot, but soon as it loses focus, most the UI stuff I want to point out goes away.

Specifically I have changed blue to purple, and I have removed any shines. Thus in etui, I have a inside blue glow, and a shine at the top. The blue should be purple and no shine. I can modify the theme, and have a custom them file for etui for my theme. But honestly I rather not.

If possible I would like to explore options to see if there are others ways. Like using efl theme for such so it matches what ever theme the user has selected better. Without requiring a theme file for etui itself.

I know EFL can have per app theme files. But that is not really friendly to themers. Since they have to make a theme for EFL. Then go and match any changes to each app specific theme. ephoto is a good example. It uses a edc/edj file for effects but not really custom UI looks. Not all are as friendly. I need to look at verne's theme. But seems like may have some UI elements in its theme I will need to handle as well. Thus I rather not have to go around modifying a bunch of application theme files. Just to match the main EFL theme.

In entrance I was able to re-use the e desktop background. I think it is possible to do something along those lines with etui. If you are open to such I can see about making such changes and submitting a PR. Unless you want to do that yourself, either way. Hopefully receptive to such changes. Thanks!

PDF file crash on linux.

Starting program: /usr/bin/etui
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/libeo.so.1.20.99-gdb.py", line 7, in <module>
    import eo_gdb
  File "/usr/share/eo/gdb/eo_gdb.py", line 59, in <module>
    null_void_ptr = gdb.parse_and_eval('(_Eo_Object *) 0')
gdb.error: No symbol table is loaded.  Use the "file" command.
[New Thread 0x7fffe93ee700 (LWP 9125)]
[New Thread 0x7fffe5129700 (LWP 9127)]
[Thread 0x7fffe5129700 (LWP 9127) exited]
[New Thread 0x7fffe4928700 (LWP 9128)]
[New Thread 0x7fffdffff700 (LWP 9129)]
[New Thread 0x7fffda641700 (LWP 9130)]
[New Thread 0x7fffd8b80700 (LWP 9131)]
[Thread 0x7fffd8b80700 (LWP 9131) exited]
ERR<9121>:elementary lib/elementary/efl_ui_focus_manager_calc.c:1119 _logical_movement() Warning cycle detected

[New Thread 0x7fffd837f700 (LWP 9132)]
[Thread 0x7fffd837f700 (LWP 9132) exited]
[New Thread 0x7fffd7b7e700 (LWP 9133)]
[New Thread 0x7fffd737d700 (LWP 9134)]
[Thread 0x7fffd737d700 (LWP 9134) exited]
[New Thread 0x7fffd6b7c700 (LWP 9135)]
[Thread 0x7fffd6b7c700 (LWP 9135) exited]
[New Thread 0x7fffd6b7c700 (LWP 9136)]
[Thread 0x7fffd6b7c700 (LWP 9136) exited]
[New Thread 0x7fffd6b7c700 (LWP 9137)]
[New Thread 0x7fffd737d700 (LWP 9138)]
[New Thread 0x7fffd837f700 (LWP 9139)]
[Thread 0x7fffd737d700 (LWP 9138) exited]
[New Thread 0x7fffd8b80700 (LWP 9140)]
[Thread 0x7fffd837f700 (LWP 9139) exited]
[New Thread 0x7fffd637b700 (LWP 9141)]
[New Thread 0x7fffd5b7a700 (LWP 9142)]
[New Thread 0x7fffd5379700 (LWP 9143)]
[New Thread 0x7fffd4b78700 (LWP 9144)]
[New Thread 0x7fffbffff700 (LWP 9145)]
[Thread 0x7fffd8b80700 (LWP 9140) exited]
[New Thread 0x7fffbf7fe700 (LWP 9146)]
[New Thread 0x7fffbeffd700 (LWP 9147)]
[Thread 0x7fffd4b78700 (LWP 9144) exited]
[Thread 0x7fffd5b7a700 (LWP 9142) exited]
[Thread 0x7fffd637b700 (LWP 9141) exited]
[Thread 0x7fffd5379700 (LWP 9143) exited]
[New Thread 0x7fffbe7fc700 (LWP 9148)]
[New Thread 0x7fffbdffb700 (LWP 9149)]
[New Thread 0x7fffbd7fa700 (LWP 9150)]
[New Thread 0x7fffbcff9700 (LWP 9151)]
[Thread 0x7fffbdffb700 (LWP 9149) exited]
[Thread 0x7fffbd7fa700 (LWP 9150) exited]
[New Thread 0x7fffb7fff700 (LWP 9152)]
[New Thread 0x7fffb77fe700 (LWP 9153)]
[Thread 0x7fffbeffd700 (LWP 9147) exited]
[Thread 0x7fffbf7fe700 (LWP 9146) exited]
[Thread 0x7fffd6b7c700 (LWP 9137) exited]
[New Thread 0x7fffb6ffd700 (LWP 9154)]
[Thread 0x7fffbcff9700 (LWP 9151) exited]
[Thread 0x7fffbe7fc700 (LWP 9148) exited]
[New Thread 0x7fffb67fc700 (LWP 9155)]
[Thread 0x7fffbffff700 (LWP 9145) exited]
[New Thread 0x7fffb5ffb700 (LWP 9156)]
[New Thread 0x7fffb57fa700 (LWP 9157)]
[Thread 0x7fffb77fe700 (LWP 9153) exited]
[Thread 0x7fffb7fff700 (LWP 9152) exited]
[New Thread 0x7fffb4ff9700 (LWP 9158)]
[Thread 0x7fffb5ffb700 (LWP 9156) exited]
[New Thread 0x7fffb47f8700 (LWP 9159)]
[New Thread 0x7fffb3ff7700 (LWP 9160)]
[New Thread 0x7fffb37f6700 (LWP 9161)]
[Thread 0x7fffb47f8700 (LWP 9159) exited]
[Thread 0x7fffb57fa700 (LWP 9157) exited]
[New Thread 0x7fffb2ff5700 (LWP 9162)]
[New Thread 0x7fffb27f4700 (LWP 9163)]
[Thread 0x7fffb3ff7700 (LWP 9160) exited]
[Thread 0x7fffb67fc700 (LWP 9155) exited]
[Thread 0x7fffb6ffd700 (LWP 9154) exited]
[Thread 0x7fffb4ff9700 (LWP 9158) exited]
[New Thread 0x7fffb1ff3700 (LWP 9164)]
[Thread 0x7fffb27f4700 (LWP 9163) exited]
[New Thread 0x7fffb17f2700 (LWP 9165)]
[New Thread 0x7fffb0ff1700 (LWP 9166)]
[Thread 0x7fffb17f2700 (LWP 9165) exited]
[New Thread 0x7fffb07f0700 (LWP 9167)]
[Thread 0x7fffb37f6700 (LWP 9161) exited]
[New Thread 0x7fffaffef700 (LWP 9168)]
[Thread 0x7fffb2ff5700 (LWP 9162) exited]
[New Thread 0x7fffaf7ee700 (LWP 9169)]
[Thread 0x7fffb1ff3700 (LWP 9164) exited]
[New Thread 0x7fffaefed700 (LWP 9170)]
[Thread 0x7fffaffef700 (LWP 9168) exited]
[New Thread 0x7fffae7ec700 (LWP 9171)]
[Thread 0x7fffaf7ee700 (LWP 9169) exited]
[New Thread 0x7fffadfeb700 (LWP 9172)]
[Thread 0x7fffae7ec700 (LWP 9171) exited]
[New Thread 0x7fffad7ea700 (LWP 9173)]
[New Thread 0x7fffacfe9700 (LWP 9174)]
[Thread 0x7fffaefed700 (LWP 9170) exited]
[New Thread 0x7fffac7e8700 (LWP 9175)]
[Thread 0x7fffad7ea700 (LWP 9173) exited]
[New Thread 0x7fffabfe7700 (LWP 9176)]
[Thread 0x7fffacfe9700 (LWP 9174) exited]
[New Thread 0x7fffab7e6700 (LWP 9177)]
[Thread 0x7fffac7e8700 (LWP 9175) exited]
[New Thread 0x7fffaafe5700 (LWP 9178)]
[Thread 0x7fffabfe7700 (LWP 9176) exited]
[New Thread 0x7fffaa7e4700 (LWP 9179)]
[Thread 0x7fffab7e6700 (LWP 9177) exited]
[New Thread 0x7fffa9fe3700 (LWP 9180)]
[Thread 0x7fffb07f0700 (LWP 9167) exited]
[New Thread 0x7fffa97e2700 (LWP 9181)]
[Thread 0x7fffaa7e4700 (LWP 9179) exited]
[New Thread 0x7fffa8fe1700 (LWP 9182)]
[Thread 0x7fffa9fe3700 (LWP 9180) exited]
[Thread 0x7fffaafe5700 (LWP 9178) exited]
[New Thread 0x7fffa87e0700 (LWP 9183)]
[Thread 0x7fffadfeb700 (LWP 9172) exited]
[Thread 0x7fffa87e0700 (LWP 9183) exited]
[Thread 0x7fffa8fe1700 (LWP 9182) exited]
[Thread 0x7fffa97e2700 (LWP 9181) exited]
[Thread 0x7fffb0ff1700 (LWP 9166) exited]
focus in
[New Thread 0x7fffb0ff1700 (LWP 9184)]
[Thread 0x7fffb0ff1700 (LWP 9184) exited]
[New Thread 0x7fffb0ff1700 (LWP 9185)]
[Thread 0x7fffb0ff1700 (LWP 9185) exited]
[New Thread 0x7fffb0ff1700 (LWP 9186)]
[Thread 0x7fffb0ff1700 (LWP 9186) exited]
[New Thread 0x7fffa87e0700 (LWP 9187)]
[Thread 0x7fffa87e0700 (LWP 9187) exited]
[New Thread 0x7fffa97e2700 (LWP 9188)]
[Thread 0x7fffa97e2700 (LWP 9188) exited]
[New Thread 0x7fffa8fe1700 (LWP 9189)]
[Thread 0x7fffa8fe1700 (LWP 9189) exited]
[New Thread 0x7fffd8b80700 (LWP 9190)]
[New Thread 0x7fffd837f700 (LWP 9191)]
[New Thread 0x7fffd737d700 (LWP 9192)]
[New Thread 0x7fffd6b7c700 (LWP 9193)]
[Thread 0x7fffd737d700 (LWP 9192) exited]
[Thread 0x7fffd837f700 (LWP 9191) exited]
[Thread 0x7fffd8b80700 (LWP 9190) exited]
[Thread 0x7fffd6b7c700 (LWP 9193) exited]
[New Thread 0x7fffd637b700 (LWP 9194)]
[Thread 0x7fffd637b700 (LWP 9194) exited]
[New Thread 0x7fffd5b7a700 (LWP 9195)]
[Thread 0x7fffd5b7a700 (LWP 9195) exited]
[New Thread 0x7fffd5379700 (LWP 9196)]
[Thread 0x7fffd5379700 (LWP 9196) exited]
[New Thread 0x7fffd4b78700 (LWP 9197)]
[Thread 0x7fffd4b78700 (LWP 9197) exited]
[New Thread 0x7fffbffff700 (LWP 9198)]
[New Thread 0x7fffbf7fe700 (LWP 9199)]
[Thread 0x7fffbffff700 (LWP 9198) exited]
[New Thread 0x7fffbeffd700 (LWP 9200)]
[Thread 0x7fffbf7fe700 (LWP 9199) exited]
[New Thread 0x7fffbe7fc700 (LWP 9201)]
[Thread 0x7fffbe7fc700 (LWP 9201) exited]
[New Thread 0x7fffbdffb700 (LWP 9202)]
[Thread 0x7fffbeffd700 (LWP 9200) exited]
[Thread 0x7fffbdffb700 (LWP 9202) exited]
[New Thread 0x7fffbd7fa700 (LWP 9203)]
[Thread 0x7fffbd7fa700 (LWP 9203) exited]
[New Thread 0x7fffbcff9700 (LWP 9204)]
[New Thread 0x7fffb7fff700 (LWP 9205)]
[Thread 0x7fffbcff9700 (LWP 9204) exited]
[New Thread 0x7fffb77fe700 (LWP 9206)]
[Thread 0x7fffb7fff700 (LWP 9205) exited]
[New Thread 0x7fffb6ffd700 (LWP 9207)]
[Thread 0x7fffb77fe700 (LWP 9206) exited]
[New Thread 0x7fffb67fc700 (LWP 9208)]
[Thread 0x7fffb6ffd700 (LWP 9207) exited]
[New Thread 0x7fffb5ffb700 (LWP 9209)]
[Thread 0x7fffb67fc700 (LWP 9208) exited]
[New Thread 0x7fffb57fa700 (LWP 9210)]
[Thread 0x7fffb5ffb700 (LWP 9209) exited]
[Thread 0x7fffb57fa700 (LWP 9210) exited]
[New Thread 0x7fffb4ff9700 (LWP 9211)]
[Thread 0x7fffb4ff9700 (LWP 9211) exited]
[New Thread 0x7fffb47f8700 (LWP 9212)]
[New Thread 0x7fffb3ff7700 (LWP 9213)]
[Thread 0x7fffb47f8700 (LWP 9212) exited]
[Thread 0x7fffb3ff7700 (LWP 9213) exited]
[New Thread 0x7fffb37f6700 (LWP 9214)]
[New Thread 0x7fffb2ff5700 (LWP 9215)]
[Thread 0x7fffb37f6700 (LWP 9214) exited]
[Thread 0x7fffb2ff5700 (LWP 9215) exited]
[New Thread 0x7fffb27f4700 (LWP 9216)]
[New Thread 0x7fffb1ff3700 (LWP 9217)]
[Thread 0x7fffb27f4700 (LWP 9216) exited]
[New Thread 0x7fffb17f2700 (LWP 9218)]
[New Thread 0x7fffb07f0700 (LWP 9219)]
[New Thread 0x7fffaffef700 (LWP 9220)]
[New Thread 0x7fffaf7ee700 (LWP 9221)]
[Thread 0x7fffb17f2700 (LWP 9218) exited]
[Thread 0x7fffaffef700 (LWP 9220) exited]
[Thread 0x7fffb1ff3700 (LWP 9217) exited]
[Thread 0x7fffaf7ee700 (LWP 9221) exited]
[Thread 0x7fffb07f0700 (LWP 9219) exited]
[New Thread 0x7fffb1ff3700 (LWP 9222)]
[Thread 0x7fffb1ff3700 (LWP 9222) exited]
[New Thread 0x7fffb1ff3700 (LWP 9226)]
[New Thread 0x7fffb07f0700 (LWP 9227)]
[New Thread 0x7fffaf7ee700 (LWP 9228)]
[New Thread 0x7fffaffef700 (LWP 9229)]
[Thread 0x7fffaf7ee700 (LWP 9228) exited]
[Thread 0x7fffb1ff3700 (LWP 9226) exited]
[Thread 0x7fffaffef700 (LWP 9229) exited]
[Thread 0x7fffb07f0700 (LWP 9227) exited]

Thread 1 "etui" received signal SIGSEGV, Segmentation fault.
0x00007fffd506eded in ?? () from /usr/lib/etui/modules/pdf/linux-gnu-x86_64-0.0.4/module.so
(gdb)

Navigation doesn't work on start

EFL from git and E_wayland.

To rep:
Double click on a file to open it. Use arrow keys to move through the pages. Nothing happens.
If you rclick and click back in the main window it starts to work.

maintaince status

Thanks for this project, but i see that latest commit long time ago, does it compile with latest efl ?

.djvu file crash on linux.

Etui crashes when opening a. djvu file on linux.

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `etui Desktop/sample.djvu'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xaa576380 in ?? () from /usr/lib/libdjvulibre.so.21
[Current thread is 1 (Thread 0xaa430b40 (LWP 710))]
(gdb) bt
#0  0xaa576380 in  () at /usr/lib/libdjvulibre.so.21
#1  0xaa577627 in  () at /usr/lib/libdjvulibre.so.21
#2  0xaa57fd6b in ddjvu_page_render () at /usr/lib/libdjvulibre.so.21
#3  0xaa602f14 in _etui_djvu_page_render (d=0x90e7998) at src/modules/djvu/etui_module_djvu.c:532
#4  0xb770db66 in _etui_smart_page_render (data=0x90e7888, thread=0x9170af0) at src/lib/etui_smart.c:282
#5  0xb71ae343 in _ecore_short_job (thread=2856520512) at lib/ecore/ecore_thread.c:387
#6  0xb71ae99d in _ecore_thread_worker (data=0x0) at lib/ecore/ecore_thread.c:501
#7  0xb6e81c16 in _eina_internal_call (context=0x9108388) at lib/eina/eina_thread.c:151
#8  0xb6bf70f4 in start_thread () at /usr/lib/libpthread.so.0
#9  0xb6d694a6 in clone () at /usr/lib/libc.so.6
(gdb)

Blurry rendering

For some reason looks like the PDF rendering looks a little blurry, that's a comparison of a similar sized pdf on etui (left) and evince (right):

image

Build fails with newer mupdf, api changes

Seems like mupdf changed with 1.12.0 from 1.11. I believe that is where the following error is coming from

src/modules/pdf/etui_module_pdf.c:871:13: error: too few arguments to function  fz_new_pixmap_with_bbox_and_data?
     image = fz_new_pixmap_with_bbox_and_data(md->doc.ctx,
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I will see about fixing time permitting. Along with the other issue regarding theme I opened. I will definitely do something on that one. Just mentioning this in case you get a chance to fix, or at least aware of the issue.

Center the document to the window.

The alignment of the document you view is to the left. When you fullscreen the window -or resizing it to be bigger than the document- the document stays on the left.

An aesthetics issue.

doesn't compile with mupdf-1.17.0

[10/26] Compiling C object 'src/modules/pdf/bb1e916@@module@sha/etui_module_pdf.c.o'.
FAILED: src/modules/pdf/bb1e916@@module@sha/etui_module_pdf.c.o gcc -Isrc/modules/pdf/bb1e916@@module@sha -Isrc/modules/pdf -I../source/src/modules/pdf -I. -I../source/ -I/gnu/stor/3k4w51sf5pprpdchqqq6ssgfx51qqn8a-my-mupdf-1.17.0/include -Isrc/lib -I../source/src/lib -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eina-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/efl-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eina-1/eina -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/ecore-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/efl-1/interfaces -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eo-1 -I/gnu/store/rmbxm1fg47b347kv1h5fb2w04nxqbsj6-glib-2.62.6/include/glib-2.0 -I/gnu/store/rmbxm1fg47b347kv1h5fb2w04nxqbsj6-glib-2.62.6/lib/glib-2.0/include -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/evas-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/evas-1/canvas -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/evas-1/gesture -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/ector-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eet-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/emile-1 -I/gnu/store/n4xx7mrgk4xgy8kczpbn0z1jvnq504rh-luajit-2.1.0-beta3/include/luajit-2.1 -I/gnu/store/3x2kak8abb6z2klch72kfff2qxzv00pj-libpng-1.6.37/include/libpng16 -I/gnu/store/3jzvmv2an5aw4m0mpg949knrm8r3nwxy-harfbuzz-2.6.4/include/harfbuzz -I/gnu/store/llccvnpm1dm94d7lndrhs2m6421p45pd-fribidi-1.0.9/include/fribidi -I/gnu/store/haaam6v8l4s75mj9xmpb9gc78xk001y9-freetype-2.10.1/include/freetype2 -I/gnu/store/a45p39mgqvfd8kjwibyr0q42k1mw7gmf-util-linux-2.35.1-lib/include/uuid -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eio-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/efreet-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/
ecore-file-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/ecore-ipc-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/ecore-con-1 -I/gnu/store/n74bjzcw8yz3mhq2ip3l144hck2l6y5r-efl-1.24.2/include/eldbus-1 -I/gnu/store/9xbmwzl08wpkdjvya4x55hksi134255l-dbus-1.12.16/include/dbus-1.0 -I/gnu/store/9xbmwzl08wpkdjvya4x55hksi134255l-dbus-1.12.16/lib/dbus-1.0/include -I/gnu/store/16wvggwwxyq3s8i85596nj4a29j4nv1z-openjpeg-2.3.1/include/openjpeg-2.3 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c99 -O2 -g -Wall -Wextra -Wshadow -Wstrict-prototypes -Werror=missing-prototypes -Werror=pointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fPIC -pthread -DHAVE_CONFIG_H -DDLL_EXPORT -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=500 -DECRIN_ETUI_BUILD -MD -MQ 'src/modules/pdf/bb1e916@@module@sha/etui_module_pdf.c.o' -MF 'src/modules/pdf/bb1e916@@module@sha/etui_module_pdf.c.o.d' -o 'src/modules/pdf/bb1e916@@module@sha/etui_module_pdf.c.o' -c ../source/src/modules/pdf/etui_module_pdf.c
../source/src/modules/pdf/etui_module_pdf.c: In function ‘_etui_pdf_toc_fill’:
../source/src/modules/pdf/etui_module_pdf.c:277:20: error: incompatible types when assigning to type ‘int’ from type ‘fz_location {aka struct }’
l.page = fz_resolve_link(md->doc.ctx, md->doc.doc,
^
../source/src/modules/pdf/etui_module_pdf.c: In function ‘_etui_pdf_page_set’:
../source/src/modules/pdf/etui_module_pdf.c:650:14: warning: unused variable ‘links’ [-Wunused-variable]
fz_link *links;
^~~~~
../source/src/modules/pdf/etui_module_pdf.c: In function ‘_etui_pdf_page_size_get’:
../source/src/modules/pdf/etui_module_pdf.c:723:13: warning: unused variable ‘rect’ [-Wunused-variable]
fz_rect rect;
^~~~
[11/26] Linking target src/modules/djvu/libmodule.so.
ninja: build stopped: subcommand failed.
command "ninja" "-j" "2" failed with status 1

Doc navigating suggestions.

Current implementation causes a few issues.

Arrows should scroll the the document (up down left right) and on the end of a page the down arrow should move to the next one. Same for scrolling with a mouse or trackpad on a laptop.

Space can be used to move to the next page and shift+space to move to the previous.

Many keyboard and mouse bindings don't work

My test setup:
wayland
efl-git
32bit atom
a pdf file.

Results:

Ctrl-q : quit > works
Ctrl-o : open file > does nothing
F1: help > does nothing

right arrow, down arrow or space : next page > arrows affects both scroll and page move space and bcspace work
left arrow, up arrow, backspace : previous page > **see above **
page up : page + 10 > *doesn't move +10 *
page down : page - 10 > same as above
F11: toggle fullscreen > works
esc : exit fullscreen > works
Ctrl-+ : scale * sqrt(2) > does nothing
Ctrl-- : scale / sqrt(2) > does nothing
Ctrl-0 : zoom to fit height > does nothing
Ctrl-1 : zoom to original size > does nothing
Ctrl-2 : zoom to fit width > does nothing
Ctrl-home : go to first page > works
Ctrl-end : go to last page > works

Mouse bindings:

double left click : toggle fullscreen > works
wheel up : scale * sqrt(2) > moves scroll
wheel down : scale / sqrt(2) > moves scroll

if you ctrl + wheel up or down it zooms out

Compilation fails with ...

Arch linux, efl stuff from git. Not sure if i miss a dependency or something.

  CC       src/modules/pdf/mupdf-1.10a/source/pdf/src_modules_pdf_module_la-pdf-colorspace.lo
In file included from /usr/include/stdio.h:27:0,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/fitz/system.h:17,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/fitz.h:10,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/pdf.h:4,
                 from src/modules/pdf/mupdf-1.10a/source/pdf/pdf-cmap-table.c:1:
/usr/include/features.h:331:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^~~~~~~
src/modules/pdf/mupdf-1.10a/source/pdf/pdf-cmap-table.c:23:25: fatal error: gen_cmap_gb.h: No such file or directory
 #include "gen_cmap_gb.h"
                         ^
compilation terminated.
make[1]: *** [Makefile:9826: src/modules/pdf/mupdf-1.10a/source/pdf/src_modules_pdf_module_la-pdf-cmap-table.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from /usr/include/stdio.h:27:0,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/fitz/system.h:17,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/fitz.h:10,
                 from ./src/modules/pdf/mupdf-1.10a/include/mupdf/pdf.h:4,
                 from src/modules/pdf/mupdf-1.10a/source/pdf/pdf-colorspace.c:1:
/usr/include/features.h:331:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]
 #  warning _FORTIFY_SOURCE requires compiling with optimization (-O)
    ^~~~~~~
make[1]: Leaving directory '/home/toliz/Builds/etui-git/src/etui'
make: *** [Makefile:3148: all] Error 2
==> ERROR: A failure oc

Doubleclicking on a pdf to open doesn't work.

Have a .pdf on the desktop.
Double click to open it.
Etui starts and shows the window with the icon without displaying the .pdf.

If you start it from the command line with etui /path/to/file it works.

Build failure on Arch with latest stable E.

Tried to build it on Arch with latest stable E stack and fails as below:

src/modules/ps/ps.c:2241:5: warning: ignoring return value of ‘fread’, declared with attribute warn_unused_result [-Wunused-result]
fread(&doseps->checksum, 2, 1, FD_FILE);
^
CC src/modules/ps/src_modules_ps_module_la-etui_module_ps.lo
src/modules/ps/etui_module_ps.c: In function ‘_etui_ps_gs_process’:
src/modules/ps/etui_module_ps.c:279:23: error: ‘e_NeedInput’ undeclared (first use in this function)
err = (err == e_NeedInput) ? 0 : err;
^
src/modules/ps/etui_module_ps.c:279:23: note: each undeclared identifier is reported only once for each function it appears in
Makefile:5247: recipe for target 'src/modules/ps/src_modules_ps_module_la-etui_module_ps.lo' failed
make[1]: *** [src/modules/ps/src_modules_ps_module_la-etui_module_ps.lo] Error 1
make[1]: Leaving directory '/home/toliz/Desktop/etui-git/src/etui'
Makefile:1833: recipe for target 'all' failed
make: *** [all] Error 2
==> ERROR: A failure occurred in build().
Aborting...

Reduce or eliminate output when used via cli

When I run etui via cli, it seems to constantly output information when navigating the PDF documents etc. Likely for debug or something. But not sure users should see this stuff in general. Maybe add a -d/--debug flag, or something with log level so its only outputted when desired for development, etc. Thanks!

etui docs/manual.pdf
 $$$$ etui_object_add : 0x4000000391e6
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 _etui_smart_resize 2 : 612x792
 $$$$ _etui_smart_resize_cb : data: 0x4000000391e6   obj: 0x4000000395e7  612x792
 pre 3 $$ 612x792
focus in
 end $$ 612x792
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 pre 3 $$ 612x792
 end $$ 612x792
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 pre 3 $$ 612x792
 end $$ 612x792
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 pre 3 $$ 612x792
 end $$ 612x792
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 pre 3 $$ 612x792
 end $$ 612x792
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 pre 3 $$ 612x792
 end $$ 612x792
focus out

first key event not thrown

to go to the next page (for exemple), i have to hit the Right key twice. After the key event is thrown, no problem

Some requests about the UI

Since it is being rewritten i think i should ask for some features.

A mini view of the pages on the left or right of the window.
Tabs so you can have many docs open.
Side by side view of many tabs (ie hold a key and click on the tabs to show them on the same win)

SIGSEGV resizing window

FreeBSD 12.1, EFL from Git

  1. Open a pdf file
  2. Zoom in a little bit
  3. Increase window size
* thread #6, name = 'Eanimator-timer', stop reason = signal SIGSEGV: invalid address (fault address: 0x804d2f000)
    frame #0: 0x000000080031520a libecore.so.1`ecore_main_loop_thread_safe_call_async(callback=(libecore.so.1`_ecore_notify_handler at ecore_thread.c:271), data=0x000
0000804dac470) at ecore.c:624:20
   621 order = malloc(sizeof (Ecore_Safe_Call));
   622 if (!order) return;
   623
-> 624 order->cb.async = callback;
   625 order->data = data;
   626 order->sync = EINA_FALSE;
   627 order->suspend = EINA_FALSE;
(lldb) bt all
  thread #1, name = 'etui'
    frame #0: 0x0000000800db1dda libc.so.7`_select + 10
    frame #1: 0x0000000800bd94d2 libthr.so.3`___lldb_unnamed_symbol44$$libthr.so.3 + 66
    frame #2: 0x000000080031dcfb libecore.so.1`_ecore_main_select(obj=0x0000400000000373, pd=0x00000008021d84a8, timeout=<unavailable>) at ecore_main.c:1869:12
    frame #3: 0x000000080031cb50 libecore.so.1`_ecore_main_loop_iterate_internal(obj=0x0000400000000373, pd=0x00000008021d84a8, once_only=0) at ecore_main.c:2472:14
    frame #4: 0x000000080031ccdd libecore.so.1`_ecore_main_loop_begin(obj=0x0000400000000373, pd=0x00000008021d84a8) at ecore_main.c:1210:16
    frame #5: 0x0000000800321f96 libecore.so.1`_efl_loop_begin(obj=0x0000400000000373, pd=0x00000008021d84a8) at efl_loop.c:57:4
    frame #6: 0x0000000800321a16 libecore.so.1`efl_loop_begin(obj=0x0000400000000373) at efl_loop.eo.c:28:7
    frame #7: 0x000000080031cda7 libecore.so.1`ecore_main_loop_begin at ecore_main.c:1295:4
    frame #8: 0x00000000002084c3 etui`elm_main(argc=<unavailable>, argv=<unavailable>) at etui_main.c:327:5
    frame #9: 0x000000000020808d etui`main(argc=1, argv=0x00007fffffffe488) at etui_main.c:359:1
    frame #10: 0x000000000020610f etui`_start(ap=<unavailable>, cleanup=<unavailable>) at crt1.c:76:7
  thread #2, name = 'Eevas-thread-wk'
    frame #0: 0x0000000800be4edc libthr.so.3`___lldb_unnamed_symbol190$$libthr.so.3 + 92
    frame #1: 0x0000000800be2512 libthr.so.3`___lldb_unnamed_symbol159$$libthr.so.3 + 482
    frame #2: 0x0000000800494a3f libevas.so.1`evas_thread_worker_func [inlined] eina_condition_timedwait(cond=<unavailable>, t=2250) at eina_inline_lock_posix.x:439:1
5
    frame #3: 0x00000008004949f0 libevas.so.1`evas_thread_worker_func(data=<unavailable>, thread=<unavailable>) at evas_thread_render.c:136
    frame #4: 0x00000008002c1b56 libeina.so.1`_eina_internal_call(context=<unavailable>) at eina_thread.c:151:8
    frame #5: 0x0000000800bd6736 libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 326
* thread #6, name = 'Eanimator-timer', stop reason = signal SIGSEGV: invalid address (fault address: 0x804d2f000)
  * frame #0: 0x000000080031520a libecore.so.1`ecore_main_loop_thread_safe_call_async(callback=(libecore.so.1`_ecore_notify_handler at ecore_thread.c:271), data=0x000
0000804dac470) at ecore.c:624:20
    frame #1: 0x0000000804dac470
    frame #2: 0x000000080034b2b0 libecore.so.1`ecore_thread_feedback(thread=0x0000000803e5e700, data=0x0000000804d2f000) at ecore_thread.c:0
    frame #3: 0x0000000800317fb9 libecore.so.1`_timer_tick_core [inlined] _timer_send_time(t=<unavailable>, thread=<unavailable>) at ecore_anim.c:126:9
    frame #4: 0x0000000800317f69 libecore.so.1`_timer_tick_core(data=<unavailable>, thread=0x0000000803e5e700) at ecore_anim.c:320
    frame #5: 0x000000080034b1de libecore.so.1`_ecore_direct_worker(data=0x0000000803e5e700, t=<unavailable>) at ecore_thread.c:0
    frame #6: 0x00000008002c1b56 libeina.so.1`_eina_internal_call(context=<unavailable>) at eina_thread.c:151:8
    frame #7: 0x0000000800bd6736 libthr.so.3`___lldb_unnamed_symbol1$$libthr.so.3 + 326

Feature request - Ability to fill out PDF forms

This maybe a limitation of mupdf, not sure. But it would be great to have the ability to fill out a PDF form, and save or print that. I think printing support is another feature request for down the road. EFL or E likely needs a print dialog and such. Presently have the need for such and situation on editable PDFs on Linux is not that great. Few free online ones, and not sure about the paying ones onilne. Acrobat stopped long ago and is only 32bit. A hole not really filled on Linux/Unix easily.

This is a long term request, no expectations. Just something that would be nice to have someday.

Arch: Open one pdf after another crashes etui

To reproduce:
Open a PDF file
Right click and select Open
then try to open another pdf

$$$$ etui_object_add : 0x80000006c2c55622
 pre 0 $$ 595x842
 pre 1 $$ 595x842
 pre 2 $$ 595x842
 _etui_smart_resize 2 : 595x842
 $$$$ _etui_smart_resize_cb : data: 0x80000006c2c55622   obj: 0x80000006cac55623  595x842
 pre 3 $$ 595x842
focus in
 end $$ 595x842
ERR<19169>:elementary lib/elementary/efl_ui_focus_manager_calc.c:1119 _logical_movement() Warning cycle detected

 $$$$ etui_object_add : 0x8000004462c56e00
 pre 0 $$ 612x792
 pre 1 $$ 612x792
 pre 2 $$ 612x792
 _etui_smart_resize 2 : 612x792
 $$$$ _etui_smart_resize_cb : data: 0x8000004462c56e00   obj: 0x800000445ac56e01  612x792
 pre 3 $$ 612x792
ERR<19169>:elementary lib/elementary/efl_ui_focus_manager_calc.c:153 node_get() Focusable 0x80000010e2c55766 (Elm.Fileselector) not registered in manager 0x80000010d2c55764
ERR<19169>:eina_safety lib/elementary/elm_main.c:1589 elm_object_focus_set() safety check failed: obj == NULL
Segmentation fault (core dumped)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.