Advertisement
Guest User

Untitled

a guest
Jun 10th, 2025
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Diff 4.00 KB | None | 0 0
  1. diff --git a/stm32cubeide b/stm32cubeide
  2. index e17bce3..e66dfdd 100755
  3. --- a/stm32cubeide
  4. +++ b/stm32cubeide
  5. @@ -1,5 +1,35 @@
  6.  #!/bin/sh
  7. -mkdir -p -m 755 $HOME/.java/.systemPrefs
  8. -export _JAVA_OPTIONS="-Djava.util.prefs.systemRoot=$HOME/.java -Djava.util.prefs.userRoot=$HOME/.java/.userPrefs"
  9. +# If $XDG_CONFIG_HOME/stm32cubeide.env exists, source it
  10. +if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/stm32cubeide.env" ]; then
  11. +    # shellcheck source=/dev/null
  12. +    . "${XDG_CONFIG_HOME:-$HOME/.config}/stm32cubeide.env"
  13. +fi
  14. +
  15. +# If _JAVA_OPTIONS exists, try to extract java.util.prefs.systemRoot and java.util.prefs.userRoot from it
  16. +if [ -n "$_JAVA_OPTIONS" ]; then
  17. +    JAVA_SYSTEM_ROOT=$(echo "$_JAVA_OPTIONS" | sed -n 's/.*-Djava.util.prefs.systemRoot=\([^ ]*\).*//p')
  18. +    JAVA_USER_ROOT=$(echo "$_JAVA_OPTIONS" | sed -n 's/.*-Djava.util.prefs.userRoot=\([^ ]*\).*//p')
  19. +fi
  20. +
  21. +# If values do not exist, fallback to "$XDG_CONFIG_HOME/java"
  22. +if [ -z "$JAVA_SYSTEM_ROOT" ]; then
  23. +    JAVA_SYSTEM_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/java"
  24. +    if [ -z "$_JAVA_OPTIONS" ]; then
  25. +        _JAVA_OPTIONS="-Djava.util.prefs.systemRoot=$JAVA_SYSTEM_ROOT"
  26. +    else
  27. +        _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.util.prefs.systemRoot=$JAVA_SYSTEM_ROOT"
  28. +    fi
  29. +fi
  30. +if [ -z "$JAVA_USER_ROOT" ]; then
  31. +    JAVA_USER_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/java"
  32. +    _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.util.prefs.userRoot=$JAVA_USER_ROOT"
  33. +fi
  34. +
  35. +# If $JAVA_SYSTEM_ROOT/.systemPrefs does not exist, create it
  36. +if [ ! -d "$JAVA_SYSTEM_ROOT/.systemPrefs" ]; then
  37. +    mkdir -p "$JAVA_SYSTEM_ROOT/.systemPrefs"
  38. +    chmod 755 "$JAVA_SYSTEM_ROOT/.systemPrefs"
  39. +fi
  40. +export _JAVA_OPTIONS
  41.  
  42.  /opt/stm32cubeide/stm32cubeide "$@"
  43. diff --git a/stm32cubeide.desktop b/stm32cubeide.desktop
  44. index 383bc38..2799772 100644
  45. --- a/stm32cubeide.desktop
  46. +++ b/stm32cubeide.desktop
  47. @@ -3,7 +3,7 @@ Name=STM32CubeIDE
  48.  Comment=Integrated Development Environment for STM32
  49.  GenericName=STM32CubeIDE
  50.  #Exec=env GDK_BACKEND=x11 stm32cubeide %F
  51. -Exec=env WEBKIT_DISABLE_COMPOSITING_MODE=1 stm32cubeide_wayland %F
  52. +Exec=env WEBKIT_DISABLE_COMPOSITING_MODE=1 /usr/bin/stm32cubeide_wayland %F
  53.  #Exec=stm32cubeide_wayland %F
  54.  Icon=stm32cubeide
  55.  Path=/opt/stm32cubeide/
  56. diff --git a/stm32cubeide_wayland b/stm32cubeide_wayland
  57. index f516eb4..0966867 100755
  58. --- a/stm32cubeide_wayland
  59. +++ b/stm32cubeide_wayland
  60. @@ -1,5 +1,35 @@
  61.  #!/bin/sh
  62. -mkdir -p -m 755 $HOME/.java/.systemPrefs
  63. -export _JAVA_OPTIONS="-Djava.util.prefs.systemRoot=$HOME/.java -Djava.util.prefs.userRoot=$HOME/.java/.userPrefs"
  64. +# If $XDG_CONFIG_HOME/stm32cubeide.env exists, source it
  65. +if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/stm32cubeide.env" ]; then
  66. +    # shellcheck source=/dev/null
  67. +    . "${XDG_CONFIG_HOME:-$HOME/.config}/stm32cubeide.env"
  68. +fi
  69. +
  70. +# If _JAVA_OPTIONS exists, try to extract java.util.prefs.systemRoot and java.util.prefs.userRoot from it
  71. +if [ -n "$_JAVA_OPTIONS" ]; then
  72. +    JAVA_SYSTEM_ROOT=$(echo "$_JAVA_OPTIONS" | sed -n 's/.*-Djava.util.prefs.systemRoot=\([^ ]*\).*//p')
  73. +    JAVA_USER_ROOT=$(echo "$_JAVA_OPTIONS" | sed -n 's/.*-Djava.util.prefs.userRoot=\([^ ]*\).*//p')
  74. +fi
  75. +
  76. +# If values do not exist, fallback to "$XDG_CONFIG_HOME/java"
  77. +if [ -z "$JAVA_SYSTEM_ROOT" ]; then
  78. +    JAVA_SYSTEM_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/java"
  79. +    if [ -z "$_JAVA_OPTIONS" ]; then
  80. +        _JAVA_OPTIONS="-Djava.util.prefs.systemRoot=$JAVA_SYSTEM_ROOT"
  81. +    else
  82. +        _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.util.prefs.systemRoot=$JAVA_SYSTEM_ROOT"
  83. +    fi
  84. +fi
  85. +if [ -z "$JAVA_USER_ROOT" ]; then
  86. +    JAVA_USER_ROOT="${XDG_CONFIG_HOME:-$HOME/.config}/java"
  87. +    _JAVA_OPTIONS="$_JAVA_OPTIONS -Djava.util.prefs.userRoot=$JAVA_USER_ROOT"
  88. +fi
  89. +
  90. +# If $JAVA_SYSTEM_ROOT/.systemPrefs does not exist, create it
  91. +if [ ! -d "$JAVA_SYSTEM_ROOT/.systemPrefs" ]; then
  92. +    mkdir -p "$JAVA_SYSTEM_ROOT/.systemPrefs"
  93. +    chmod 755 "$JAVA_SYSTEM_ROOT/.systemPrefs"
  94. +fi
  95. +export _JAVA_OPTIONS
  96.  
  97.  /opt/stm32cubeide/stm32cubeide_wayland "$@"
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement