Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 85 additions & 1 deletion README.asciidoc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
Please note that this branch is in BETA. Still some work remaining to be done...

FlaxPDF
=======

Expand All @@ -20,7 +22,7 @@ those two itches scratched?
Requirements
------------

Poppler, LZO, and FLTK 1.3.
Poppler, LZO, Config{plus}{plus}, and FLTK 1.3.

Comparison
----------
Expand All @@ -37,3 +39,85 @@ FlaxPDF 57% (5% *) 36.5 MB 45 KB
* To be fair to all, these measurements were done using the Vesa driver.
FlaxPDF, as the only one of the three, is able to take advantage of the GPU,
dropping its CPU use when scrolling to 5% (tested on radeon).

New capabilities / modifications added (November 2016)
------------------------------------------------------

The following modifications have been made

- Multi-columns document display
- Selection for the last 10 viewed documents
- Automatically open the last viewed document with last display parameters
- Fullscreen mode
- PageUp and PageDown buttons
- Exit button
- Gnome standard icons

image::screenshot.png[Screenshot,350,350,align="center"]

Installation
============

The following packages are required and may need to be built and installed if not
available as a package:

- poppler (http://poppler.freedesktop.org/poppler-0.48.0.tar.xz)
- fltk 1.3.3 (http://www.fltk.org/software.php?VERSION=1.3.3&FILE=fltk/1.3.3/fltk-1.3.3-source.tar.gz)

The following packages are usually available via package management under linux (command
examples in parenthesis for the apt-get package management tool):

- libconfig{plus}{plus} ("$ sudo apt-get install libconfig{plus}{plus}-dev")
- libjpeg ("$ sudo apt-get install libjpeg-dev")
- libpng ("$ sudo apt-get install libpng-dev")
- libtiff ("$ sudi apt-get install libtiff-dev")

Poppler
-------

To properly build poppler, some libraries are required to be installed. That's the case for
libjpeg, libpng and libtiff to manage embedded images in PDFs. Other libraries are required
and are often already installed. Here is a page to get some more information about dependencies:

http://www.linuxfromscratch.org/blfs/view/svn/general/poppler.html

Once the popper library is untared, you need to build it with the following commands:

------------------------------------------
$ ./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-static \
--enable-build-type=release \
--enable-cmyk \
--enable-xpdf-headers
$ make
$ sudo make install
------------------------------------------


FLTK
----

The FLTK library is installed using the usual GNU autoconf commands:

--------------------
$ ./configure
$ make
$ sudo make install
--------------------

FlaxPDF
-------

To install FlaxPDF, the following commands are required:

--------------------
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
--------------------

All the previously indicated libraries must have been installed before building
the application. The installation will add an entry into the OFFICE main menu of you
linux installation.
25 changes: 25 additions & 0 deletions TODO.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
TODO
----

- [DONE] Re-integrate the original code for PageDown, PageUp, j and k
- [DONE] Mouse scrolling left-right not working properly with multi-columns
- [DONE] Get rid of compilation warnings
- [DONE] Add a new integrated mode "Page + Trim"
- [DONE] Dimensions functions to be revised for discripencies in the Width / High computations
- [DONE] Bug with load of a new file when the current file is still being processed -> crash
- [DONE] When changing document, save the previous document parameters
- [DONE] Text selection

- Other features

- Title page(s) management: to offset rest of the document when columns > 1
- Get rid of the "Create Directory" icon in the open file dialog
- Text search
- Printing
- Page rotation
. For the whole document
. For a specific page
- Double-click or Ctrl-Click: page selection (goto one column in page mode)
- Scrollbars integration (I doubt FLTK Fl_Scroll is a solution)

- Tests, tests, tests
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ LIBS=["$LIBS $($fltkconfig --ldflags --use-images)"]

# Checks for libraries.
AC_CHECK_LIB([lzo2], [__lzo_init_v2], [], AC_MSG_ERROR([LZO not found]))
AC_CHECK_LIB([config++], [_ZNK9libconfig6Config7getRootEv], [], AC_MSG_ERROR([libconfig++ not found]))
#AC_CHECK_LIB([dl], [dlopen], [], AC_MSG_ERROR([libdl not found]))
#AC_CHECK_LIB([rt], [sched_get_priority_min], [], AC_MSG_ERROR([librt not found]))
PKG_CHECK_MODULES([DEPS], [poppler >= 0.31.0 xrender])

DEPS_CFLAGS=$(echo $DEPS_CFLAGS | sed 's@-I@-isystem @g')

LIBS=["$LIBS $DEPS_LIBS"]
Expand Down
Binary file added screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/Makefile.am
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
bin_PROGRAMS = flaxpdf

flaxpdf_SOURCES = main.cpp main.h loadfile.cpp gettext.h icons.h wmicon.h \
flaxpdf_SOURCES = main.cpp main.h loadfile.cpp gettext.h \"icons 32x32.h\" wmicon.h \
lrtypes.h macros.h helpers.h helpers.cpp \
view.cpp view.h
view.cpp view.h config.cpp config.h

AM_CPPFLAGS=-DDATADIR=\"$(pkgdatadir)\" -DLOCALEDIR=\"$(localedir)\"
Loading