Do you want to build LibreOffice alongside other applications that are open on your computer like the IDEs, and you want to keep the programs responsive during the build? Then you need to know how to tune the parallel build. Here I discuss how. (more…)
Internal includes instead of global ones – EasyHack
In every C/C++ source code file, we use header files to put declarations of functions, data types, class, macro and other relevant things inside it. These files have the extension of .h (for C) and .hxx (for C++). (more…)
VCL application in its minimal form
LibreOffice uses an internal GUI toolkit, named VCL (Visual Class Library). It creates the GUI widgets for LibreOffice, but it is not generally available for other applications. But there are ways that you can create standalone applications with VCL, at least to learn it better. (more…)
Telemetry required? Ask users first!
In this article, I will discuss the recent problems with compiling LibreOffice using Microsoft Visual Studio, things that I did to debug and find the root cause, the source of problem itself – which is problems in Microsoft’s telemetry – and how I could fix it. (more…)
QR code improvement – LibreOffice EasyHack
VCL example applications and tools
You may already know that LibreOffice uses its internal GUI toolkit, named VCL (Visual Class Library). This library is responsible for creating the GUI widgets for LibreOffice, providing abstraction from the operating system including the basic rendering. To see more details, you can read its documentation page: (more…)
String types in LibreOffice C/C++ code – part 1
Strings are very important types of data that are using in LibreOffice. Firstly, they are useful for storing textual data, and is essentially a sequence of characters. As LibreOffice has many modules that depend on various libraries and languages, there are different string types in LibreOffice. Here, we discuss some of them. (more…)
Happy new year 2023!
Happy new year 2023! I wish a great year for you, and the global LibreOffice community.
Here I briefly discuss the year 2022 around the development blog, and the outlook for 2023.
In 2022, I wrote 22 posts around LibreOffice development in this blog. (Some of them are drafts which are not yet published). I hope that my published posts were useful for you to understand LibreOffice code better, and to get involved in LibreOffice core development.
At The Document Foundation (TDF), our aim is to improve LibreOffice, the leading free/open source office software that you and many other people around the world use. Our work is community-driven, and we need your help.

Happy new year to the LibreOffice community
These are some the topics I want to discuss in 2023:
- Various data types in LibreOffice
- LibreOffice build system (gbuild)
- New EasyHacks
- Fixing crashes
- Creating user interfaces with VCL
- LibreOffice core development guide
- SDK development guide
I will be happy if you provide feedback to me in a comment here, or via email. You can email me using hossein AT libreoffice DOT org.
As you may know, I provide mentoring to those who want to start LibreOffice development. You can contact me if you need help via the above email address.
Have a great time!
UNO Data types in code and API
alsVarious data types are used in LibreOffice code and also in LibreOffice API. Here we discuss some of these data types, which are important when you are working with LibreOffice code and API. (more…)
gbuild introduction – LibreOffice build system part 1
LibreOffice uses a build system called gbuild which uses GNU Make. Migrating from the old build system to gbuild started in the OpenOffice days, but the migration took a while and a lot of effort, finishing around LibreOffice 4.1. (more…)