Debian Linux 10.3-64
Some Otter issues (Latest commit 2020-04-02 745b1da)
Batch build
You need to install packages for the build:
cmake
qtbase5-dev - Qt 5 base development files
qtdeclarative5-dev - Qt 5 declarative development files
qtmultimedia5-dev - APIs for multimedia functionality - development files
qtwebengine5-dev - Web content engine library for Qt - development files
qt5-default - Qt 5 development defaults package
libqt5core5a - Qt 5 core module
libqt5dbus5 - Qt 5 D-Bus module
libqt5gui5 - Qt 5 GUI module
libqt5network5 - Qt 5 network module
libqt5positioning5 - Qt Positioning module
libqt5printsupport5 - Qt 5 print support module
libqt5qml5 - Qt 5 QML module
libqt5quick5 - Qt 5 Quick library
libqt5svg5-dev - Qt 5 SVG module development files
libqt5webchannel5-dev - Web communication library for Qt - development files
libqt5webenginecore5 - Web content engine library for Qt — Core
libqt5webenginewidgets5 - Web content engine library for Qt — Widget
libqt5webkit5-dev - Web content engine library for Qt - development files
libqt5widgets5 - Qt 5 widgets module
libhunspell-dev - spell checker and morphological analysis (the header files)
Install:
Enter in to the folder where all files downloaded from git are installed.
mkdir build
cd build
If you need to re-build, just clear the "build" folder.
cmake ../
You need to carefully look at the cmake messages to see if everything is installed for the build.
make -j$(nproc) — the build speeds up several times compared to just "make" (I have 5 times)
sudo make install
Installation via "make-j$(nprocs)" takes me 1:16 min.
Build in Qt Creator
The "Welcome" button should be active in the left column of the Qt Creator window, the "Project" button should be active in the middle column, and the "Open"button should be pressed in the right part of the Session window. Go to the Otter-Browser source code folder and select the file "CmakeLists.txt».
Qt Creator creates a project from " CmakeLists.txt" and checks it every time the project is opened.
When the project is opened, cmake messages are displayed in the "6 General Messages" window. They indicate that there are no problems or yes before the build and that all the necessary packages are available or not.
The build using "Qt Creator" takes me 7:10 min on one processor.
To use the maximum number of processors on your computer, in the left frame of Qt Creator Window press "Projects" button. In the right frame of Window - "Build Setting" click "Details" button of "Build Steps" plate to open the "Tool Aruments" line, in which to specify "-j$(nproc)". However, you can select any fewer processors by specifying, for example, 2 processors: -j2. And in the "Targets" plate below, select the desired target, if necessary. In this case, it is formed in the line above (if target=all is selected):
cmake --build . --target=all -- -j$(nproc)
Then the build takes place in 1:59 min. Apparently the Gui takes its toll. -- after --target=all means the end of the extended parameters (those that start with -- ) and then the old format parameters starting with a single -, type-j$(nproc), which are passed to the selected program of the "make" type (this is clear from https://habr.com/en/post/330902/ in Russian. Those who wish can find something similar in another language).
You can view the order of parameters in Linux in the terminal window by typing:
man 1 getopt
man getopt_long 1
man getopts 1posix
Solve problems
In «/src/modules/backends/web/qtwebkit/» in «QtWebEngineWebBackend.cpp»:
• In"QtWebKitBookmarksImportJob::start ()" in the line:
page.mainFrame()->setHtml(QString:: fromLatin1(file.readAll()));
replaced "fromLatin1" with "fromUtf8". Bookmarks were immediately imported correctly in local encoding.
• In the "/cmake" folder in the file "FindHunspell.cmake" "HUNSPELL" replaced with "Hunspell", otherwise a warning is issued:
CMake Warning (dev) at /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message):
The package name passed to find_package_handle_standard_args (HUNSPELL)
does not match the name of the calling package (Hunspell). This can lead
to problems in calling code that expects find_package result variables
(e.g., _FOUND) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindHunspell.cmake:20 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:78 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found HUNSPELL: /usr/lib/x86_64-linux-gnu/libhunspell-1.7.so
• In «./otter-browser/CmakeLists.txt" you can add any text to the browser version so that it appears in the "Help→About Otter" window after "Otter 1.0.81 weekly", replacing
set(WEEKLY_VERSION "" CACHE STRING "")
for example on
set(WEEKLY_VERSION "- 2020-03-28 00:41 c3b1912")
• You can build a program using the C++ 17 standard by replacing
set(CMAKE_CXX_STANDARD 11) to set(CMAKE_CXX_STANDARD 17)
Using set(CMAKE_CXX_STANDARD 20) produces a lot of warnings.
Problems
A file from 58,000 rows of HTML bookmarks is imported from Firefox. But after 19660, a lines in the input bookmark file are not imported and nothing is reported. You need to split it into 3 files of no more than 56 KB each and import each file separately. Then move the tab folders to the desired locations.
It's probably time to make a full transition from "WebKit"to "WebEngine", because "WebKit" has already been declared obsolete by" The Qt Company Ltd " and since version Qt 4.8, there is no description of WebKit classes in the Qt documentation. Although there are libraries:
libqt5webkit5 - Web content engine library for Qt
libqt5webkit5-dev - Web content engine library for Qt - development files
And there is the source text:
qtwebkit-opensource-src_5.212.0~alpha4.orig.tar.xz
qtwebkit-opensource-src_5.212.0~alpha4-1.debian.tar.xz
At least in Debian.
When viewing the site "https://zen.yandex.ru/" Otter then hangs when closing bookmarks of this site, then not-every other time (and it is from a group of sites "https://www.yandex.ru"). Otter hangs and if it is on any page of this site for 30 seconds. Otter hangs if a stack of video files appears and a black bar appears on top of the stack with a frozen open ring. Firefox works fine with this site.
What I would like in the first place:
To remember the path of the previous import and the next import it started with this path.
To make the "Shift to previous bookmark" and "Shift to next bookmark" buttons appear in the bookmark bar to the right and left of it (as in Firefox) if the number of bookmarks exceeds the screen width. This is necessary if there are many bookmarks. And now in Otter, they just shrink in width, which is inconvenient.
When you click on the menu, a strange bar opens with a list of bookmarks. But with a large number of bookmarks, it is inconvenient to work with it. It is better not to issue it, but to process it like the other menu buttons.
File→ " Import and Export "should be divided into two separate menu items:" Import "and"Export". Functionally, these are different groups of actions.
Debian Linux 10.3-64 Some Otter issues (Latest commit 2020-04-02 745b1da)
Batch build
You need to install packages for the build:
cmake qtbase5-dev - Qt 5 base development files qtdeclarative5-dev - Qt 5 declarative development files qtmultimedia5-dev - APIs for multimedia functionality - development files qtwebengine5-dev - Web content engine library for Qt - development files qt5-default - Qt 5 development defaults package libqt5core5a - Qt 5 core module libqt5dbus5 - Qt 5 D-Bus module libqt5gui5 - Qt 5 GUI module libqt5network5 - Qt 5 network module libqt5positioning5 - Qt Positioning module libqt5printsupport5 - Qt 5 print support module libqt5qml5 - Qt 5 QML module libqt5quick5 - Qt 5 Quick library libqt5svg5-dev - Qt 5 SVG module development files libqt5webchannel5-dev - Web communication library for Qt - development files libqt5webenginecore5 - Web content engine library for Qt — Core libqt5webenginewidgets5 - Web content engine library for Qt — Widget libqt5webkit5-dev - Web content engine library for Qt - development files libqt5widgets5 - Qt 5 widgets module libhunspell-dev - spell checker and morphological analysis (the header files)
Install:
Enter in to the folder where all files downloaded from git are installed. mkdir build cd build If you need to re-build, just clear the "build" folder. cmake ../ You need to carefully look at the cmake messages to see if everything is installed for the build. make -j$(nproc) — the build speeds up several times compared to just "make" (I have 5 times) sudo make install
Installation via "make-j$(nprocs)" takes me 1:16 min.
Build in Qt Creator
The "Welcome" button should be active in the left column of the Qt Creator window, the "Project" button should be active in the middle column, and the "Open"button should be pressed in the right part of the Session window. Go to the Otter-Browser source code folder and select the file "CmakeLists.txt».
Qt Creator creates a project from " CmakeLists.txt" and checks it every time the project is opened. When the project is opened, cmake messages are displayed in the "6 General Messages" window. They indicate that there are no problems or yes before the build and that all the necessary packages are available or not.
The build using "Qt Creator" takes me 7:10 min on one processor.
To use the maximum number of processors on your computer, in the left frame of Qt Creator Window press "Projects" button. In the right frame of Window - "Build Setting" click "Details" button of "Build Steps" plate to open the "Tool Aruments" line, in which to specify "-j$(nproc)". However, you can select any fewer processors by specifying, for example, 2 processors: -j2. And in the "Targets" plate below, select the desired target, if necessary. In this case, it is formed in the line above (if target=all is selected):
Then the build takes place in 1:59 min. Apparently the Gui takes its toll. -- after --target=all means the end of the extended parameters (those that start with -- ) and then the old format parameters starting with a single -, type-j$(nproc), which are passed to the selected program of the "make" type (this is clear from https://habr.com/en/post/330902/ in Russian. Those who wish can find something similar in another language).
You can view the order of parameters in Linux in the terminal window by typing:
Solve problems
In «/src/modules/backends/web/qtwebkit/» in «QtWebEngineWebBackend.cpp»:
• In"QtWebKitBookmarksImportJob::start ()" in the line:
page.mainFrame()->setHtml(QString:: fromLatin1(file.readAll()));
replaced "fromLatin1" with "fromUtf8". Bookmarks were immediately imported correctly in local encoding.• In the "/cmake" folder in the file "FindHunspell.cmake" "HUNSPELL" replaced with "Hunspell", otherwise a warning is issued:
CMake Warning (dev) at /usr/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:272 (message): The package name passed to
find_package_handle_standard_args
(HUNSPELL) does not match the name of the calling package (Hunspell). This can lead to problems in calling code that expectsfind_package
result variables (e.g.,_FOUND
) to follow a certain pattern. Call Stack (most recent call first): cmake/FindHunspell.cmake:20 (FIND_PACKAGE_HANDLE_STANDARD_ARGS) CMakeLists.txt:78 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. -- Found HUNSPELL: /usr/lib/x86_64-linux-gnu/libhunspell-1.7.so• In «./otter-browser/CmakeLists.txt" you can add any text to the browser version so that it appears in the "Help→About Otter" window after "Otter 1.0.81 weekly", replacing
set(WEEKLY_VERSION "" CACHE STRING "")
for example onset(WEEKLY_VERSION "- 2020-03-28 00:41 c3b1912")
• You can build a program using the C++ 17 standard by replacing
set(CMAKE_CXX_STANDARD 11) to set(CMAKE_CXX_STANDARD 17)
Using set(CMAKE_CXX_STANDARD 20) produces a lot of warnings.Problems
What I would like in the first place:
To remember the path of the previous import and the next import it started with this path.
To make the "Shift to previous bookmark" and "Shift to next bookmark" buttons appear in the bookmark bar to the right and left of it (as in Firefox) if the number of bookmarks exceeds the screen width. This is necessary if there are many bookmarks. And now in Otter, they just shrink in width, which is inconvenient.
When you click on the menu, a strange bar opens with a list of bookmarks. But with a large number of bookmarks, it is inconvenient to work with it. It is better not to issue it, but to process it like the other menu buttons.
File→ " Import and Export "should be divided into two separate menu items:" Import "and"Export". Functionally, these are different groups of actions.