diff --git a/SparkleShare/Common/Images/Sources/ssnet.svg b/SparkleShare/Common/Images/Sources/ssnet.svg deleted file mode 100644 index 6971d984..00000000 --- a/SparkleShare/Common/Images/Sources/ssnet.svg +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - places - sparkleshare - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SparkleShare/Linux/About.cs b/SparkleShare/Linux/About.cs index cb4e0cde..b4df76b7 100755 --- a/SparkleShare/Linux/About.cs +++ b/SparkleShare/Linux/About.cs @@ -31,8 +31,6 @@ namespace SparkleShare { public About () : base ("About SparkleShare") { - SetWmclass ("SparkleShare", "SparkleShare"); - IconName = "org.sparkleshare.SparkleShare"; Resizable = false; WindowPosition = WindowPosition.CenterAlways; diff --git a/SparkleShare/Linux/EventLog.cs b/SparkleShare/Linux/EventLog.cs index 28ee613b..b6d1c53e 100755 --- a/SparkleShare/Linux/EventLog.cs +++ b/SparkleShare/Linux/EventLog.cs @@ -40,8 +40,6 @@ namespace SparkleShare { public EventLog () : base ("Recent Changes") { - SetWmclass ("SparkleShare", "SparkleShare"); - TypeHint = Gdk.WindowTypeHint.Dialog; IconName = "org.sparkleshare.SparkleShare"; diff --git a/SparkleShare/Linux/Images/icons/hicolor/16x16/apps/org.sparkleshare.SparkleShare.Nightly.png b/SparkleShare/Linux/Images/icons/hicolor/16x16/apps/org.sparkleshare.SparkleShare.Nightly.png new file mode 100644 index 00000000..cd99297b Binary files /dev/null and b/SparkleShare/Linux/Images/icons/hicolor/16x16/apps/org.sparkleshare.SparkleShare.Nightly.png differ diff --git a/SparkleShare/Linux/Images/icons/hicolor/24x24/apps/org.sparkleshare.SparkleShare.Nightly.png b/SparkleShare/Linux/Images/icons/hicolor/24x24/apps/org.sparkleshare.SparkleShare.Nightly.png new file mode 100644 index 00000000..f59ae6a7 Binary files /dev/null and b/SparkleShare/Linux/Images/icons/hicolor/24x24/apps/org.sparkleshare.SparkleShare.Nightly.png differ diff --git a/SparkleShare/Linux/Images/icons/hicolor/256x256/apps/org.sparkleshare.SparkleShare.Nightly.png b/SparkleShare/Linux/Images/icons/hicolor/256x256/apps/org.sparkleshare.SparkleShare.Nightly.png new file mode 100644 index 00000000..e0353208 Binary files /dev/null and b/SparkleShare/Linux/Images/icons/hicolor/256x256/apps/org.sparkleshare.SparkleShare.Nightly.png differ diff --git a/SparkleShare/Linux/Images/icons/hicolor/48x48/apps/org.sparkleshare.SparkleShare.Nightly.png b/SparkleShare/Linux/Images/icons/hicolor/48x48/apps/org.sparkleshare.SparkleShare.Nightly.png new file mode 100644 index 00000000..109db4dc Binary files /dev/null and b/SparkleShare/Linux/Images/icons/hicolor/48x48/apps/org.sparkleshare.SparkleShare.Nightly.png differ diff --git a/SparkleShare/Linux/Images/icons/hicolor/512x512/apps/org.sparkleshare.SparkleShare.Nightly.png b/SparkleShare/Linux/Images/icons/hicolor/512x512/apps/org.sparkleshare.SparkleShare.Nightly.png new file mode 100644 index 00000000..11a9a144 Binary files /dev/null and b/SparkleShare/Linux/Images/icons/hicolor/512x512/apps/org.sparkleshare.SparkleShare.Nightly.png differ diff --git a/SparkleShare/Linux/Images/icons/meson.build b/SparkleShare/Linux/Images/icons/meson.build index 422bda5c..61f42947 100644 --- a/SparkleShare/Linux/Images/icons/meson.build +++ b/SparkleShare/Linux/Images/icons/meson.build @@ -1,14 +1,21 @@ # Install app icons in system theme theme_dir = join_paths(get_option('prefix'), 'share', 'icons', 'hicolor') icon_sizes = ['16', '24', '48', '256', '512'] + app_icon_name = 'org.sparkleshare.SparkleShare' +source_icon_name = app_icon_name + +if get_option('nightly') + source_icon_name = app_icon_name + '.Nightly' +endif foreach size : icon_sizes icon_dir = join_paths(size + 'x' + size, 'apps') install_data( - sources: join_paths('hicolor', icon_dir, app_icon_name + '.png'), - install_dir: join_paths(theme_dir, icon_dir)) + sources: join_paths('hicolor', icon_dir, source_icon_name + '.png'), + install_dir: join_paths(theme_dir, icon_dir), + rename: app_icon_name + '.png') endforeach install_data( diff --git a/SparkleShare/Linux/Note.cs b/SparkleShare/Linux/Note.cs index 6fe81872..e2e998bf 100644 --- a/SparkleShare/Linux/Note.cs +++ b/SparkleShare/Linux/Note.cs @@ -27,8 +27,6 @@ namespace SparkleShare { public Note () : base ("Add Note") { - SetWmclass ("SparkleShare", "SparkleShare"); - IconName = "org.sparkleshare.SparkleShare"; Resizable = false; WindowPosition = WindowPosition.CenterAlways; diff --git a/SparkleShare/Linux/SetupWindow.cs b/SparkleShare/Linux/SetupWindow.cs index a1465d38..4d61a2c7 100644 --- a/SparkleShare/Linux/SetupWindow.cs +++ b/SparkleShare/Linux/SetupWindow.cs @@ -32,15 +32,12 @@ namespace SparkleShare { public SetupWindow () : base ("SparkleShare Setup") { - SetWmclass ("SparkleShare", "SparkleShare"); - IconName = "org.sparkleshare.SparkleShare"; Resizable = false; WindowPosition = WindowPosition.CenterAlways; Deletable = false; TypeHint = Gdk.WindowTypeHint.Dialog; - SetSizeRequest (720, 540); DeleteEvent += delegate (object sender, DeleteEventArgs args) { args.RetVal = true; }; diff --git a/SparkleShare/Linux/SparkleShare.Autostart.desktop b/SparkleShare/Linux/SparkleShare.Autostart.desktop index 29ef7e09..3c4725c8 100755 --- a/SparkleShare/Linux/SparkleShare.Autostart.desktop +++ b/SparkleShare/Linux/SparkleShare.Autostart.desktop @@ -5,3 +5,4 @@ Exec=sh -c "type -P sparkleshare &>/dev/null && sparkleshare || flatpak run org. Icon=org.sparkleshare.SparkleShare Terminal=false X-GNOME-Autostart-enabled=true + diff --git a/SparkleShare/Linux/StatusIcon.cs b/SparkleShare/Linux/StatusIcon.cs index b64f49e5..824e081c 100644 --- a/SparkleShare/Linux/StatusIcon.cs +++ b/SparkleShare/Linux/StatusIcon.cs @@ -51,13 +51,13 @@ namespace SparkleShare { if (use_appindicator) { #if HAVE_APP_INDICATOR indicator = new Indicator ("sparkleshare", "sparkleshare", (int) IndicatorCategory.ApplicationStatus) { - IconName = "org.sparkleshare.SparkleShare-symbolic", + IconName = UserInterface.APP_ID + "-symbolic", Status = (int) IndicatorStatus.Active }; #endif } else { - this.status_icon = new Gtk.StatusIcon { IconName = "org.sparkleshare.SparkleShare" }; + this.status_icon = new Gtk.StatusIcon { IconName = UserInterface.APP_ID }; this.status_icon.Activate += ShowMenu; // Primary mouse button click this.status_icon.PopupMenu += ShowMenu; // Secondary mouse button click } @@ -127,7 +127,7 @@ namespace SparkleShare { this.state_item = new MenuItem (Controller.StateText) { Sensitive = false }; ImageMenuItem folder_item = new SparkleMenuItem ("SparkleShare"); - folder_item.Image = new Image (UserInterfaceHelpers.GetIcon ("org.sparkleshare.SparkleShare", 16)); + folder_item.Image = new Image (UserInterfaceHelpers.GetIcon (UserInterface.APP_ID, 16)); folder_item.Submenu = new Menu (); this.menu.Add (this.state_item); diff --git a/SparkleShare/Linux/UserInterface.cs b/SparkleShare/Linux/UserInterface.cs index 74fd5559..f05d5437 100644 --- a/SparkleShare/Linux/UserInterface.cs +++ b/SparkleShare/Linux/UserInterface.cs @@ -38,6 +38,7 @@ namespace SparkleShare public string SecondaryTextColor; public string SecondaryTextColorSelected; + public static readonly string APP_ID = "org.sparkleshare.SparkleShare"; Application application; @@ -46,7 +47,7 @@ namespace SparkleShare string gtk_version = string.Format ("{0}.{1}.{2}", Global.MajorVersion, Global.MinorVersion, Global.MicroVersion); Logger.LogInfo ("Environment", "GTK+ " + gtk_version); - application = new Application ("org.sparkleshare.SparkleShare", GLib.ApplicationFlags.None); + application = new Application (APP_ID, GLib.ApplicationFlags.None); application.Activated += ApplicationActivatedDelegate; if (!application.IsRemote) @@ -82,7 +83,7 @@ namespace SparkleShare run_method.Invoke ((application as GLib.Application), new object [] { 0, null }); } else { - run_method.Invoke ((application as GLib.Application), new object [] { "org.sparkleshare.SparkleShare", new string [0] }); + run_method.Invoke ((application as GLib.Application), new object [] { APP_ID, new string [0] }); } } diff --git a/SparkleShare/Linux/meson.build b/SparkleShare/Linux/meson.build index d3e0233f..de3367ef 100644 --- a/SparkleShare/Linux/meson.build +++ b/SparkleShare/Linux/meson.build @@ -28,11 +28,19 @@ configure_file( # .desktop and .appdata files apps_dir = join_paths(get_option('prefix'), 'share', 'applications') -install_data(sources: 'org.sparkleshare.SparkleShare.desktop', install_dir: apps_dir) install_data(sources: 'org.sparkleshare.SparkleShare.Invites.desktop', install_dir: apps_dir) install_data(sources: 'SparkleShare.Autostart.desktop', install_dir: apps_dir) install_data(sources: 'org.sparkleshare.SparkleShare.appdata.xml', install_dir: join_paths(get_option('prefix'), 'share', 'appdata')) +if get_option('nightly') + install_data(sources: 'org.sparkleshare.SparkleShare.Nightly.desktop', + install_dir: apps_dir, + rename: 'org.sparkleshare.SparkleShare.desktop') +else + install_data(sources: 'org.sparkleshare.SparkleShare.desktop', + install_dir: apps_dir) +endif + # Build SparkleShare gtk = dependency('gtk-sharp-3.0') diff --git a/SparkleShare/Linux/org.sparkleshare.SparkleShare.Nightly.desktop b/SparkleShare/Linux/org.sparkleshare.SparkleShare.Nightly.desktop new file mode 100755 index 00000000..d1639f81 --- /dev/null +++ b/SparkleShare/Linux/org.sparkleshare.SparkleShare.Nightly.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Type=Application +Name=SparkleShare (Nightly) +Exec=sparkleshare +Icon=org.sparkleshare.SparkleShare +Terminal=false +Categories=Network;FileTransfer;GNOME;GTK; +X-GNOME-UsesNotifications=true + diff --git a/SparkleShare/Linux/org.sparkleshare.SparkleShare.desktop b/SparkleShare/Linux/org.sparkleshare.SparkleShare.desktop index e4587293..03daf3e6 100755 --- a/SparkleShare/Linux/org.sparkleshare.SparkleShare.desktop +++ b/SparkleShare/Linux/org.sparkleshare.SparkleShare.desktop @@ -6,3 +6,4 @@ Icon=org.sparkleshare.SparkleShare Terminal=false Categories=Network;FileTransfer;GNOME;GTK; X-GNOME-UsesNotifications=true + diff --git a/Sparkles/InstallationInfo.Directory.cs.in b/Sparkles/InstallationInfo.Directory.cs.in index 82a50f51..8cbf76f1 100755 --- a/Sparkles/InstallationInfo.Directory.cs.in +++ b/Sparkles/InstallationInfo.Directory.cs.in @@ -27,3 +27,4 @@ namespace Sparkles { public const string Directory = "@ABS_INSTALL_DIR@"; } } + diff --git a/meson_options.txt b/meson_options.txt index a00dc670..a28355c4 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -1,2 +1,3 @@ option('ubuntu', type: 'boolean', value: false) +option('nightly', type: 'boolean', value: false)