ANNOUNCE: hxournal-0.5.0.0 - A pen notetaking program written in haskell

Hi, everyone, I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs. I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file. http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net) As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience. Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program. One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document. The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there. Thank you for your interest. Enjoy haskell notetaking! Ian-Woo Kim

This is what I get when using the latest Ubuntu. libstdc++ is installed.
Downloading hxournal-0.5.0.0...
Configuring hxournal-0.5.0.0...
Preprocessing library hxournal-0.5.0.0...
Preprocessing executables for hxournal-0.5.0.0...
Building hxournal-0.5.0.0...
[ 1 of 41] Compiling Paths_hxournal (
dist/build/autogen/Paths_hxournal.hs, dist/build/Paths_hxournal.o )
[ 2 of 41] Compiling Application.HXournal.Util.Verbatim (
lib/Application/HXournal/Util/Verbatim.hs,
dist/build/Application/HXournal/Util/Verbatim.o )
[ 3 of 41] Compiling Application.HXournal.Util (
lib/Application/HXournal/Util.hs,
dist/build/Application/HXournal/Util.o )
[ 4 of 41] Compiling Application.HXournal.ModelAction.Eraser (
lib/Application/HXournal/ModelAction/Eraser.hs,
dist/build/Application/HXournal/ModelAction/Eraser.o )
[ 5 of 41] Compiling Application.HXournal.ModelAction.Adjustment (
lib/Application/HXournal/ModelAction/Adjustment.hs,
dist/build/Application/HXournal/ModelAction/Adjustment.o )
[ 6 of 41] Compiling Application.HXournal.Type.Clipboard (
lib/Application/HXournal/Type/Clipboard.hs,
dist/build/Application/HXournal/Type/Clipboard.o )
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
Loading package bytestring-0.9.1.10 ... linking ... done.
Loading package array-0.3.0.2 ... linking ... done.
Loading package transformers-0.2.2.0 ... linking ... done.
Loading package mtl-2.0.1.0 ... linking ... done.
Loading package cairo-0.12.2 ... linking ... done.
Loading package containers-0.4.0.0 ... linking ... done.
Loading package strict-0.3.2 ... linking ... done.
Loading package deepseq-1.1.0.2 ... linking ... done.
Loading package attoparsec-0.9.1.2 ... linking ... done.
Loading package ListLike-3.1.2 ... linking ... done.
Loading package extensible-exceptions-0.1.1.2 ... linking ... done.
Loading package MonadCatchIO-transformers-0.2.2.3 ... linking ... done.
Loading package parallel-3.1.0.1 ... linking ... done.
Loading package unix-2.4.2.0 ... linking ... done.
Loading package iteratee-0.8.7.4 ... linking ... done.
Loading package attoparsec-iteratee-0.3.0 ... linking ... done.
Loading package text-0.11.1.9 ... linking ... done.
Loading package enumerator-0.4.16 ... linking ... done.
Loading package iteratee-compress-0.2.1.0 ... linking ... done.
Loading package attoparsec-text-0.8.5.2 ... linking ... done.
Loading package attoparsec-text-enumerator-0.2.0.0 ... linking ... done.
Loading package blaze-builder-0.3.0.2 ... linking ... done.
Loading package blaze-builder-enumerator-0.2.0.3 ... linking ... done.
Loading package failure-0.1.0.1 ... linking ... done.
Loading package xml-types-0.3 ... linking ... done.
Loading package xml-enumerator-0.3.4 ... linking ... done.
Loading package xournal-parser-0.2 ... linking ... done.
Loading package xournal-render-0.2.0.0 ... linking ... done.
Loading package contravariant-0.1.3 ... linking ... done.
Loading package old-locale-1.0.0.2 ... linking ... done.
Loading package time-1.2.0.3 ... linking ... done.
Loading package random-1.0.0.3 ... linking ... done.
Loading package pretty-1.0.1.2 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package QuickCheck-2.4.1.1 ... linking ... done.
Loading package incremental-parser-0.1 ... linking ... done.
Loading package monad-parallel-0.7 ... linking ... done.
Loading package monad-coroutine-0.7 ... linking ... done.
Loading package glib-0.12.2 ... linking ... done.
Loading package gio-0.12.2 ... linking ... done.
Loading package filepath-1.2.0.0 ... linking ... done.
Loading package old-time-1.0.0.6 ... linking ... done.
Loading package directory-1.1.0.0 ... linking ... done.
Loading package process-1.0.1.5 ... linking ... done.
Loading package pango-0.12.2 ... linking ... done.
Loading package gtk-0.12.2 ... linking ... done.
Loading package fclabels-1.0.4 ... linking ... done.
Loading package double-conversion-0.2.0.3 ... <command line>: can't
load .so/.DLL for: stdc++ (libstdc++.so: cannot open shared object
file: No such file or directory)
cabal: Error: some packages failed to install:
hxournal-0.5.0.0 failed during the building phase. The exception was:
ExitFailure 1
On 12 December 2011 12:56, Ian-Woo Kim
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Hi, Ivan,
That libstdc++ problem is related to the following ticket:
http://hackage.haskell.org/trac/ghc/ticket/5289
A workaround is to make a symbolic link to libstdc++.so.6 with the
name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic
library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
Hopefully, it can solve the problem.
IW
On Mon, Dec 12, 2011 at 10:17 AM, Ivan Perez
This is what I get when using the latest Ubuntu. libstdc++ is installed.
Downloading hxournal-0.5.0.0... Configuring hxournal-0.5.0.0... Preprocessing library hxournal-0.5.0.0... Preprocessing executables for hxournal-0.5.0.0... Building hxournal-0.5.0.0... [ 1 of 41] Compiling Paths_hxournal ( dist/build/autogen/Paths_hxournal.hs, dist/build/Paths_hxournal.o ) [ 2 of 41] Compiling Application.HXournal.Util.Verbatim ( lib/Application/HXournal/Util/Verbatim.hs, dist/build/Application/HXournal/Util/Verbatim.o ) [ 3 of 41] Compiling Application.HXournal.Util ( lib/Application/HXournal/Util.hs, dist/build/Application/HXournal/Util.o ) [ 4 of 41] Compiling Application.HXournal.ModelAction.Eraser ( lib/Application/HXournal/ModelAction/Eraser.hs, dist/build/Application/HXournal/ModelAction/Eraser.o ) [ 5 of 41] Compiling Application.HXournal.ModelAction.Adjustment ( lib/Application/HXournal/ModelAction/Adjustment.hs, dist/build/Application/HXournal/ModelAction/Adjustment.o ) [ 6 of 41] Compiling Application.HXournal.Type.Clipboard ( lib/Application/HXournal/Type/Clipboard.hs, dist/build/Application/HXournal/Type/Clipboard.o ) Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package bytestring-0.9.1.10 ... linking ... done. Loading package array-0.3.0.2 ... linking ... done. Loading package transformers-0.2.2.0 ... linking ... done. Loading package mtl-2.0.1.0 ... linking ... done. Loading package cairo-0.12.2 ... linking ... done. Loading package containers-0.4.0.0 ... linking ... done. Loading package strict-0.3.2 ... linking ... done. Loading package deepseq-1.1.0.2 ... linking ... done. Loading package attoparsec-0.9.1.2 ... linking ... done. Loading package ListLike-3.1.2 ... linking ... done. Loading package extensible-exceptions-0.1.1.2 ... linking ... done. Loading package MonadCatchIO-transformers-0.2.2.3 ... linking ... done. Loading package parallel-3.1.0.1 ... linking ... done. Loading package unix-2.4.2.0 ... linking ... done. Loading package iteratee-0.8.7.4 ... linking ... done. Loading package attoparsec-iteratee-0.3.0 ... linking ... done. Loading package text-0.11.1.9 ... linking ... done. Loading package enumerator-0.4.16 ... linking ... done. Loading package iteratee-compress-0.2.1.0 ... linking ... done. Loading package attoparsec-text-0.8.5.2 ... linking ... done. Loading package attoparsec-text-enumerator-0.2.0.0 ... linking ... done. Loading package blaze-builder-0.3.0.2 ... linking ... done. Loading package blaze-builder-enumerator-0.2.0.3 ... linking ... done. Loading package failure-0.1.0.1 ... linking ... done. Loading package xml-types-0.3 ... linking ... done. Loading package xml-enumerator-0.3.4 ... linking ... done. Loading package xournal-parser-0.2 ... linking ... done. Loading package xournal-render-0.2.0.0 ... linking ... done. Loading package contravariant-0.1.3 ... linking ... done. Loading package old-locale-1.0.0.2 ... linking ... done. Loading package time-1.2.0.3 ... linking ... done. Loading package random-1.0.0.3 ... linking ... done. Loading package pretty-1.0.1.2 ... linking ... done. Loading package template-haskell ... linking ... done. Loading package QuickCheck-2.4.1.1 ... linking ... done. Loading package incremental-parser-0.1 ... linking ... done. Loading package monad-parallel-0.7 ... linking ... done. Loading package monad-coroutine-0.7 ... linking ... done. Loading package glib-0.12.2 ... linking ... done. Loading package gio-0.12.2 ... linking ... done. Loading package filepath-1.2.0.0 ... linking ... done. Loading package old-time-1.0.0.6 ... linking ... done. Loading package directory-1.1.0.0 ... linking ... done. Loading package process-1.0.1.5 ... linking ... done. Loading package pango-0.12.2 ... linking ... done. Loading package gtk-0.12.2 ... linking ... done. Loading package fclabels-1.0.4 ... linking ... done. Loading package double-conversion-0.2.0.3 ... <command line>: can't load .so/.DLL for: stdc++ (libstdc++.so: cannot open shared object file: No such file or directory) cabal: Error: some packages failed to install: hxournal-0.5.0.0 failed during the building phase. The exception was: ExitFailure 1
On 12 December 2011 12:56, Ian-Woo Kim
wrote: Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually. (cabal has no support for this kind of thing) -- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

On 12/13/2011 02:43 AM, Brandon Allbery wrote:
On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
AFAICT, this is incorrect and should be something like ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/libstdc++.so (where x86_64-linux-gnu depends on your platform). Normally this isn't a problem since to above-mentioned directory is in ld.so.conf, but that (apparently) isn't handled correctly by GHC. A less permanent workaround is to just add /usr/lib/x86_64-linux-gnu to your LD_LIBRARY_PATH in your environment before running anything GHC related.
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
Many distros have started to *not* install a /usr/lib/libstdc++.so symlink (nor even any /usr/lib/libstdc++*.so files at all) in /usr/lib, preferring to use the above-mentioned directory instead and listing it in /etc/ld.so.conf. It has something to do with getting saner multilib (and multiarch?) support.

Unfortunately, I have all the *-dev packages I need. Like somebody
else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

In other news, the program runs, but I can't draw anything. I tried it
with a wacom and a mouse.
Ian-Woo, let me know if you need me to run some tests or to try a new
version before you release it.
As a fan of xournal, I'd be glad to do so.
Cheers,
Ivan.
On 13 December 2011 14:00, Ivan Perez
Unfortunately, I have all the *-dev packages I need. Like somebody else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
wrote: On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

Hi, Ivan,
Thank you very much for testing.
Yes, I need to have many testers.
For your problem, first, please send me the console output of hxournal
when you start the application. I guess its stylus name problem in
X11 setting.
Currently, the detection of wacom pen in hxournal is by checking
a xinput device which is named as "stylus". (as defined in Xorg.conf
in /etc/X11/)
So you need to change X11 name to "stylus" or modify line 23 of the
source code csrc/c_initdevice.c .
I am going to modify this soon. (not yet figured out how to detect
the tablet generally,
so I am thinking of making a configuration file for hxournal which has
an information of
the device. )
It has another problem that it always connects to wacom pen if you
have wacom tablet, so mouse input is ignored. I need to enable user to
choose mouse/wacom input.
I released it rather early for getting some attention of interested people.
Let me notify you when modifying the code.
Thank you again for your interest.
Ian-Woo
On Tue, Dec 13, 2011 at 8:03 AM, Ivan Perez
In other news, the program runs, but I can't draw anything. I tried it with a wacom and a mouse.
Ian-Woo, let me know if you need me to run some tests or to try a new version before you release it. As a fan of xournal, I'd be glad to do so.
Cheers, Ivan.
On 13 December 2011 14:00, Ivan Perez
wrote: Unfortunately, I have all the *-dev packages I need. Like somebody else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
wrote: On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

Hi, Ivan,
I modified hxournal. New source code is now on github repository.
https://www.github.com/wavewave/hxournal
Now it has a very rudimentary config file. The config file should be
located at $HOME/.hxournal
Sample configuration file is hxournal.conf.sample in hxournal.
There you can change the name of your X11 device. Current default
is "Core Pointer" for core mouse event, "stylus" for wacom pen,
"eraser" for wacom eraser. If you look at the message when hxournal
start, you will notice what device name your X11 uses. If they are
different from the default setup, then please change .hxournal file
according to that.
I implemented now "Use XInput" menu in Options menu. So once you
toggle it, you can choose whether you use wacom input or core mouse
pointer input. Default starting value of it is also set as xinput
variable in configuration file ("true" or "false" value)
If you can test this and report to me, I will appreciate it very much.
It will be hxournal ver 0.5.1 if successful.
I started hxournal webpage on http://ianwookim.org/hxournal
and hxournal dev wiki page on github page. From now on, the discussion
about this development will happen there.
Thank you .
best,
Ian-Woo Kim
On Tue, Dec 13, 2011 at 2:42 PM, Ian-Woo Kim
Hi, Ivan,
Thank you very much for testing. Yes, I need to have many testers.
For your problem, first, please send me the console output of hxournal when you start the application. I guess its stylus name problem in X11 setting. Currently, the detection of wacom pen in hxournal is by checking a xinput device which is named as "stylus". (as defined in Xorg.conf in /etc/X11/) So you need to change X11 name to "stylus" or modify line 23 of the source code csrc/c_initdevice.c .
I am going to modify this soon. (not yet figured out how to detect the tablet generally, so I am thinking of making a configuration file for hxournal which has an information of the device. ) It has another problem that it always connects to wacom pen if you have wacom tablet, so mouse input is ignored. I need to enable user to choose mouse/wacom input.
I released it rather early for getting some attention of interested people. Let me notify you when modifying the code.
Thank you again for your interest.
Ian-Woo
On Tue, Dec 13, 2011 at 8:03 AM, Ivan Perez
wrote: In other news, the program runs, but I can't draw anything. I tried it with a wacom and a mouse.
Ian-Woo, let me know if you need me to run some tests or to try a new version before you release it. As a fan of xournal, I'd be glad to do so.
Cheers, Ivan.
On 13 December 2011 14:00, Ivan Perez
wrote: Unfortunately, I have all the *-dev packages I need. Like somebody else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
wrote: On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms

On Dec 14, 2011 1:33 AM, "Ian-Woo Kim"
Hi, Ivan,
I modified hxournal. New source code is now on github repository. https://www.github.com/wavewave/hxournal
Are these changes reflected on Hackage? amindfv / Tom
Now it has a very rudimentary config file. The config file should be located at $HOME/.hxournal
Sample configuration file is hxournal.conf.sample in hxournal. There you can change the name of your X11 device. Current default is "Core Pointer" for core mouse event, "stylus" for wacom pen, "eraser" for wacom eraser. If you look at the message when hxournal start, you will notice what device name your X11 uses. If they are different from the default setup, then please change .hxournal file according to that.
I implemented now "Use XInput" menu in Options menu. So once you toggle it, you can choose whether you use wacom input or core mouse pointer input. Default starting value of it is also set as xinput variable in configuration file ("true" or "false" value)
If you can test this and report to me, I will appreciate it very much. It will be hxournal ver 0.5.1 if successful.
I started hxournal webpage on http://ianwookim.org/hxournal and hxournal dev wiki page on github page. From now on, the discussion about this development will happen there.
Thank you .
best, Ian-Woo Kim
On Tue, Dec 13, 2011 at 2:42 PM, Ian-Woo Kim
wrote: Hi, Ivan,
Thank you very much for testing. Yes, I need to have many testers.
For your problem, first, please send me the console output of hxournal when you start the application. I guess its stylus name problem in X11 setting. Currently, the detection of wacom pen in hxournal is by checking a xinput device which is named as "stylus". (as defined in Xorg.conf in /etc/X11/) So you need to change X11 name to "stylus" or modify line 23 of the source code csrc/c_initdevice.c .
I am going to modify this soon. (not yet figured out how to detect the tablet generally, so I am thinking of making a configuration file for hxournal which has an information of the device. ) It has another problem that it always connects to wacom pen if you have wacom tablet, so mouse input is ignored. I need to enable user to choose mouse/wacom input.
I released it rather early for getting some attention of interested
people.
Let me notify you when modifying the code.
Thank you again for your interest.
Ian-Woo
On Tue, Dec 13, 2011 at 8:03 AM, Ivan Perez
wrote: In other news, the program runs, but I can't draw anything. I tried it with a wacom and a mouse.
Ian-Woo, let me know if you need me to run some tests or to try a new version before you release it. As a fan of xournal, I'd be glad to do so.
Cheers, Ivan.
On 13 December 2011 14:00, Ivan Perez
wrote: Unfortunately, I have all the *-dev packages I need. Like somebody else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
wrote: On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: A workaround is to make a symbolic link to libstdc++.so.6 with the name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic library path like the following.
ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so
This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

I think not. The version in hackage is still hxournal-0.5.0.0. Unless,
of course,
you can update a package that's already been submitted without increasing the
version number. Is that possible? (I actually don't know)
Cheers,
Ivan.
On 14 December 2011 16:44, Tom Murphy
On Dec 14, 2011 1:33 AM, "Ian-Woo Kim"
wrote: Hi, Ivan,
I modified hxournal. New source code is now on github repository. https://www.github.com/wavewave/hxournal
Are these changes reflected on Hackage?
amindfv / Tom
Now it has a very rudimentary config file. The config file should be located at $HOME/.hxournal
Sample configuration file is hxournal.conf.sample in hxournal. There you can change the name of your X11 device. Current default is "Core Pointer" for core mouse event, "stylus" for wacom pen, "eraser" for wacom eraser. If you look at the message when hxournal start, you will notice what device name your X11 uses. If they are different from the default setup, then please change .hxournal file according to that.
I implemented now "Use XInput" menu in Options menu. So once you toggle it, you can choose whether you use wacom input or core mouse pointer input. Default starting value of it is also set as xinput variable in configuration file ("true" or "false" value)
If you can test this and report to me, I will appreciate it very much. It will be hxournal ver 0.5.1 if successful.
I started hxournal webpage on http://ianwookim.org/hxournal and hxournal dev wiki page on github page. From now on, the discussion about this development will happen there.
Thank you .
best, Ian-Woo Kim
On Tue, Dec 13, 2011 at 2:42 PM, Ian-Woo Kim
wrote: Hi, Ivan,
Thank you very much for testing. Yes, I need to have many testers.
For your problem, first, please send me the console output of hxournal when you start the application. I guess its stylus name problem in X11 setting. Currently, the detection of wacom pen in hxournal is by checking a xinput device which is named as "stylus". (as defined in Xorg.conf in /etc/X11/) So you need to change X11 name to "stylus" or modify line 23 of the source code csrc/c_initdevice.c .
I am going to modify this soon. (not yet figured out how to detect the tablet generally, so I am thinking of making a configuration file for hxournal which has an information of the device. ) It has another problem that it always connects to wacom pen if you have wacom tablet, so mouse input is ignored. I need to enable user to choose mouse/wacom input.
I released it rather early for getting some attention of interested people. Let me notify you when modifying the code.
Thank you again for your interest.
Ian-Woo
On Tue, Dec 13, 2011 at 8:03 AM, Ivan Perez
wrote: In other news, the program runs, but I can't draw anything. I tried it with a wacom and a mouse.
Ian-Woo, let me know if you need me to run some tests or to try a new version before you release it. As a fan of xournal, I'd be glad to do so.
Cheers, Ivan.
On 13 December 2011 14:00, Ivan Perez
wrote: Unfortunately, I have all the *-dev packages I need. Like somebody else said, it's a different problem.
Linking the file worked for me.
Cheers
On 13 December 2011 02:43, Brandon Allbery
wrote: On Mon, Dec 12, 2011 at 19:22, Ian-Woo Kim
wrote: > > A workaround is to make a symbolic link to libstdc++.so.6 with the > name of libstdc++.so in /usr/lib or /usr/local/lib or other dynamic > library path like the following. > > ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so This is an indication that you have not installed your distribution's -dev package for the library in question. You should do so instead of making the symlink manually.
(cabal has no support for this kind of thing)
-- brandon s allbery allbery.b@gmail.com wandering unix systems administrator (available) (412) 475-9364 vm/sms
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Wed, Dec 14, 2011 at 04:53:38PM +0100, Ivan Perez wrote:
I think not. The version in hackage is still hxournal-0.5.0.0. Unless, of course, you can update a package that's already been submitted without increasing the version number. Is that possible? (I actually don't know)
Thankfully, it is not. -Brent

Very fancy! I am a big fan of Xournal, so I will have to take this for a spin. Edward Excerpts from Ian-Woo Kim's message of Mon Dec 12 06:56:09 -0500 2011:
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim

When I attempt to build on Ubuntu, I get: ezyang@javelin:~$ cabal install hxournal Resolving dependencies... Configuring hxournal-0.5.0.0... Preprocessing library hxournal-0.5.0.0... In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /usr/include/gtk-2.0/gdk/gdk.h:32, from /usr/include/gtk-2.0/gtk/gtk.h:32, from Device.hsc:3: /usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory compilation terminated. compiling dist/build/Application/HXournal/Device_hsc_make.c failed (exit code 1) command was: /usr/bin/gcc -c dist/build/Application/HXournal/Device_hsc_make.c -o dist/build/Application/HXournal/Device_hsc_make.o -fno-stack-protector -fno-stack-protector -Wl,--hash-style=both,--no-copy-dt-needed-entries,--as-needed -D__GLASGOW_HASKELL__=700 -Dlinux_BUILD_OS -Dlinux_HOST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Icsrc -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib/ghc-7.0.3/process-1.0.1.5/include -I/usr/lib/ghc-7.0.3/directory-1.1.0.0/include -I/usr/lib/ghc-7.0.3/old-time-1.0.0.6/include -I/usr/lib/ghc-7.0.3/unix-2.4.2.0/include -I/usr/lib/ghc-7.0.3/time-1.2.0.3/include -I/usr/lib/ghc-7.0.3/bytestring-0.9.1.10/include -I/usr/lib/ghc-7.0.3/base-4.3.1.0/include -I/usr/lib/ghc-7.0.3/include -I/usr/lib/ghc-7.0.3/include/ cabal: Error: some packages failed to install: hxournal-0.5.0.0 failed during the building phase. The exception was: ExitFailure 1 This may be of interest: ezyang@javelin:~$ locate gdkconfig.h /home/ezyang/Dev/gtk+/gdk/gdkconfig.h.win32 /usr/include/gtk-3.0/gdk/gdkconfig.h /usr/lib/i386-linux-gnu/gtk-2.0/include/gdkconfig.h Edward Excerpts from Edward Z. Yang's message of Mon Dec 12 20:10:19 -0500 2011:
Very fancy! I am a big fan of Xournal, so I will have to take this for a spin.
Edward
Excerpts from Ian-Woo Kim's message of Mon Dec 12 06:56:09 -0500 2011:
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim

Hi, all, I just uploaded hxournal-0.5.1 which is implemented with .hxournal config file, "Use X Input" menu enabled, and a fix for compilation problem of gdkconfig.h by Custom build during cabal configure using "pkg-config --cflags gtk+-2.0" Please try the new version by
cabal update cabal install hxournal
I have made a google group of hxournal : hxournal@googlegroups.com
Any issues on hxournal will be welcome and discussed there.
Currently, I branched 0.5.1 version for stabilization and now started
to focus on pdf background rendering (which is most relevant for my
purpose) in the master branch.
Thank you for your interest and reports.
best,
On Thu, Dec 15, 2011 at 4:33 PM, Edward Z. Yang
When I attempt to build on Ubuntu, I get:
ezyang@javelin:~$ cabal install hxournal Resolving dependencies... Configuring hxournal-0.5.0.0... Preprocessing library hxournal-0.5.0.0... In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /usr/include/gtk-2.0/gdk/gdk.h:32, from /usr/include/gtk-2.0/gtk/gtk.h:32, from Device.hsc:3: /usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory compilation terminated. compiling dist/build/Application/HXournal/Device_hsc_make.c failed (exit code 1) command was: /usr/bin/gcc -c dist/build/Application/HXournal/Device_hsc_make.c -o dist/build/Application/HXournal/Device_hsc_make.o -fno-stack-protector -fno-stack-protector -Wl,--hash-style=both,--no-copy-dt-needed-entries,--as-needed -D__GLASGOW_HASKELL__=700 -Dlinux_BUILD_OS -Dlinux_HOST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Icsrc -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib/ghc-7.0.3/process-1.0.1.5/include -I/usr/lib/ghc-7.0.3/directory-1.1.0.0/include -I/usr/lib/ghc-7.0.3/old-time-1.0.0.6/include -I/usr/lib/ghc-7.0.3/unix-2.4.2.0/include -I/usr/lib/ghc-7.0.3/time-1.2.0.3/include -I/usr/lib/ghc-7.0.3/bytestring-0.9.1.10/include -I/usr/lib/ghc-7.0.3/base-4.3.1.0/include -I/usr/lib/ghc-7.0.3/include -I/usr/lib/ghc-7.0.3/include/ cabal: Error: some packages failed to install: hxournal-0.5.0.0 failed during the building phase. The exception was: ExitFailure 1
This may be of interest:
ezyang@javelin:~$ locate gdkconfig.h /home/ezyang/Dev/gtk+/gdk/gdkconfig.h.win32 /usr/include/gtk-3.0/gdk/gdkconfig.h /usr/lib/i386-linux-gnu/gtk-2.0/include/gdkconfig.h
Edward
Excerpts from Edward Z. Yang's message of Mon Dec 12 20:10:19 -0500 2011:
Very fancy! I am a big fan of Xournal, so I will have to take this for a spin.
Edward
Excerpts from Ian-Woo Kim's message of Mon Dec 12 06:56:09 -0500 2011:
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim

Thanks :)
It's working now. I tried it with XInput and without it. Lines seem
smoother when XInput is activated.
On 16 December 2011 11:33, Ian-Woo Kim
Hi, all,
I just uploaded hxournal-0.5.1 which is implemented with .hxournal config file, "Use X Input" menu enabled, and a fix for compilation problem of gdkconfig.h by Custom build during cabal configure using "pkg-config --cflags gtk+-2.0"
Please try the new version by
cabal update cabal install hxournal
I have made a google group of hxournal : hxournal@googlegroups.com Any issues on hxournal will be welcome and discussed there.
Currently, I branched 0.5.1 version for stabilization and now started to focus on pdf background rendering (which is most relevant for my purpose) in the master branch.
Thank you for your interest and reports. best,
On Thu, Dec 15, 2011 at 4:33 PM, Edward Z. Yang
wrote: When I attempt to build on Ubuntu, I get:
ezyang@javelin:~$ cabal install hxournal Resolving dependencies... Configuring hxournal-0.5.0.0... Preprocessing library hxournal-0.5.0.0... In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /usr/include/gtk-2.0/gdk/gdk.h:32, from /usr/include/gtk-2.0/gtk/gtk.h:32, from Device.hsc:3: /usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory compilation terminated. compiling dist/build/Application/HXournal/Device_hsc_make.c failed (exit code 1) command was: /usr/bin/gcc -c dist/build/Application/HXournal/Device_hsc_make.c -o dist/build/Application/HXournal/Device_hsc_make.o -fno-stack-protector -fno-stack-protector -Wl,--hash-style=both,--no-copy-dt-needed-entries,--as-needed -D__GLASGOW_HASKELL__=700 -Dlinux_BUILD_OS -Dlinux_HOST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Icsrc -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib/ghc-7.0.3/process-1.0.1.5/include -I/usr/lib/ghc-7.0.3/directory-1.1.0.0/include -I/usr/lib/ghc-7.0.3/old-time-1.0.0.6/include -I/usr/lib/ghc-7.0.3/unix-2.4.2.0/include -I/usr/lib/ghc-7.0.3/time-1.2.0.3/include -I/usr/lib/ghc-7.0.3/bytestring-0.9.1.10/include -I/usr/lib/ghc-7.0.3/base-4.3.1.0/include -I/usr/lib/ghc-7.0.3/include -I/usr/lib/ghc-7.0.3/include/ cabal: Error: some packages failed to install: hxournal-0.5.0.0 failed during the building phase. The exception was: ExitFailure 1
This may be of interest:
ezyang@javelin:~$ locate gdkconfig.h /home/ezyang/Dev/gtk+/gdk/gdkconfig.h.win32 /usr/include/gtk-3.0/gdk/gdkconfig.h /usr/lib/i386-linux-gnu/gtk-2.0/include/gdkconfig.h
Edward
Excerpts from Edward Z. Yang's message of Mon Dec 12 20:10:19 -0500 2011:
Very fancy! I am a big fan of Xournal, so I will have to take this for a spin.
Edward
Excerpts from Ian-Woo Kim's message of Mon Dec 12 06:56:09 -0500 2011:
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim

To anyone who is interested, I just uploaded a new release of hxournal 0.6 which has pdf annotation functionality. (It's still at very early stage now though. You can think this as a tech preview release) The following is the message I posted on hxournal google group. ( http://groups.google.com/group/hxournal ) All small release announcements will be posted there. Thanks. best, IW ------ Dear hxournal Users, I uploaded the new version of hxournal with pdf annotation functionality to hackage so that one can easily test the new version. The new version is accompanied with new releases of xournal-render and xournal-parser and with new package xournal-types and xournal-builder, which are data type declaration package for xournal and xournal file constructing library using blaze-builder. For installation, you just need to type
cabal install hxournal
This hxournal version needs poppler-0.12.* which is a part of gtk2hs.
I found that the installation of poppler package is a little difficult
in some system. So you may encounter some problem in installation.
Later, I will make a compilation option to choose whether one will use
poppler or not.
Happy hxournaling then!
best regards,
Ian-Woo Kim
On Fri, Dec 16, 2011 at 7:51 AM, Ivan Perez
Thanks :)
It's working now. I tried it with XInput and without it. Lines seem smoother when XInput is activated.
On 16 December 2011 11:33, Ian-Woo Kim
wrote: Hi, all,
I just uploaded hxournal-0.5.1 which is implemented with .hxournal config file, "Use X Input" menu enabled, and a fix for compilation problem of gdkconfig.h by Custom build during cabal configure using "pkg-config --cflags gtk+-2.0"
Please try the new version by
cabal update cabal install hxournal
I have made a google group of hxournal : hxournal@googlegroups.com Any issues on hxournal will be welcome and discussed there.
Currently, I branched 0.5.1 version for stabilization and now started to focus on pdf background rendering (which is most relevant for my purpose) in the master branch.
Thank you for your interest and reports. best,
On Thu, Dec 15, 2011 at 4:33 PM, Edward Z. Yang
wrote: When I attempt to build on Ubuntu, I get:
ezyang@javelin:~$ cabal install hxournal Resolving dependencies... Configuring hxournal-0.5.0.0... Preprocessing library hxournal-0.5.0.0... In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32:0, from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31, from /usr/include/gtk-2.0/gdk/gdk.h:32, from /usr/include/gtk-2.0/gtk/gtk.h:32, from Device.hsc:3: /usr/include/gtk-2.0/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file or directory compilation terminated. compiling dist/build/Application/HXournal/Device_hsc_make.c failed (exit code 1) command was: /usr/bin/gcc -c dist/build/Application/HXournal/Device_hsc_make.c -o dist/build/Application/HXournal/Device_hsc_make.o -fno-stack-protector -fno-stack-protector -Wl,--hash-style=both,--no-copy-dt-needed-entries,--as-needed -D__GLASGOW_HASKELL__=700 -Dlinux_BUILD_OS -Dlinux_HOST_OS -Di386_BUILD_ARCH -Di386_HOST_ARCH -Icsrc -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/cairo -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib/ghc-7.0.3/process-1.0.1.5/include -I/usr/lib/ghc-7.0.3/directory-1.1.0.0/include -I/usr/lib/ghc-7.0.3/old-time-1.0.0.6/include -I/usr/lib/ghc-7.0.3/unix-2.4.2.0/include -I/usr/lib/ghc-7.0.3/time-1.2.0.3/include -I/usr/lib/ghc-7.0.3/bytestring-0.9.1.10/include -I/usr/lib/ghc-7.0.3/base-4.3.1.0/include -I/usr/lib/ghc-7.0.3/include -I/usr/lib/ghc-7.0.3/include/ cabal: Error: some packages failed to install: hxournal-0.5.0.0 failed during the building phase. The exception was: ExitFailure 1
This may be of interest:
ezyang@javelin:~$ locate gdkconfig.h /home/ezyang/Dev/gtk+/gdk/gdkconfig.h.win32 /usr/include/gtk-3.0/gdk/gdkconfig.h /usr/lib/i386-linux-gnu/gtk-2.0/include/gdkconfig.h
Edward
Excerpts from Edward Z. Yang's message of Mon Dec 12 20:10:19 -0500 2011:
Very fancy! I am a big fan of Xournal, so I will have to take this for a spin.
Edward
Excerpts from Ian-Woo Kim's message of Mon Dec 12 06:56:09 -0500 2011:
Hi, everyone,
I am very pleased to announce a pen notetaking program: hxournal, which is written entirely in haskell using gtk2hs.
I uploaded the package on hackage. This program accompanies with two library packages, xournal-parser and xournal-render for parsing and rendering xournal format file.
http://hackage.haskell.org/package/hxournal http://hackage.haskell.org/package/xournal-parser http://hackage.haskell.org/package/xournal-render
Installing hxournal should be very simple:
cabal update cabal install hxournal
hxournal can be currently regarded as a clone of xournal, which is a notetaking program developed in C. (See http://xournal.sourceforge.net)
As xournal, hxournal can take wacom tablet X11 input in subpixel unit so that it can result in very smooth notetaking experience.
Currently, basic pen operations and eraser operations, file open/save operations, rectangular selection, cut/copy/paste operations have been implemented. So the application is semi-usable. The file format is the same as xournal but gunzipped. So to view/edit xoj files generated from xournal, just gunzip the xoj files and read them in hxournal. Gunzipped xoj files generated from hxournal are readable in xournal program.
One NEW special feature of hxournal compared with xournal: This program can make a split view (horizontal and vertical and arbitrary combination of them) of the same document similarly to emacs buffers and windows. Please try Horizontal/Vertical Split in View menu of the program. This will be convenient when notetaking a long document.
The git repository is located at https://www.github.com/wavewave/hxournal The program web page and development web/wiki pages will be announced soon (it will be linked from package webpage on hackage anyway) and the detailed manual will be presented there.
Thank you for your interest. Enjoy haskell notetaking!
Ian-Woo Kim
participants (7)
-
Bardur Arantsson
-
Brandon Allbery
-
Brent Yorgey
-
Edward Z. Yang
-
Ian-Woo Kim
-
Ivan Perez
-
Tom Murphy