Compare commits
9 Commits
Author | SHA1 | Date |
---|---|---|
Malte Jürgens | 092fbf72b6 | |
Malte Jürgens | 4d3e77bc9a | |
Malte Jürgens | ae57550b46 | |
Malte Jürgens | 6681c0591a | |
Malte Jürgens | 8597416bb5 | |
Malte Jürgens | ce94b44997 | |
Malte Jürgens | 2741e1afaa | |
Malte Jürgens | b2f5f8e7d0 | |
Malte Jürgens | c4c32b1615 |
|
@ -1,4 +1,4 @@
|
|||
cmake_minimum_required(VERSION 3.0)
|
||||
cmake_minimum_required(VERSION 3.11)
|
||||
project(discord-screenaudio)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
@ -13,7 +13,7 @@ find_package(Qt5 CONFIG REQUIRED COMPONENTS
|
|||
WebEngineWidgets
|
||||
)
|
||||
|
||||
set(discord-screenaudio_SRC
|
||||
set(${CMAKE_PROJECT_NAME}_SRC
|
||||
src/main.cpp
|
||||
src/mainwindow.cpp
|
||||
src/virtmic.cpp
|
||||
|
@ -43,9 +43,12 @@ endif()
|
|||
|
||||
add_subdirectory(submodules/rohrkabel)
|
||||
|
||||
add_executable(discord-screenaudio ${discord-screenaudio_SRC})
|
||||
add_executable(${CMAKE_PROJECT_NAME} ${${CMAKE_PROJECT_NAME}_SRC})
|
||||
|
||||
target_link_libraries(discord-screenaudio Qt5::Widgets Qt5::WebEngineWidgets rohrkabel)
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME} Qt5::Widgets Qt5::WebEngineWidgets rohrkabel)
|
||||
|
||||
install(TARGETS discord-screenaudio DESTINATION bin)
|
||||
install(PROGRAMS assets/discord-screenaudio.desktop DESTINATION ${CMAKE_INSTALL_PREFIX}/share/applications)
|
||||
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION bin)
|
||||
install(PROGRAMS assets/${CMAKE_PROJECT_NAME}.desktop DESTINATION share/applications)
|
||||
install(FILES assets/discord.png DESTINATION share/pixmaps)
|
||||
|
||||
add_custom_target(appimage ${CMAKE_SOURCE_DIR}/scripts/build-appimage.sh WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||
|
|
|
@ -4,3 +4,4 @@ Name=discord-screenaudio
|
|||
Exec=discord-screenaudio
|
||||
Icon=discord
|
||||
Terminal=false
|
||||
Categories=Audio;
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 6.8 KiB |
|
@ -117,7 +117,7 @@ setInterval(() => {
|
|||
) {
|
||||
for (const el of document.getElementsByClassName("info-3pQQBb")) {
|
||||
const aboutEl = document.createElement("div");
|
||||
aboutEl.innerText = "discord-screenaudio v1.0.0-rc.7";
|
||||
aboutEl.innerText = "discord-screenaudio v1.0.0-rc.7 (AppImage)";
|
||||
aboutEl.style.fontSize = "12px";
|
||||
aboutEl.style.color = "var(--text-muted)";
|
||||
aboutEl.classList.add("dirscordScreenaudioAboutText");
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
FROM debian:11
|
||||
ADD ./prepare-container.sh /tmp/prepare-container.sh
|
||||
RUN /tmp/prepare-container.sh
|
||||
WORKDIR /work
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check if inside of docker container
|
||||
if [ ! -f /.dockerenv ]; then
|
||||
# Check if docker is available
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "Error: Docker is not available."
|
||||
exit 1
|
||||
fi
|
||||
docker run --rm -u $(id -u) -v "$PWD":/work discord-screenaudio-buildenv bash /work/scripts/build-appimage.sh
|
||||
exit 0
|
||||
fi
|
||||
|
||||
tmpdir="$(mktemp -d)"
|
||||
builddir="$tmpdir/build"
|
||||
appdir="$tmpdir/AppDir"
|
||||
export CMAKE_GENERATOR="Ninja"
|
||||
cmake -B "$builddir" -S "$PWD"
|
||||
cmake --build "$builddir" --config Release
|
||||
DESTDIR="$appdir" cmake --install "$builddir" --prefix "/usr"
|
||||
# Include libnss related files
|
||||
mkdir -p "$appdir/AppDir/usr/lib/"
|
||||
cp -rv "/usr/lib/x86_64-linux-gnu/nss" "$appdir/usr/lib/"
|
||||
|
||||
VERSION="$(cat version)" linuxdeploy \
|
||||
--appdir "$appdir" \
|
||||
--icon-file "assets/discord.png" \
|
||||
--plugin qt \
|
||||
--exclude-library "libpipewire-0.3.so.0" \
|
||||
--output appimage
|
|
@ -0,0 +1,37 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
if [ ! -f /.dockerenv ]; then
|
||||
# Check if docker is available
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "Error: Docker is not available."
|
||||
exit 1
|
||||
fi
|
||||
docker build -t discord-screenaudio-buildenv .
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "-> Installing dependencies with apt..."
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
apt-get update
|
||||
apt-get install -y curl build-essential qtbase5-dev qtwebengine5-dev qt5-qmake cmake ninja-build pkg-config git libpipewire-0.3-dev file
|
||||
|
||||
echo "-> Installing linuxdeploy..."
|
||||
tmpdir="$(mktemp -d)"
|
||||
install_appimage() {
|
||||
curl -Lo "$tmpdir/$1.AppImage" "$2"
|
||||
chmod +x "$tmpdir/$1.AppImage"
|
||||
sed '0,/AI\x02/{s|AI\x02|\x00\x00\x00|}' -i -i "$tmpdir/$1.AppImage"
|
||||
(cd "$tmpdir" && ./$1.AppImage --appimage-extract)
|
||||
mv -v "$tmpdir/squashfs-root" "/opt/$1"
|
||||
ln -sv "/opt/$1/AppRun" "/usr/local/bin/$1"
|
||||
}
|
||||
install_appimage "linuxdeploy" "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
||||
install_appimage "linuxdeploy-plugin-qt" "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
|
||||
|
||||
echo "-> Cleaning up..."
|
||||
rm -rf "$tmpdir"
|
||||
rm /tmp/prepare-container.sh
|
||||
apt-get clean
|
|
@ -37,7 +37,7 @@ DiscordPage::DiscordPage(QWidget *parent) : QWebEnginePage(parent) {
|
|||
}
|
||||
|
||||
void DiscordPage::injectScript(QString source) {
|
||||
qDebug() << "[main ] Injecting " << source;
|
||||
qDebug() << "[main ] Injecting" << source;
|
||||
|
||||
QFile userscript(source);
|
||||
|
||||
|
@ -78,11 +78,10 @@ void DiscordPage::featurePermissionRequested(const QUrl &securityOrigin,
|
|||
bool DiscordPage::acceptNavigationRequest(const QUrl &url,
|
||||
QWebEnginePage::NavigationType type,
|
||||
bool isMainFrame) {
|
||||
qDebug() << url;
|
||||
if (type == QWebEnginePage::NavigationTypeLinkClicked) {
|
||||
QDesktopServices::openUrl(url);
|
||||
return false;
|
||||
}
|
||||
// if (type == QWebEnginePage::NavigationTypeLinkClicked) {
|
||||
// QDesktopServices::openUrl(url);
|
||||
// return false;
|
||||
// }
|
||||
return true;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue