1
FalkonTutorials/qml/articles/1.Introduction.md
Juraj Oravec b022eabbb5
Type: Change python to QML
Signed-off-by: Juraj Oravec <jurajoravec@mailo.com>
2022-03-19 13:29:26 +01:00

43 lines
1.8 KiB
Markdown

# Falkon QML Tutorial - 1. Introduction
Hello, in this series I would like to introduce and describe how to write extensions for [Falkon](https://www.falkon.org/) web browser with QML.
Starting with Falkon 3.2 there is support for installing extensions from store which can be found at [store.falkon.org](https://store.falkon.org/)
Falkon supports extensions written in C++, Python and QML.
This series will go over the QML implementation.
## Requirements
1. Knowledge of C++ (Beneficial, Optional)
There is no way around this, while there are times when just looking at documentation is enough I prefer the code.
2. The Falkon source code
* The source code for stable release of Falkon can be found at [download.kde.org/stable/falkon/](https://download.kde.org/stable/falkon/)
* The latest source code can be found at the [Gitlab](https://invent.kde.org/network/falkon)
3. Knowledge of QML, QtQuick and Qt
It is good to have Qt documentation and Qt development tools like [Qt Designer](https://doc.qt.io/qt-5/qtdesigner-manual.html) at hand.
## Limitations
> **NOTE:** First I have to mention that I do not know much about QML development, only bits here and there.
* The instance of FalkonAction (toolbar button) is shared between all
Falkon windows in the same instance. This makes it unsuitable for
showing live status of website since it will be totaly broken the moment
another window is opened and I do not want to see that happening to my
extentions.
* The Graphical User Interface created by QML extensions is not styled
according to system color settings and looks awkward on my machine.
## Falkon module
To access Falkon specific features and functions inside the QML script
you need to use `Falkon` module.
```qml
import org.kde.falkon 1.0 as Falkon
```