Skip to content

Commit

Permalink
Merge pull request #29 from purejava/appindicator-jdk-21
Browse files Browse the repository at this point in the history
Update to appindicator based on JDK 21
  • Loading branch information
overheadhunter committed Sep 25, 2023
2 parents 8de65ef + 7fbd198 commit 833e24a
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 15 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 20
java-version: 21
cache: 'maven'
- name: Ensure to use tagged version
if: startsWith(github.ref, 'refs/tags/')
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 20
java-version: 21
cache: 'maven'
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-central.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 20
java-version: 21
cache: 'maven'
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
server-username: MAVEN_USERNAME # env variable for username in deploy
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/publish-github.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: 20
java-version: 21
cache: 'maven'
gpg-private-key: ${{ secrets.RELEASES_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
Expand Down
2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,14 @@

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.jdk.version>20</project.jdk.version>
<project.jdk.version>21</project.jdk.version>

<!-- runtime dependencies -->

<api.version>1.3.0</api.version>
<secret-service.version>1.8.1-jdk17</secret-service.version>
<kdewallet.version>1.3.2</kdewallet.version>
<appindicator.version>1.3.4</appindicator.version>
<appindicator.version>1.3.6</appindicator.version>
<guava.version>32.0.0-jre</guava.version>
<slf4j.version>1.7.36</slf4j.version>
<commons-lang3.version>3.12.0</commons-lang3.version>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
package org.cryptomator.linux.tray;

import org.apache.commons.lang3.StringUtils;
import org.cryptomator.integrations.common.CheckAvailability;
import org.cryptomator.integrations.common.OperatingSystem;
import org.cryptomator.integrations.common.Priority;
Expand All @@ -16,7 +15,6 @@

import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
import java.lang.foreign.SegmentScope;
import java.util.List;
import java.util.Optional;
import java.util.function.Consumer;
Expand All @@ -30,7 +28,7 @@ public class AppindicatorTrayMenuController implements TrayMenuController {
private static final String APP_INDICATOR_ID = "org.cryptomator.Cryptomator";
private static final String SVG_SOURCE_PROPERTY = "cryptomator.integrationsLinux.trayIconsDir";

private static final SegmentScope SCOPE = SegmentScope.global();
private static final Arena ARENA = Arena.global();
private MemorySegment indicator;
private MemorySegment menu = gtk_menu_new();
private Optional<String> svgSourcePath;
Expand All @@ -49,7 +47,7 @@ public void showTrayIcon(Consumer<TrayIconLoader> iconLoader, Runnable runnable,
}

private void showTrayIconWithSVG(String s) {
try (var arena = Arena.openConfined()) {
try (var arena = Arena.ofConfined()) {
svgSourcePath = Optional.ofNullable(System.getProperty(SVG_SOURCE_PROPERTY));
// flatpak
if (svgSourcePath.isEmpty()) {
Expand All @@ -74,7 +72,7 @@ public void updateTrayIcon(Consumer<TrayIconLoader> iconLoader) {
}

private void updateTrayIconWithSVG(String s) {
try (var arena = Arena.openConfined()) {
try (var arena = Arena.ofConfined()) {
app_indicator_set_icon(indicator, arena.allocateUtf8String(s));
}
}
Expand All @@ -97,11 +95,11 @@ private void addChildren(MemorySegment menu, List<TrayMenuItem> items) {
switch (item) {
case ActionItem a -> {
var gtkMenuItem = gtk_menu_item_new();
try (var arena = Arena.openConfined()) {
try (var arena = Arena.ofConfined()) {
gtk_menu_item_set_label(gtkMenuItem, arena.allocateUtf8String(a.title()));
g_signal_connect_object(gtkMenuItem,
arena.allocateUtf8String("activate"),
GCallback.allocate(new ActionItemCallback(a), SCOPE),
GCallback.allocate(new ActionItemCallback(a), ARENA),
menu,
0);
}
Expand All @@ -114,7 +112,7 @@ private void addChildren(MemorySegment menu, List<TrayMenuItem> items) {
case SubMenuItem s -> {
var gtkMenuItem = gtk_menu_item_new();
var gtkSubmenu = gtk_menu_new();
try (var arena = Arena.openConfined()) {
try (var arena = Arena.ofConfined()) {
gtk_menu_item_set_label(gtkMenuItem, arena.allocateUtf8String(s.title()));
}
addChildren(gtkSubmenu, s.items());
Expand Down

0 comments on commit 833e24a

Please sign in to comment.