add purposeplugin for kde
This commit is contained in:
39
install.sh
39
install.sh
@@ -128,7 +128,41 @@ chmod +x "$SERVICE_MENU_DIR/f0ckm-uploader-servicemenu.desktop"
|
||||
sed "s|__EXEC_PATH__|$INSTALL_DIR/f0ckm-uploader-gui --upload|g" f0ckm-uploader-servicemenu.desktop > "$LEGACY_SERVICE_MENU_DIR/f0ckm-uploader-servicemenu.desktop"
|
||||
chmod +x "$LEGACY_SERVICE_MENU_DIR/f0ckm-uploader-servicemenu.desktop"
|
||||
|
||||
# 5. Migrate config to config.json if not present
|
||||
# 5. Build and install KDE Purpose plugin (for Gwenview / KDE Share menu)
|
||||
if [ -f "purpose_plugin/build_plugin.sh" ]; then
|
||||
echo "Building KDE Purpose plugin for Gwenview Share Menu..."
|
||||
bash purpose_plugin/build_plugin.sh purpose_plugin &> /dev/null || true
|
||||
if [ -f "purpose_plugin/f0ckmpurposeplugin.so" ]; then
|
||||
PURPOSE_USER_DIR64="$HOME/.local/lib64/qt6/plugins/kf6/purpose"
|
||||
PURPOSE_USER_DIR32="$HOME/.local/lib/qt6/plugins/kf6/purpose"
|
||||
mkdir -p "$PURPOSE_USER_DIR64" "$PURPOSE_USER_DIR32"
|
||||
cp "purpose_plugin/f0ckmpurposeplugin.so" "$PURPOSE_USER_DIR64/f0ckmpurposeplugin.so"
|
||||
cp "purpose_plugin/f0ckmpurposeplugin.so" "$PURPOSE_USER_DIR32/f0ckmpurposeplugin.so"
|
||||
|
||||
if [ -w "/usr/lib64/qt6/plugins/kf6/purpose" ]; then
|
||||
cp "purpose_plugin/f0ckmpurposeplugin.so" "/usr/lib64/qt6/plugins/kf6/purpose/f0ckmpurposeplugin.so" &>/dev/null || true
|
||||
elif sudo -n true 2>/dev/null; then
|
||||
sudo cp "purpose_plugin/f0ckmpurposeplugin.so" "/usr/lib64/qt6/plugins/kf6/purpose/f0ckmpurposeplugin.so" &>/dev/null || true
|
||||
fi
|
||||
|
||||
ENV_DIR="$HOME/.config/environment.d"
|
||||
mkdir -p "$ENV_DIR"
|
||||
cat << 'ENVCONF' > "$ENV_DIR/10-qt-plugins.conf"
|
||||
QT_PLUGIN_PATH="${HOME}/.local/lib64/qt6/plugins:${HOME}/.local/lib/qt6/plugins:/usr/lib64/qt6/plugins:/usr/lib/qt6/plugins"
|
||||
ENVCONF
|
||||
|
||||
PLASMA_ENV_DIR="$HOME/.config/plasma-workspace/env"
|
||||
mkdir -p "$PLASMA_ENV_DIR"
|
||||
cat << 'PLASMAENV' > "$PLASMA_ENV_DIR/10-qt-plugins.sh"
|
||||
export QT_PLUGIN_PATH="${HOME}/.local/lib64/qt6/plugins:${HOME}/.local/lib/qt6/plugins:${QT_PLUGIN_PATH}:/usr/lib64/qt6/plugins:/usr/lib/qt6/plugins"
|
||||
PLASMAENV
|
||||
chmod +x "$PLASMA_ENV_DIR/10-qt-plugins.sh"
|
||||
|
||||
echo " -> Gwenview / KDE Share Menu plugin installed (Upload to f0ckm)"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 6. Migrate config to config.json if not present
|
||||
CONFIG_DIR="$HOME/.config/f0ckm-uploader"
|
||||
CONFIG_FILE="$CONFIG_DIR/config.json"
|
||||
if [ ! -f "$CONFIG_FILE" ]; then
|
||||
@@ -149,7 +183,7 @@ EOF
|
||||
echo "Initial configuration created at $CONFIG_FILE"
|
||||
fi
|
||||
|
||||
# 6. Ensure autostart state matches config.json
|
||||
# 7. Ensure autostart state matches config.json
|
||||
python3 -c '
|
||||
import json, os
|
||||
try:
|
||||
@@ -192,6 +226,7 @@ echo " f0ckm Uploader Installation Complete!"
|
||||
echo "========================================================"
|
||||
echo " -> Executable installed: $INSTALL_DIR/f0ckm-uploader-gui"
|
||||
echo " -> Dolphin context menu registered (Right-click file -> Actions -> Upload to f0ckm)"
|
||||
echo " -> Gwenview / KDE Share menu integration enabled (Upload to f0ckm)"
|
||||
echo " -> Spectacle screenshot export integration enabled"
|
||||
echo " -> Browser extension helper API ready on http://127.0.0.1:18739"
|
||||
echo "========================================================"
|
||||
|
||||
Reference in New Issue
Block a user