MobileRead Forums

MobileRead Forums (https://www.mobileread.com/forums/index.php)
-   Sigil (https://www.mobileread.com/forums/forumdisplay.php?f=203)
-   -   Sigil-1.6.0 Released (https://www.mobileread.com/forums/showthread.php?t=339704)

DiapDealer 05-29-2021 11:22 AM

Sigil-1.6.0 Released
 
Sigil-1.6.0

Sigil-1.6.0 represents a mix of bug fixes and new features for both epub2 and epub3.

New Features:
  • Find and Replace search targets expanded to include tabbed files, CSS files, OPF and NCX files
  • Saved Searches now save full search Controls (mode, direction, options, and targets)
  • Preview loading is now completely asynchronous with a loading progress bar and loading placeholder
  • Merge will now automatically prevent duplicate ids
  • Merge will automatically add ids are former file boundaries to prevent TOC, Guide, and href losses
  • A new Xhtml Highlighter speeds up huge single file loading considerably
  • Redesigned CodeView Spellchecking to bring it back to Sigil-1.3.0 speeds
  • The External XHTML editor will now always pass along the OPF path and spine position to simplify interface with PageEdit (use "Open With" if you want the old behaviour)
  • Added PyQtWebEngine as a newly required python module for Plugins. ie. Plugins now have access to browser functionality for implementing e-Readers, more complex guis.

Bug Fixes:
  • Add Qt workaround for restoring Sigil window sizes when FindReplace left open on macOS
  • Add missing tr() calls to the tooltips in the Special Character selection dialog
  • Fix bug when all unused selectors are removed as in css stylesheet - adds a comment placeholder
  • Make empty Nav have a title to help empty epub passing epubcheck
  • Fix bug where fonts couldn't be previewed when a space was in the path
  • Redesigned code to make Merging large numbers of files much faster (Thank you Tex2002ans)
  • Fix bug in blank language field in Spellcheck Dialog (Thank you Tex2002ans)
  • Fix use of different indentation of css via PR from BeckyEbook (Thank you)
  • Fix typos in plugin framework guide (Thank you Doitsu)
  • Fix hang on launch when opf manifested files exist inside the META_INF (Thank you un_pogaz)
  • Fix Metadata Editor bugs related to alternate-script (Thank you Carmina16) (#613)
  • Fix Metadata Editor bugs related to epub2 event dates (Thank you Octet-nl) (#616)

--------------------------------- Notes -----------------------------------

The Sigil user guide has been updated for Sigil-1.6.0+ for the new Saved Search Controls and Find & Replace targets. It can always be downloaded from its own repository.

Three new e-Reader plugins for Sigil have been built to help users see what their ebook might look like in real e-readers while still inside Sigil. See this post for descriptions and links.

Please check the Sigil Wiki for important Sigil support links, additional resource downloads, and platform-specific trouble-shooting tips/requirements.

Mac users should still download and install ActiveState's ActiveTcl Community Edition to utilize plugins that use Tk/Tcl GUIs. More here.
Mac users should also check out the wiki entry on the New Release File Format.

PGP Fingerprint

The binary downloads (and source) can be found as assets at the bottom of The Sigil Github Release page.

DiapDealer 05-29-2021 11:22 AM

Post reserved for future use.

odamizu 05-29-2021 06:33 PM

:thanks: :thanks: Sigil 1.6.0 is an AWESOME update. I especially appreciate the expanded search targets and full search Controls for Saved Searches. This is very useful to me. :thanks:

Question: When I right-click on a Saved Search, there is a "Fill Controls" option at the bottom of the context menu. However, when I select that, nothing seems to happen. Am I missing something? Should I be able to set Saved Searches Controls from the context menu?

In the meantime, I successfully set my Controls by double-clicking in the Control column, no problem :)

Quote:

Originally Posted by DiapDealer (Post 4125737)
  • Find and Replace search targets expanded to include tabbed files, CSS files, OPF and NCX files
  • Saved Searches now save full search Controls (mode, direction, options, and targets)


KevinH 05-29-2021 07:13 PM

Think of Fill Controls as being like Fill Down in Microsoft Excel. It will copy the first Controls value to all of the other Controls fields that are highlighted via dragging or shift click. That way if you want the same controls for an entire saved search group, you just fill in the first Controls and then highlight it and all of the other Controls in the search group and choose Fill controls.

KevinH


Quote:

Originally Posted by odamizu (Post 4125826)
:thanks: :thanks: Sigil 1.6.0 is an AWESOME update. I especially appreciate the expanded search targets and full search Controls for Saved Searches. This is very useful to me. :thanks:

Question: When I right-click on a Saved Search, there is a "Fill Controls" option at the bottom of the context menu. However, when I select that, nothing seems to happen. Am I missing something? Should I be able to set Saved Searches Controls from the context menu?

In the meantime, I successfully set my Controls by double-clicking in the Control column, no problem :)


KevinH 05-29-2021 07:15 PM

FWIW, I tried to update the User's Guide to bring it up to Sigil-1.6.0 levels. So you may want to grab the latest copy of the user guide.

odamizu 05-29-2021 08:08 PM

Quote:

Originally Posted by KevinH (Post 4125832)
Think of Fill Controls as being like Fill Down in Microsoft Excel. It will copy the first Controls value to all of the other Controls fields that are highlighted via dragging or shift click. That way if you want the same controls for an entire saved search group, you just fill in the first Controls and then highlight it and all of the other Controls in the search group and choose Fill controls.

That's excellent! Thank you!

Question: I know I'm probably doing something stupid, but how do you highlight via dragging? Every time I try to drag, the entire search entry moves up or down. (Highlighting via shift click works great.)

Quote:

Originally Posted by KevinH (Post 4125833)
FWIW, I tried to update the User's Guide to bring it up to Sigil-1.6.0 levels. So you may want to grab the latest copy of the user guide.

Yes, I got it. That's how I learned how to set the Controls by clicking in the Control column :)

KevinH 05-29-2021 09:09 PM

Perhaps drag of an entry takes precedence. I forgot that drag can be used to repder entries as I always use the arrow keys to do that.

odamizu 05-30-2021 12:45 AM

Okay, makes sense.

I just attempted a pull request for the User Guide on GitHub to add info on Context Menu > Fill Controls to the Saved Searches chapter.

I am very intimidated by GitHub and don't know what I'm doing, but I wanted to try to expand my brain and figure this out.

Let me know if it worked. If not, I'm happy to post the xhtml file here.

Quote:

Originally Posted by KevinH (Post 4125858)
Perhaps drag of an entry takes precedence. I forgot that drag can be used to repder entries as I always use the arrow keys to do that.


DiapDealer 05-30-2021 09:07 AM

Quote:

Originally Posted by odamizu (Post 4125887)
Okay, makes sense.

I just attempted a pull request for the User Guide on GitHub to add info on Context Menu > Fill Controls to the Saved Searches chapter.

I am very intimidated by GitHub and don't know what I'm doing, but I wanted to try to expand my brain and figure this out.

Let me know if it worked. If not, I'm happy to post the xhtml file here.

It's fine. I merged your pull request this morning. Thanks! If you don't plan on doing a lot of pull requests, it's probably easier to delete your Sigil fork (on github and locally on your machine) and start over next time you want to contribute. Otherwise you have to bother with pulling in the upstream changes to your fork. That can be a bit daunting for beginners.

Notjohn 05-30-2021 11:17 AM

Quote:

Originally Posted by odamizu (Post 4125887)
I am very intimidated by GitHub .

Yes, it's hard to navigate. I can't imagine what a first time Sigil user would make of it.

DiapDealer 05-30-2021 12:10 PM

Quote:

Originally Posted by Notjohn (Post 4125962)
Yes, it's hard to navigate. I can't imagine what a first time Sigil user would make of it.

A first time Sigil user has no need to "navigate" github, or make pull requests (which is what was actually intimidating @odamizu). You're conflating the daunting nature of learning how to use github--as a new user of github--with first time users of Sigil. Who have no need to use github (and no need to create a github account at all).

There are plenty of links that take users (new and old) directly to the release notices that have the downloads attached. No navigation required. Only a bit of reading (which I won't ever apologize for requiring).

Please stop with the passive/aggressive jabs.

Turtle91 05-30-2021 05:27 PM

Again - thanks for all the hard work!

I really don't like being the guy that just complains.... so .... I'm going to recommend a way to make Sigil even better! By fixing a minor bug that I found! lol

The preview pane doesn't update position properly, and/or just goes to the wrong place whenever you update the css.

To replicate:
- If you are finding some text and it switches to a new html page the code view will show the correct location with the found text highlighted, but the preview window just displays the top of the new html page. It appears to go to the correct location if the found phrase is on the same html page.

- If you are looking at a particular location in code view, then switch to the corresponding css (either with ctrl+click on the class name, or manually opening it) then the preview pane switches to some random view (rather than staying with the text you were working with). You can scroll back to the correct location on PV, but then any change to the CSS causes the PV to revert back to the previous random location.

- Also, I'm not sure if it is related, but when I open a book, the preview window seems to be flashing as if it is refreshing. When I change from the initial html page, the flashing seems to go away.


I hope that helps!


edit: Windows 64 (latest), only 16GB RAM:(, latest Sigil (1.6.0)

odamizu 05-30-2021 05:44 PM

Quote:

Originally Posted by DiapDealer (Post 4125943)
It's fine. I merged your pull request this morning. Thanks! If you don't plan on doing a lot of pull requests, it's probably easier to delete your Sigil fork (on github and locally on your machine) and start over next time you want to contribute. Otherwise you have to bother with pulling in the upstream changes to your fork. That can be a bit daunting for beginners.

Woohoo! I'm so thrilled. I have deleted my fork (repository?) and will re-fork every time I want to suggest a commit.

Quote:

Originally Posted by DiapDealer (Post 4125969)
... make pull requests (which is what was actually intimidating @odamizu). You're conflating the daunting nature of learning how to use github--as a new user of github--with first time users of Sigil. Who have no need to use github (and no need to create a github account at all).

Yes, indeed.

Making pull requests on GitHub = intimidating, what with all the forking and pulling and pushing and merging and cloning and branching ... :blink:

However, downloading Sigil from GitHub = no problem :)

DiapDealer 05-30-2021 06:10 PM

Quote:

Originally Posted by Turtle91 (Post 4126062)
Again - thanks for all the hard work!

I really don't like being the guy that just complains.... so .... I'm going to recommend a way to make Sigil even better! By fixing a minor bug that I found! lol

The preview pane doesn't update position properly, and/or just goes to the wrong place whenever you update the css.

To replicate:
- If you are finding some text and it switches to a new html page the code view will show the correct location with the found text highlighted, but the preview window just displays the top of the new html page. It appears to go to the correct location if the found phrase is on the same html page.

- If you are looking at a particular location in code view, then switch to the corresponding css (either with ctrl+click on the class name, or manually opening it) then the preview pane switches to some random view (rather than staying with the text you were working with). You can scroll back to the correct location on PV, but then any change to the CSS causes the PV to revert back to the previous random location.

- Also, I'm not sure if it is related, but when I open a book, the preview window seems to be flashing as if it is refreshing. When I change from the initial html page, the flashing seems to go away.


I hope that helps!


edit: Windows 64 (latest), only 16GB RAM:(, latest Sigil (1.6.0)

We'll check it out. Thanks!

KevinH 05-30-2021 06:27 PM

We may have inadvertently broken something with the changes to prevent double-loading.

And we will need to better store the last location when changing to another tab so that Preview will always be up to date.

I can look into that on Tuesday. I am tied up tomorrow.

Edit:

Actually, I took a look on macOS and I can not recreate what you are seeing.
The location Preview moves to is just not centred on the PV window but instead is placed at the top of the screen.

If I return to that tab (not the css tab) clicking on that line at the top of the Preview Window
brings me back to the exact same place in CV.

At least that is what I am seeing on macOS.

KevinH 05-30-2021 07:00 PM

Update, I tried it again and it did appear much more random this time. So there does appear to be location information gone missing.

KevinH 05-30-2021 08:09 PM

Okay, I have pushed some debug code to master along with a potential fix for the non-proper location syncing when moving from html in CV to css in CV and back.

This will require testing on Windows to make sure I have not broken something there inadvertently (or worse yet brought back the double load problem).

Tex2002ans 05-30-2021 08:25 PM

Quote:

Originally Posted by DiapDealer (Post 4125737)
[*] Redesigned code to make Merging large numbers of files much faster (Thank you Text2002ans)
[*] Fix bug in blank language field in Spellcheck Dialog (Thank you Text2002ans)

Who is this person submitting bugs?

Hmmm... username seems oddly familiar, but I can't quite put my finger on it.

Never heard of this "Text" person though. :D

DiapDealer 05-30-2021 08:27 PM

I just posted it. I didn't compose it this time. ;)

KevinH 05-30-2021 08:28 PM

Brain fart! I will fix it. I write Text much more than I write "Tex".

Sorry about that!

Just ask BeckyEbook how many times I have massacred her user name!

KevinH 05-30-2021 08:32 PM

Fixed on github releases and fixed here!

Also fixed in the ChangeLog.txt

(At least I was consistent!)

DiapDealer 05-31-2021 12:52 PM

I'd love to hear from those who were experiencing performance issues with the 1.4 and 1.5 series. There were a lot of performance-based changes in 1.6.

DNSB 06-01-2021 03:02 AM

Since installing Sigil 1.60 Windows x64, I've had a random error when opening Sigil. The usual popup with Sigil has encountered a problem. Sigil may need to close. Details in the spoiler which oddly ends with The operation completed successfully.

Spoiler:
Code:

Error info: Critical: ARB::createContext: wglCreateContextAttribsARB() failed (GL error code: 0x0) for format: QSurfaceFormat(version 2.0, options QFlags<QSurfaceFormat::FormatOption>(), depthBufferSize 24, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize 8, samples 0, swapBehavior QSurfaceFormat::DefaultSwapBehavior, swapInterval 1, colorSpace QSurfaceFormat::DefaultColorSpace, profile  QSurfaceFormat::NoProfile), shared context: 0x30000 (The operation completed successfully.)
Sigil version: 1.6.0
Runtime Qt: 5.12.9
Compiled Qt: 5.12.9
System: Windows 10 (10.0)
Architecture: x86_64


DiapDealer 06-01-2021 08:35 AM

That's typically memory and/or video driver related. Have you updated your video driver recently? On Linux, a reboot usually fixes the problem (especially if video drivers have been updated without a reboot). On Windows, I've seen it more rarely. But it's never been consistent (or caused any real issues). It's not new to Sigil 1.6.0 by any means. You've reported it yourself RE the 1.4.3 version (https://www.mobileread.com/forums/sh...5&postcount=14). It's been around intermittently since the switch to QtWebEngine.

DNSB 06-01-2021 12:18 PM

Quote:

Originally Posted by DiapDealer (Post 4126497)
That's typically memory and/or video driver related. Have you updated your video driver recently? On Linux, a reboot usually fixes the problem (especially if video drivers have been updated without a reboot). On Windows, I've seen it more rarely. But it's never been consistent (or caused any real issues). It's not new to Sigil 1.6.0 by any means. You've reported it yourself RE the 1.4.3 version (https://www.mobileread.com/forums/sh...5&postcount=14). It's been around intermittently since the switch to QtWebEngine.

I haven't had any video driver updates in close to a year now. As we both mentioned it is not consistent though it does seem to happen more often when I launch Sigil without opening an epub. I mentioned it more since I hadn't seen it when using 1.5 than it actually causing any real issues.

Capricorn 06-02-2021 03:26 AM

A big thank you for all the hard work, and all the time you spent doing this. Much appreciated.

version 1.6.0 runs very well on my computer (latest windows 10 x64 version with all updates - build 19043.1023). No bugs encountered so far, performance is very good.

patrik 06-02-2021 10:08 AM

Thank you. :)

brent63 06-03-2021 01:39 AM

Did anything change that would make the "sigil_split_marker" lighter? I know I just turned 58, and have been needing to were reading glasses, but for some reason after installing Sigil 1.6 the "sigil_split_marker" appear to be very light.

I looked thru preferences and couldn't find any where to change the color. that might be something to add, maybe?

Thanks
Brent

DiapDealer 06-03-2021 06:46 AM

No. Nothing we did would have changed that. But the split marker is just a horizontal rule with a special class name. So an ebook's own css would determine how it's displayed in Preview. So no need for a preference setting to adjust the color.

KevinH 06-03-2021 08:18 AM

And it is treated like any other tag in CodeView and highlighted using the exact same colours as it was in Sigil-1.5.1 which do have user preference settings to select them.

DiapDealer 06-03-2021 09:56 AM

And in Code View, I would expect "sigil_split_marker" to appear to be just as light/dark as any other html attribute value. They're all set by the same preference.

brent63 06-03-2021 06:18 PM

Thank you,

A little tweaking, and my new borders look great.

Brent

hobnail 06-04-2021 12:49 AM

This new version is blazing fast compared to the previous one. My computer is a beast; 16 cores/32 threads, 64 gig of ram, and the previous version ran like molasses.

Tex2002ans 06-05-2021 03:10 AM

Quote:

Originally Posted by DiapDealer (Post 4126255)
I'd love to hear from those who were experiencing performance issues with the 1.4 and 1.5 series. There were a lot of performance-based changes in 1.6.

Absolutely fantastic performance improvements. Reports, Syntax Highlighting, Preview. :thumbsup::thumbsup:

But there have been a few regressions introduced along the way too.

One Spellcheck List issue was already adjusted for next release—1.6.1:

- "In spellcheck do FindSelectedWord only if double-clicked to speed paging"

* * *

The Issue

When used on a very large EPUB (~1.6 million words), Tools > Spellcheck > Spellcheck was sluggish, with noticeable delays between clicks/highlights.

These were the timings in my VM:

- Sigil 1.6.0: ~1.4 seconds
- Sigil 1.5.1: ~1.4 seconds
- Sigil 0.9.14: <0.5 seconds
- Calibre 5.19: Instant

Note: In your typical-sized ebook, these steps barely take a perceivable amount of time.

VM Note: Windows 10 + 2 cores + on an external hard drive.

* * *

If you need an enormous EPUB (~1.3 million words) to poke around in, there's the same one I mentioned in my "monolithic single file" report:

https://mises.org/library/complete-l...orum-1969-1984

If you want it even bigger, just EPUB Merge it with another large ebook. :D

The Steps

While in Spellcheck List (Tools > Spellcheck > Spellcheck)...

Sigil pre-1.6.1

1. Single-click a word in the list. It jumps to the word within Code View.

2. Press Page Down/Up OR single-click any word.

(#.## seconds delay to find/jump within Code View.)

Page Down multiple times, and the delay hits every single time as Sigil searches through Code View.

Sigil 1.6.1+

To mitigate some of this, we settled on:

1. Double-click a word jumps to the word within Code View.

2. Press Page Down/Up OR single-click another word. No jump in Code View.

This allows you to easily make all your adjustments directly in Spellcheck List window (sort columns, Change Selected Word To, Add To Dictionary, [...]) without the need to mess with the code.

Side Note: This double-click jump + single-click stay is the way Calibre's Spellcheck List already works.

* * *

Note: KevinH tested this and couldn't reproduce. No/barely any slowness. Also seems like it would be a huge amount of overhaul for fractional gains.

Here was his explanation to me via PM:

Quote:

Originally Posted by KevinH
As for lookup speed, my tests were not consistent with what you are seeing at all. The longest pause was clicking on a word that was misspelled only near the end of the book when current CV was open at the top of the book timed repeatedly to be was well under 1 second. Double-clicking on random misspelled words was often instantaneous depending on how far forward in the book it first appears.

All of these tests were done with your posted test case.

There really is no way to speed this up without doing the check in parallel across all xhtml files at once, but then sorting it to keep order, and then needing to cache the results for next time. Unfortunately a single IgnoreAll or ReplaceAll would invalidate the cache as would any other changes made.

It is just not worth the overhead unless I wanted to build a list of all places with that word and show the list with some limited context for each time the word was found. And then walk that list. The first find would then take longer while the follow-on for the next in the list would be much faster.

So a sub one second worst case lookup on a huge complex epub with random lookups generally much faster is okay in my book versus the added code complexity and overhead/bookkeeping needed for just incremental improvements unnoticeable with normal length epubs.

Any of you who have an under-powered device sitting around... maybe test some of these steps too. It'll probably be more noticeable compared to our super fast CPUs/SSDs.

... Although at this point, we're niggling over 1 second... Plus, now with Sigil 1.6.1's already-pushed fix, this 1 second will be buried out of the way. :D

KevinH 06-05-2021 01:49 PM

FYI, That fix will probably appear in a 1.7.0 release after a few new features have been added. As for timings, 0.9.14 only searches for a word, not the word and language, so it will be much faster as it does not require any code parsing at all. Sigil, unlike calibre (unless Kovid changed it recently) only finds that word in the specified language so if a common misspelling exists in multiple languages it will just find the one matching the specific language being searched for. So the timings are actually not comparable since they do different things.

Once 1.7.0 is released in a few months (or if people build their own from master) if others see the same timing issues with your test case (that I can not reproduce under macOS) we can revisit things to see if something platform specific is at issue.

BeckyEbook 06-05-2021 05:36 PM

I would like to comment on the problem reported by @Turtle91 here.

Quote:

- If you are finding some text and it switches to a new html page the code view will show the correct location with the found text highlighted, but the preview window just displays the top of the new html page. It appears to go to the correct location if the found phrase is on the same html page.
During pre-1.6.0, released 1.6.0 and current pre-1.6.1 tests (I always have the current private build from master) I noticed this problem many times, but I did not consider Sigil to be guilty, but my old computer (i5-2500K, 16GB).

However, last week I finally bought new equipment (i7-11700, 32GB) and I still have the mentioned problem (Windows 10 Pro).
This is exactly step-by-step:
* I'm opening a new EPUB file.
* I search for a word (the XHTML file with the first finding is opened in a new tab).
* In the Preview window I can see the beginning of the file, although the found word is highlighted in Code View in the middle of the file, far from the beginning of the file.
* If I search for the next word and it appears in the same XHTML file, the Preview window will show the correct place, but if it requires opening a different XHTML file in a new tab, the problem will appear again.

(This is the same situation described by @Turtle91.)

Perhaps this is Windows-only related?

KevinH 06-05-2021 07:13 PM

That should be fixed in master. Please try opening a CV tab, clicking on a word to sync to Preview, next open any css tab, then switch back to the html tab you had opened. You should see the word you clicked on and Preview should have properly synced.

That bug (also reported by Turtle91) fix seemed to fix Preview syncing to CV either via click or via sync to search. At least it does for macOS.

Can you reproduce that part of his bug report in current master as well?

BeckyEbook 06-05-2021 07:20 PM

1 Attachment(s)
Quote:

Originally Posted by KevinH (Post 4127772)
That should be fixed in master. Are you testing with Sigil-1.6.0 or master?

Yes.
Especially just a moment ago, I made a fresh build from the master with the latest commits.
Issue exists.

EDIT: After clicking in the Code View window, it works OK.
Only searching (no clicking) does not work.
Of course, I can live with it if you confirm that this action is intentional.
This is strange because - as mentioned above - Find Next in the same XHTML file works fine and I don't need to click anything.

KevinH 06-05-2021 07:26 PM

I will try again to reproduce what you are seeing on macOS. But the earlier fix should correct both as it involves opening a new tab resource and having Preview sync to CodeView location in that new tab.

I just want to make sure your master build has that fix for the xhtml->css->xhtml tab sequence sync to Preview fix working.

KevinH 06-05-2021 07:29 PM

It is not intentional. The problem is that loading PV from CV and telling it to go to a specific location was working only 60% of the time due to timing issues with sequences of Qt signals.

I thought it was fixed, but I may be wrong.


All times are GMT -4. The time now is 10:41 PM.

Powered by: vBulletin
Copyright ©2000 - 3.8.5, Jelsoft Enterprises Ltd.
MobileRead.com is a privately owned, operated and funded community.