After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 520598 - Manual duplex printing support
Manual duplex printing support
Status: RESOLVED WONTFIX
Product: gnome-print
Classification: Deprecated
Component: general
2.17.x
Other All
: Normal enhancement
: ---
Assigned To: Jody Goldberg
Jody Goldberg
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2008-03-05 21:30 UTC by Rick Richardson
Modified: 2014-03-02 18:07 UTC
See Also:
GNOME target: ---
GNOME version: Unversioned Enhancement



Description Rick Richardson 2008-03-05 21:30:57 UTC
Evince (and others) needs the ability to perform manual duplexing for people who want to save paper when printing. 

All that is required is adding an option to print odd only or even only pages. It is a very simple feature to write and could add a lot of functionality.

This is not good enough (odd/even pages).  You should add "Manual Duplex" as a
option.  First, print odd pages (1,3,5). Then you popup a dialog "put the pages
back into the printer".  Then, you logically (but not physically) ROTATE 180 degrees and print even pages IN REVERSE ORDER (6,4,2).  Like Windows/XP does.


For example from a print driver (and no GUI, which is why I want this, and so
do my users)... 

http://foo2zjs.rkkda.com/
File foo2xqx.c


        if (Duplex == DMDUPLEX_MANUALLONG && (PageNum & 1) == 0)
            rotate_bytes_180(buf, buf + bpl * h - 1, Mirror4);

        if ((PageNum & 1) == 0 && EvenPages)
        {
            SeekRec[SeekIndex].b = ftell(EvenPages);
            cmyk_page(buf, w, h, EvenPages);
            SeekRec[SeekIndex].e = ftell(EvenPages);
            debug(1, "CMYK Page: %d     %ld     %ld\n",
            PageNum, SeekRec[SeekIndex].b, SeekRec[SeekIndex].e);
            SeekIndex++;
        }
        else
            cmyk_page(buf, w, h, ofp);


and:

    if (EvenPages)
    {
        DWORD   pause;

        // Handle odd page count
        if ( (PageNum & 1) == 1)
        {
            SeekRec[SeekIndex].b = ftell(EvenPages);
            blank_page(EvenPages);
            SeekRec[SeekIndex].e = ftell(EvenPages);
            debug(1, "Blank Page: %d    %ld     %ld\n",
            PageNum, SeekRec[SeekIndex].b, SeekRec[SeekIndex].e);
            SeekIndex++;
        }

        /*
         *  Manual Pause
         */
        // Write even pages in reverse order
        for (i = SeekIndex-1; i >= 0; --i)
        {
            debug(1, "EvenPage: %d      %ld     %ld     %ld\n",
                i, SeekRec[i].b, SeekRec[i].e, SeekRec[i].pause);
            fseek(EvenPages, SeekRec[i].pause, 0L);
            if (i == SeekIndex-1)
                pause = be32(2);
            else
                pause = be32(3);
            fwrite(&pause, 1, sizeof(DWORD), EvenPages);

            fseek(EvenPages, SeekRec[i].b, 0L);
            for (j = 0; j < (SeekRec[i].e - SeekRec[i].b); ++j)
                putc(getc(EvenPages), stdout);
        }
        fclose(EvenPages);
Comment 1 Dennis Magee 2009-08-17 05:45:02 UTC
We need manual duplex. If it is an easy task, it should be done
Comment 2 Rick Richardson 2009-10-05 09:55:31 UTC
Gnome Manual Duplex:

https://sourceforge.net/projects/g-manual-duplex/

        Install:
            $ make
            $ su
            # make install      -OR-    $ sudo make install

        Then using the GUI:
            1)  System -> Gnome Manual Duplex
                -OR-
            2)  Add to Panel -> Gnome Manual Duplex applet -> Add
                Print -> GnomeManualDuplex (Virtual Printer) -> Print
Comment 3 André Klapper 2014-03-02 18:07:21 UTC
https://git.gnome.org/browse/archive/gnome-print/
https://git.gnome.org/browse/archive/libgnomeprint/
https://git.gnome.org/browse/archive/libgnomeprintui/
have been archived in Git.

They are not under active development anymore. It is currently unlikely that there will be any further active development.

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this bug report in the future if
anyone takes the responsibility for active development again.