<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/gscan2pdf/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 22 Sep 2025 03:54:24 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/gscan2pdf/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>Add created files to Recents list</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/140/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;What should be a fairly uncomplicated suggestion.&lt;/p&gt;
&lt;p&gt;I'd try to implement it myself and send a patch, but the way the code is organized saving is extremely indirect (especially with the export threads), and I wasn't sure the best place to add something like this.&lt;/p&gt;
&lt;p&gt;Adding files to the Recent Files list in GTK code is remarkably easy, you just request the Recent Manager handle and call its &lt;code&gt;add_item()&lt;/code&gt;.  For example, in JavaScript, if I have a &lt;code&gt;GFile&lt;/code&gt; handle:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Gio&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kr"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'gi://Gio?version=2.0'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Gtk&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kr"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'gi://Gtk?version=3.0'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;new_file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Gio&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;File&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;new_for_path&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/place/I/wrote/name.ext'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="c1"&gt;// (...write some data to it...)&lt;/span&gt;
&lt;span class="kd"&gt;let&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;gtk_recent_manager&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;Gtk&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;RecentManager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get_default&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;span class="nx"&gt;gtk_recent_manager&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add_item&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;new_file&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;get_uri&lt;/span&gt;&lt;span class="p"&gt;());&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;And that's it.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">FeRD</dc:creator><pubDate>Mon, 22 Sep 2025 03:54:24 -0000</pubDate><guid>https://sourceforge.net9a6a02184410b8191a28e4b93ab66f4cbbdad85b</guid></item><item><title>#139 Scan dialog: Bring together options currently split across pages/panels</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/139/?limit=25#1715</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Originally, there were no tabs on the scan dialog, and all the scan options in one pane. That was a problem for those backends with loads of options, e.g. some from fujitsu and the test backend.&lt;/p&gt;
&lt;p&gt;I don't think there is going to be a single UI that suits everyone.&lt;/p&gt;
&lt;p&gt;I could add something in preferences to use frames (or something else) rather than tabs for the SANE groups.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeffrey Ratcliffe</dc:creator><pubDate>Tue, 31 Dec 2024 16:30:12 -0000</pubDate><guid>https://sourceforge.net355bec7158231ba80fafcb5bdd8fce038c8cb4bf</guid></item><item><title>#139 Scan dialog: Bring together options currently split across pages/panels</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/139/?limit=25#f8bf</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I realize, BTW, that the different pages in the scan dialog are defined by the scanner backend — running &lt;code&gt;scanimage -d &amp;lt;device&amp;gt; -A&lt;/code&gt; will show a list of all of the available options, broken into categories.&lt;/p&gt;
&lt;p&gt;But nothing says those categories have to be displayed as separate &lt;em&gt;pages&lt;/em&gt; in the dialog. They could be separate &lt;em&gt;sections&lt;/em&gt; on the same page, for example. Or, they could be ignored entirely for the "standard" options. That's what &lt;code&gt;xsane&lt;/code&gt; does, for example — things like &lt;code&gt;--mode&lt;/code&gt;, &lt;code&gt;--resolution&lt;/code&gt;, &lt;code&gt;--source&lt;/code&gt; are part of the same basic scanning control window that's also used to configure things like save path and file numbering. Even though the backends can actually define those in &lt;em&gt;different&lt;/em&gt; sections.&lt;/p&gt;
&lt;p&gt;(Actually, backends have a lot of control over the options grouping, IMHO too much for gscan2pdf to follow it blindly. For example, my HP all-in-one I mentioned has two available scan interfaces. Depending which I choose, the organization of the options is &lt;em&gt;completely&lt;/em&gt; different:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$&lt;span class="w"&gt; &lt;/span&gt;scanimage&lt;span class="w"&gt; &lt;/span&gt;-d&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;'hpaio:/net/ENVY_Pro_6400_series?ip=192.168.12.40'&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;-n&lt;span class="w"&gt; &lt;/span&gt;-A
Output&lt;span class="w"&gt; &lt;/span&gt;format&lt;span class="w"&gt; &lt;/span&gt;is&lt;span class="w"&gt; &lt;/span&gt;not&lt;span class="w"&gt; &lt;/span&gt;set,&lt;span class="w"&gt; &lt;/span&gt;using&lt;span class="w"&gt; &lt;/span&gt;pnm&lt;span class="w"&gt; &lt;/span&gt;as&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;default.

All&lt;span class="w"&gt; &lt;/span&gt;options&lt;span class="w"&gt; &lt;/span&gt;specific&lt;span class="w"&gt; &lt;/span&gt;to&lt;span class="w"&gt; &lt;/span&gt;device&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="sb"&gt;`&lt;/span&gt;hpaio:/net/ENVY_Pro_6400_series?ip&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="m"&gt;192&lt;/span&gt;.168.12.40&lt;span class="s1"&gt;':&lt;/span&gt;
&lt;span class="s1"&gt;  Scan mode:&lt;/span&gt;
&lt;span class="s1"&gt;    --mode Lineart|Gray|Color [Color]&lt;/span&gt;
&lt;span class="s1"&gt;        Selects the scan mode (e.g., lineart, monochrome, or color).&lt;/span&gt;
&lt;span class="s1"&gt;    --resolution 75|100|150|200|300dpi [75]&lt;/span&gt;
&lt;span class="s1"&gt;        Sets the resolution of the scanned image.&lt;/span&gt;
&lt;span class="s1"&gt;    --source Flatbed|ADF [Flatbed]&lt;/span&gt;
&lt;span class="s1"&gt;        Selects the scan source (such as a document-feeder).&lt;/span&gt;
&lt;span class="s1"&gt;  Advanced:&lt;/span&gt;
&lt;span class="s1"&gt;    --compression JPEG [JPEG] [advanced]&lt;/span&gt;
&lt;span class="s1"&gt;        Selects the scanner compression method for faster scans, possibly at&lt;/span&gt;
&lt;span class="s1"&gt;        the expense of image quality.&lt;/span&gt;
&lt;span class="s1"&gt;    --jpeg-quality 0..100 [inactive]&lt;/span&gt;
&lt;span class="s1"&gt;        Sets the scanner JPEG compression factor. Larger numbers mean better&lt;/span&gt;
&lt;span class="s1"&gt;        compression, and smaller numbers mean better image quality.&lt;/span&gt;
&lt;span class="s1"&gt;  Geometry:&lt;/span&gt;
&lt;span class="s1"&gt;    -l 0..215.9mm [0]&lt;/span&gt;
&lt;span class="s1"&gt;        Top-left x position of scan area.&lt;/span&gt;
&lt;span class="s1"&gt;    -t 0..297.011mm [0]&lt;/span&gt;
&lt;span class="s1"&gt;        Top-left y position of scan area.&lt;/span&gt;
&lt;span class="s1"&gt;    -x 0..215.9mm [215.9]&lt;/span&gt;
&lt;span class="s1"&gt;        Width of scan-area.&lt;/span&gt;
&lt;span class="s1"&gt;    -y 0..297.011mm [297.011]&lt;/span&gt;
&lt;span class="s1"&gt;        Height of scan-area.&lt;/span&gt;
&lt;span class="s1"&gt;    --multi-pick 0..1 [0] [advanced]&lt;/span&gt;
&lt;span class="s1"&gt;        Select multipick option for ESCL protocal based devices&lt;/span&gt;

&lt;span class="s1"&gt;$ scanimage -d '&lt;/span&gt;airscan:e0:HP&lt;span class="w"&gt; &lt;/span&gt;ENVY&lt;span class="w"&gt; &lt;/span&gt;Pro&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;6400&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;series&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;9E66B7&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="s1"&gt;' -n -A     &lt;/span&gt;
&lt;span class="s1"&gt;Output format is not set, using pnm as a default.&lt;/span&gt;

&lt;span class="s1"&gt;All options specific to device `airscan:e0:HP ENVY Pro 6400 series [9E66B7]'&lt;/span&gt;:
&lt;span class="w"&gt;  &lt;/span&gt;Standard:
&lt;span class="w"&gt;    &lt;/span&gt;--resolution&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;75&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;150&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;200&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;300&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;400&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;&lt;span class="m"&gt;600&lt;/span&gt;&lt;span class="p"&gt;|&lt;/span&gt;1200dpi&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;300&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Sets&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;resolution&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;scanned&lt;span class="w"&gt; &lt;/span&gt;image.
&lt;span class="w"&gt;    &lt;/span&gt;--mode&lt;span class="w"&gt; &lt;/span&gt;Color&lt;span class="p"&gt;|&lt;/span&gt;Gray&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;Color&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Selects&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;scan&lt;span class="w"&gt; &lt;/span&gt;mode&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;e.g.,&lt;span class="w"&gt; &lt;/span&gt;lineart,&lt;span class="w"&gt; &lt;/span&gt;monochrome,&lt;span class="w"&gt; &lt;/span&gt;or&lt;span class="w"&gt; &lt;/span&gt;color&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;span class="w"&gt;    &lt;/span&gt;--scan-intent&lt;span class="w"&gt; &lt;/span&gt;*unset*&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;*unset*&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Optimize&lt;span class="w"&gt; &lt;/span&gt;scan&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Text/Photo/etc.
&lt;span class="w"&gt;    &lt;/span&gt;--source&lt;span class="w"&gt; &lt;/span&gt;Flatbed&lt;span class="p"&gt;|&lt;/span&gt;ADF&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;Flatbed&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Selects&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;scan&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;source&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;such&lt;span class="w"&gt; &lt;/span&gt;as&lt;span class="w"&gt; &lt;/span&gt;a&lt;span class="w"&gt; &lt;/span&gt;document-feeder&lt;span class="o"&gt;)&lt;/span&gt;.
&lt;span class="w"&gt;  &lt;/span&gt;Geometry:
&lt;span class="w"&gt;    &lt;/span&gt;-l&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..215.9mm&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Top-left&lt;span class="w"&gt; &lt;/span&gt;x&lt;span class="w"&gt; &lt;/span&gt;position&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;scan&lt;span class="w"&gt; &lt;/span&gt;area.
&lt;span class="w"&gt;    &lt;/span&gt;-t&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..297.011mm&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Top-left&lt;span class="w"&gt; &lt;/span&gt;y&lt;span class="w"&gt; &lt;/span&gt;position&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;scan&lt;span class="w"&gt; &lt;/span&gt;area.
&lt;span class="w"&gt;    &lt;/span&gt;-x&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..215.9mm&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;215&lt;/span&gt;.9&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Width&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;scan-area.
&lt;span class="w"&gt;    &lt;/span&gt;-y&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..297.011mm&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;297&lt;/span&gt;.011&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Height&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;scan-area.
&lt;span class="w"&gt;  &lt;/span&gt;Enhancement:
&lt;span class="w"&gt;    &lt;/span&gt;--brightness&lt;span class="w"&gt; &lt;/span&gt;-100..100%&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;steps&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Controls&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;brightness&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;acquired&lt;span class="w"&gt; &lt;/span&gt;image.
&lt;span class="w"&gt;    &lt;/span&gt;--contrast&lt;span class="w"&gt; &lt;/span&gt;-100..100%&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;steps&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Controls&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;contrast&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;the&lt;span class="w"&gt; &lt;/span&gt;acquired&lt;span class="w"&gt; &lt;/span&gt;image.
&lt;span class="w"&gt;    &lt;/span&gt;--shadow&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..100%&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;steps&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Selects&lt;span class="w"&gt; &lt;/span&gt;what&lt;span class="w"&gt; &lt;/span&gt;radiance&lt;span class="w"&gt; &lt;/span&gt;level&lt;span class="w"&gt; &lt;/span&gt;should&lt;span class="w"&gt; &lt;/span&gt;be&lt;span class="w"&gt; &lt;/span&gt;considered&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"black"&lt;/span&gt;.
&lt;span class="w"&gt;    &lt;/span&gt;--highlight&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;..100%&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="k"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;steps&lt;span class="w"&gt; &lt;/span&gt;of&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;100&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Selects&lt;span class="w"&gt; &lt;/span&gt;what&lt;span class="w"&gt; &lt;/span&gt;radiance&lt;span class="w"&gt; &lt;/span&gt;level&lt;span class="w"&gt; &lt;/span&gt;should&lt;span class="w"&gt; &lt;/span&gt;be&lt;span class="w"&gt; &lt;/span&gt;considered&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"white"&lt;/span&gt;.
&lt;span class="w"&gt;    &lt;/span&gt;--analog-gamma&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="m"&gt;0&lt;/span&gt;.0999908..4&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="m"&gt;1&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Analog&lt;span class="w"&gt; &lt;/span&gt;gamma-correction
&lt;span class="w"&gt;    &lt;/span&gt;--negative&lt;span class="o"&gt;[=(&lt;/span&gt;yes&lt;span class="p"&gt;|&lt;/span&gt;no&lt;span class="o"&gt;)]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;no&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;Swap&lt;span class="w"&gt; &lt;/span&gt;black&lt;span class="w"&gt; &lt;/span&gt;and&lt;span class="w"&gt; &lt;/span&gt;white
&lt;span class="w"&gt;    &lt;/span&gt;--adf-justification-x&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;string&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;inactive&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;ADF&lt;span class="w"&gt; &lt;/span&gt;width&lt;span class="w"&gt; &lt;/span&gt;justification&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;left/right/center&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;--adf-justification-y&lt;span class="w"&gt; &lt;/span&gt;&amp;lt;string&amp;gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;inactive&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;ADF&lt;span class="w"&gt; &lt;/span&gt;height&lt;span class="w"&gt; &lt;/span&gt;justification&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;top/bottom/center&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;With the HPAIO interface, &lt;code&gt;xsane&lt;/code&gt; shows the "Advanced" and "Geometry" settings in its "Advanced options" window, and the "Standard options" window is empty. (Because, like I said, it pulls essential options like mode and source into the main dialog.)&lt;/p&gt;
&lt;p&gt;With the eSCL/airscan interface, &lt;code&gt;xsane&lt;/code&gt; shows a "Standard" section containing only "Scan intent", plus "Geometry" and "Enhancement", in the "&lt;em&gt;Standard&lt;/em&gt; options" window. The "Advanced options" window is empty, this time around.&lt;/p&gt;
&lt;p&gt;I suspect its logic is that every category that follows a category named "Standard" is part of "Standard options", and every category that follows a category titled "Advanced" is part of "Advanced options". Which doesn't 100% make sense either, but meh.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">FeRD</dc:creator><pubDate>Tue, 31 Dec 2024 05:59:57 -0000</pubDate><guid>https://sourceforge.net8986fde69ba151dd94e181b1b382e8b757bf70de</guid></item><item><title>#139 Scan dialog: Bring together options currently split across pages/panels</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/139/?limit=25#8c21</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Also, the gscan2pdf profile system has nearly the same problem as GIMP's tool preferences, IMHO — it's really easy to create a profile, but very very hard to modify one.&lt;/p&gt;
&lt;p&gt;If you want to save the current settings, no problem. Just hit Save and type a name.&lt;/p&gt;
&lt;p&gt;If you want to remove some items from that profile, the Edit button helps, although the disconnect between options as they're displayed and as they're stored can be confusing. (Setting Geometry in a profile, for instance, adds the "Bottom-right x" and "Bottom-right y" items to the stored profile.)&lt;/p&gt;
&lt;p&gt;But if you want to &lt;em&gt;update&lt;/em&gt; an existing profile, you have to load it, make your changes, hit Save, and then &lt;strong&gt;remember the exact name of the profile, retype it exactly the same way,  and confirm the overwrite&lt;/strong&gt;. Otherwise, you've just confusingly created an additional profile (with a probably easily-confused name), and now you have to figure out which is which if you want to delete the older version.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">FeRD</dc:creator><pubDate>Mon, 30 Dec 2024 23:18:53 -0000</pubDate><guid>https://sourceforge.net9e54765e1fac1003d17898103c211f8cca015b36</guid></item><item><title>#139 Scan dialog: Bring together options currently split across pages/panels</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/139/?limit=25#6cee</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;(Does the "Scan profiles" feature solve this? In &lt;em&gt;theory&lt;/em&gt; yes, but in practice not really. The problem with profiles is that there isn't &lt;em&gt;enough&lt;/em&gt; that's configurable on my scanner, to make them really worth using&lt;sup&gt;1&lt;/sup&gt;... and since there's no indication beyond the name exactly how they're configured, usually even if I load a profile, I end up flipping through the dialog pages ANYWAY to confirm the settings.)&lt;/p&gt;
&lt;h5 id="notes"&gt;Notes&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;(Meaning, it's not like there are very many settings to change/store — more of the work in applying different configurations is created by the settings being scattered across separate pages, than by the number of actual settings. So, eliminating the page-separation would pretty much eliminate the need for profiles entirely. I recognize that it may be different for users of more advanced scanners with a more complex array of configuration options.)&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">FeRD</dc:creator><pubDate>Mon, 30 Dec 2024 23:08:39 -0000</pubDate><guid>https://sourceforge.net5e6ddc7aec32bb2775f86ea02796111833637418</guid></item><item><title>Scan dialog: Bring together options currently split across pages/panels</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/139/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;While I understand the idea of organizing scan options into logical groupings (hence, the Page Options / PostProcessing / Scan mode / Advanced / Geometry sections of the current dialog, it becomes something of an annoyance when the groupings ultimately prove to &lt;strong&gt;not&lt;/strong&gt; be logical.&lt;/p&gt;
&lt;p&gt;Imagine I'd last scanned a single-sided photo on the flatbed, and I now want to scan a 4-page, double-sided document on the ADF. I have to:&lt;br/&gt;
1. open the dialog&lt;br/&gt;
2. switch to "Scan mode" &lt;br/&gt;
3. select "Scan source: ADF"&lt;br/&gt;
4. go &lt;strong&gt;back&lt;/strong&gt; to "Page Options" &lt;br/&gt;
5. configure for double-sided scanning. ("Scan source: Flatbed" causes the Page Options to reset to single-sided.)&lt;/p&gt;
&lt;p&gt;It's worse if the photo was a smaller size than the standard A4/Letter document — then, I &lt;em&gt;also&lt;/em&gt; have to remember to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;go to "Geometry"&lt;/li&gt;
&lt;li&gt;reset the page size back to US Letter.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Basically, IMHO this demonstrates that Scan source and Geometry &lt;strong&gt;ARE&lt;/strong&gt; page options — they're part of configuring the scanner to capture page(s). So, arguably, are things like resolution and color/grayscale mode.&lt;/p&gt;
&lt;p&gt;I don't object to Postprocessing being in a separate tab, as there's a lot there. Nor Advanced settings like compression. (Although for my scanner there are only two options, and neither is actually configurable anyway.)&lt;/p&gt;
&lt;p&gt;But having the Page Options, Scan mode, and Geometry settings all displayed together would  eliminate a lot of page-flipping, and feels like it would be a major quality-of-life improvement. At least for my HP all-in-one printer's scanning options, they're all short enough to easily fit together without the dialog getting unreasonably tall.&lt;/p&gt;
&lt;p&gt;Or if nothing else, at least having the "Scan source" preference &lt;em&gt;duplicated&lt;/em&gt; at the top of the Page Options panel would help a lot. (Along with, maybe, a &lt;strong&gt;display&lt;/strong&gt; of the currently-selected Paper size — even if it required going to Geometry to actually change it.)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">FeRD</dc:creator><pubDate>Mon, 30 Dec 2024 22:51:07 -0000</pubDate><guid>https://sourceforge.netec14e25b351e82e9b0788893b9365308edbc5096</guid></item><item><title>#138 Remove previous scan's metadata for new scans</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/138/?limit=25#75f0</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I tend to scan and save in batches, which is why I find the current settings useful. However, I see that other people might have different workflows. I could add an option to blank the metadata when a new scan is made.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeffrey Ratcliffe</dc:creator><pubDate>Fri, 19 Apr 2024 21:33:35 -0000</pubDate><guid>https://sourceforge.netcde5fecd2ae8f12ac0858d1fd96ffd0562c13f31</guid></item><item><title>#137 Add open existing pdf</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/137/?limit=25#d698</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;gscan2pdf should already import a scanned PDF from a fax service. Please try.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeffrey Ratcliffe</dc:creator><pubDate>Fri, 19 Apr 2024 21:31:26 -0000</pubDate><guid>https://sourceforge.netcdbbc38b531db985b30be6c896b1519bee8786cc</guid></item><item><title>#120 Increase PDF standard version</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/120/?limit=25#3c23</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;gscan2pdf currently uses PDF::Builder, not PDF::CREATE. It used to use PDF::API2, but I switched to PDF:Builder to improve the TIFF compression options.&lt;/p&gt;
&lt;p&gt;I am currently in the middle of a complete rewrite in Python. This should offer lots of advantages, including PDF/A support.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeffrey Ratcliffe</dc:creator><pubDate>Fri, 19 Apr 2024 21:29:56 -0000</pubDate><guid>https://sourceforge.netb47fd0fc4fe5fa3c96bad66a2fcc8985d400183d</guid></item><item><title>Remove previous scan's metadata for new scans</title><link>https://sourceforge.net/p/gscan2pdf/feature-requests/138/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It would be good to blank out the previous scan's metadata (Author, Title, etc)  when a new scan is made, or require a click to say "use previous metadata"  Subsequent scans to different PDF files often have no relation to each other, and a unaccepted unaccepted default can produce confusion.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ted</dc:creator><pubDate>Fri, 19 Apr 2024 14:22:59 -0000</pubDate><guid>https://sourceforge.net09b309ad1bce0a5329e01d2c2592ff671c9c9111</guid></item></channel></rss>