Skip to content

Commit 701732b

Browse files
committed
Add adwaita-qt to Linux for gtk style support
Being set in the environment as QT_STYLE_OVERRIDE=adwaita or QT_STYLE_OVERRIDE=adwaita-dark, in order to get the theme. Users with high resolution screens might also need to set QT_AUTO_SCREEN_SCALE_FACTOR=1 in order to see the icons.
1 parent edc5f4e commit 701732b

File tree

4 files changed

+65
-1
lines changed

4 files changed

+65
-1
lines changed

.github/workflows/linux.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ jobs:
3232
sudo cp -pr squashfs-root/usr/lib/* /usr/lib/
3333
rm -rf squashfs-root
3434
chmod -x linuxdeployqt-continuous-x86_64.AppImage
35+
- name: cache adwaita-qt
36+
uses: actions/cache@v3
37+
with:
38+
path: adwaita-qt-1.4.2.tar.gz
39+
key: adwaita-qt-1.4.2.tar.gz
3540
- name: build
3641
run: |
3742
make build-linux

.github/workflows/tag-and-release.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ jobs:
3737
sudo cp -pr squashfs-root/usr/lib/* /usr/lib/
3838
rm -rf squashfs-root
3939
chmod -x linuxdeployqt-continuous-x86_64.AppImage
40+
- name: cache adwaita-qt
41+
uses: actions/cache@v3
42+
with:
43+
path: adwaita-qt-1.4.2.tar.gz
44+
key: adwaita-qt-1.4.2.tar.gz
4045
- name: build
4146
run: |
4247
make build-linux

GNUmakefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,9 @@ build-linux: ## Build minikube-gui for Linux
1717
qmake
1818
make -f Makefile
1919
scripts/build-linux.sh
20+
scripts/build-adwaita.sh
2021
export VERSION=$(subst v,,$(VERSION)) && \
21-
(cd ./bin && linuxdeployqt usr/share/applications/minikube-gui.desktop -verbose=1 -appimage)
22+
(cd ./bin && linuxdeployqt usr/share/applications/minikube-gui.desktop -verbose=1 -appimage -executable=usr/plugins/styles/adwaita.so)
2223
mv ./bin/*.AppImage ./minikube-gui-linux.AppImage
2324
tar -czvf minikube-gui-linux.tar.gz -C ./bin .
2425

scripts/build-adwaita.sh

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
#!/bin/sh
2+
ADWAITAQT_VERSION=1.4.2
3+
4+
sudo -n apt-get update ||:
5+
sudo -n apt-get install -y cmake make pkg-config libx11-dev xcb libx11-xcb-dev libxkbcommon-dev sassc ||:
6+
7+
test -r adwaita-qt-${ADWAITAQT_VERSION}.tar.gz || \
8+
curl -RLOJ https://github.com/FedoraQt/adwaita-qt/archive/refs/tags/${ADWAITAQT_VERSION}.tar.gz
9+
mkdir -p bin
10+
cd bin
11+
tar xzf ../adwaita-qt-${ADWAITAQT_VERSION}.tar.gz
12+
cd adwaita-qt-${ADWAITAQT_VERSION}
13+
patch -p1 <<EOF
14+
diff --git a/CMakeLists.txt b/CMakeLists.txt
15+
index de9249e..9558d77 100644
16+
--- a/CMakeLists.txt
17+
+++ b/CMakeLists.txt
18+
@@ -1,6 +1,6 @@
19+
project(Adwaita)
20+
21+
-cmake_minimum_required(VERSION 3.17)
22+
+cmake_minimum_required(VERSION 3.16)
23+
24+
set(ADWAITAQT_VERSION_MAJOR 1)
25+
set(ADWAITAQT_VERSION "1.4.2")
26+
@@ -13,7 +13,7 @@ if (USE_QT6)
27+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
28+
set(ADWAITAQT_SUFFIX "6")
29+
else()
30+
- set(QT_MIN_VERSION "5.15.2")
31+
+ set(QT_MIN_VERSION "5.12.8")
32+
set(CMAKE_CXX_STANDARD 11)
33+
set(CMAKE_CXX_STANDARD_REQUIRED ON)
34+
set(ADWAITAQT_SUFFIX "")
35+
EOF
36+
mkdir -p build
37+
cd build
38+
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DQT_PLUGINS_DIR=/usr/plugins -DCMAKE_BUILD_TYPE=RelWithDebInfo
39+
make -j2 VERBOSE=1
40+
cd ..
41+
mkdir dest
42+
make -C build -s install DESTDIR=$PWD/dest
43+
make -C build -s clean
44+
cd ..
45+
set -x
46+
mkdir -p usr/lib
47+
cp adwaita-qt-${ADWAITAQT_VERSION}/dest/usr/lib/*/libadwaitaqt.so.1 usr/lib
48+
cp adwaita-qt-${ADWAITAQT_VERSION}/dest/usr/lib/*/libadwaitaqtpriv.so.1 usr/lib
49+
mkdir -p usr/plugins/styles
50+
cp adwaita-qt-${ADWAITAQT_VERSION}/dest/usr/plugins/styles/adwaita.so usr/plugins/styles
51+
set +x
52+
rm -r adwaita-qt-${ADWAITAQT_VERSION}
53+
cd ..

0 commit comments

Comments
 (0)