linux: Rename icons to work in AppIndicator
Before Width: | Height: | Size: 768 B After Width: | Height: | Size: 768 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 768 B After Width: | Height: | Size: 768 B |
Before Width: | Height: | Size: 831 B After Width: | Height: | Size: 831 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
@ -11,21 +11,29 @@ foreach size : icon_sizes
|
||||||
install_dir: join_paths(theme_dir, icon_dir))
|
install_dir: join_paths(theme_dir, icon_dir))
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
|
||||||
# Install the symbolic icons
|
|
||||||
install_data(
|
install_data(
|
||||||
sources: join_paths('hicolor', 'symbolic', 'apps', app_icon_name + '-symbolic.svg'),
|
sources: join_paths('hicolor', 'symbolic', 'apps', app_icon_name + '-symbolic.svg'),
|
||||||
install_dir: join_paths(theme_dir, 'symbolic', 'apps'))
|
install_dir: join_paths(theme_dir, 'symbolic', 'apps'))
|
||||||
|
|
||||||
symbolic_icons = ['syncing',
|
|
||||||
'syncing-up',
|
|
||||||
'syncing-down',
|
|
||||||
'syncing-error']
|
|
||||||
|
|
||||||
foreach icon : symbolic_icons
|
# Install the status icons
|
||||||
|
status_icons = ['syncing',
|
||||||
|
'syncing-up',
|
||||||
|
'syncing-down',
|
||||||
|
'syncing-error']
|
||||||
|
|
||||||
|
foreach icon : status_icons
|
||||||
install_data(
|
install_data(
|
||||||
sources: join_paths('hicolor', 'symbolic', 'status', 'org.sparkleshare.SparkleShare-' + icon + '-symbolic.svg'),
|
sources: join_paths('hicolor', '24x24', 'status', app_icon_name + '-' + icon + '.png'),
|
||||||
install_dir: join_paths(theme_dir, 'symbolic', 'status'))
|
install_dir: join_paths(theme_dir, '24x24', 'apps'))
|
||||||
|
|
||||||
|
install_data(
|
||||||
|
sources: join_paths('hicolor', '48x48', 'status', app_icon_name + '-' + icon + '.png'),
|
||||||
|
install_dir: join_paths(theme_dir, '48x48', 'apps'))
|
||||||
|
|
||||||
|
install_data(
|
||||||
|
sources: join_paths('hicolor', 'symbolic', 'status', app_icon_name + '-' + icon + '-symbolic.svg'),
|
||||||
|
install_dir: join_paths(theme_dir, 'symbolic', 'apps'))
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,19 +60,3 @@ size = '16'
|
||||||
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'list-point.png'),
|
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'list-point.png'),
|
||||||
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
||||||
|
|
||||||
sizes = ['24', '48']
|
|
||||||
|
|
||||||
foreach size : sizes
|
|
||||||
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'process-syncing.png'),
|
|
||||||
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
|
||||||
|
|
||||||
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'process-syncing-up.png'),
|
|
||||||
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
|
||||||
|
|
||||||
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'process-syncing-down.png'),
|
|
||||||
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
|
||||||
|
|
||||||
install_data(sources: join_paths('hicolor', size + 'x' + size, category, 'process-syncing-error.png'),
|
|
||||||
install_dir: join_paths(app_theme_dir, size + 'x' + size, category))
|
|
||||||
endforeach
|
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ namespace SparkleShare {
|
||||||
public class StatusIcon {
|
public class StatusIcon {
|
||||||
|
|
||||||
public StatusIconController Controller = new StatusIconController ();
|
public StatusIconController Controller = new StatusIconController ();
|
||||||
public static bool use_appindicator = true;
|
public static bool use_appindicator = true;
|
||||||
|
|
||||||
Gtk.StatusIcon status_icon;
|
Gtk.StatusIcon status_icon;
|
||||||
|
|
||||||
|
@ -68,35 +68,27 @@ namespace SparkleShare {
|
||||||
Application.Invoke (delegate {
|
Application.Invoke (delegate {
|
||||||
string icon_name = "org.sparkleshare.SparkleShare";
|
string icon_name = "org.sparkleshare.SparkleShare";
|
||||||
|
|
||||||
if (use_appindicator) {
|
if (state == IconState.SyncingUp)
|
||||||
#if HAVE_APP_INDICATOR
|
icon_name += "-syncing-up";
|
||||||
if (state == IconState.SyncingUp)
|
else if (state == IconState.SyncingDown)
|
||||||
icon_name += "-syncing-up";
|
icon_name += "-syncing-down";
|
||||||
else if (state == IconState.SyncingDown)
|
else if (state == IconState.Syncing)
|
||||||
icon_name += "-syncing-down";
|
icon_name += "-syncing";
|
||||||
else if (state == IconState.Syncing)
|
else if (state == IconState.Error)
|
||||||
icon_name += "-syncing";
|
icon_name += "-syncing-error";
|
||||||
else if (state == IconState.Error)
|
|
||||||
icon_name += "-syncing-error";
|
|
||||||
|
|
||||||
|
if (use_appindicator) {
|
||||||
icon_name += "-symbolic";
|
icon_name += "-symbolic";
|
||||||
|
|
||||||
|
#if HAVE_APP_INDICATOR
|
||||||
indicator.IconName = icon_name;
|
indicator.IconName = icon_name;
|
||||||
|
|
||||||
// Force update of the status icon
|
// Hack to force update the status icon
|
||||||
indicator.Status = (int) IndicatorStatus.Attention;
|
indicator.Status = (int) IndicatorStatus.Attention;
|
||||||
indicator.Status = (int) IndicatorStatus.Active;
|
indicator.Status = (int) IndicatorStatus.Active;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (state == IconState.SyncingUp)
|
|
||||||
icon_name += "process-syncing-up";
|
|
||||||
else if (state == IconState.SyncingDown)
|
|
||||||
icon_name += "process-syncing-down";
|
|
||||||
else if (state == IconState.Syncing)
|
|
||||||
icon_name += "process-syncing";
|
|
||||||
else if (state == IconState.Error)
|
|
||||||
icon_name += "process-syncing-error";
|
|
||||||
|
|
||||||
this.status_icon.IconName = icon_name;
|
this.status_icon.IconName = icon_name;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -51,8 +51,7 @@ namespace SparkleShare
|
||||||
application.Register (null);
|
application.Register (null);
|
||||||
application.Activated += ApplicationActivatedDelegate;
|
application.Activated += ApplicationActivatedDelegate;
|
||||||
|
|
||||||
|
if (IconTheme.Default != null)
|
||||||
//if (IconTheme.Default != null)
|
|
||||||
IconTheme.Default.AppendSearchPath (Path.Combine (UserInterface.AssetsPath, "icons"));
|
IconTheme.Default.AppendSearchPath (Path.Combine (UserInterface.AssetsPath, "icons"));
|
||||||
|
|
||||||
var label = new Label ();
|
var label = new Label ();
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
using Gtk;
|
|
||||||
using Sparkles;
|
using Sparkles;
|
||||||
|
using Gtk;
|
||||||
|
|
||||||
namespace SparkleShare {
|
namespace SparkleShare {
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ namespace SparkleShare {
|
||||||
(int) Math.Truncate (color.Blue / 256.00));
|
(int) Math.Truncate (color.Blue / 256.00));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Gdk.Color RGBAToColor (Gdk.RGBA rgba) {
|
public static Gdk.Color RGBAToColor (Gdk.RGBA rgba) {
|
||||||
return new Gdk.Color () {
|
return new Gdk.Color () {
|
||||||
Red = (ushort) (rgba.Red * 65535),
|
Red = (ushort) (rgba.Red * 65535),
|
||||||
|
@ -85,13 +85,11 @@ namespace SparkleShare {
|
||||||
public static Gdk.Color MixColors (Gdk.Color first_color, Gdk.Color second_color, double ratio)
|
public static Gdk.Color MixColors (Gdk.Color first_color, Gdk.Color second_color, double ratio)
|
||||||
{
|
{
|
||||||
return new Gdk.Color (
|
return new Gdk.Color (
|
||||||
Convert.ToByte ((255 * (Math.Min (65535, first_color.Red * (1.0 - ratio) +
|
Convert.ToByte ((255 * (Math.Min (65535, first_color.Red * (1.0 - ratio) + second_color.Red * ratio))) / 65535),
|
||||||
second_color.Red * ratio))) / 65535),
|
Convert.ToByte ((255 * (Math.Min (65535, first_color.Green * (1.0 - ratio) + second_color.Green * ratio))) / 65535),
|
||||||
Convert.ToByte ((255 * (Math.Min (65535, first_color.Green * (1.0 - ratio) +
|
Convert.ToByte ((255 * (Math.Min (65535, first_color.Blue * (1.0 - ratio) + second_color.Blue * ratio))) / 65535)
|
||||||
second_color.Green * ratio))) / 65535),
|
|
||||||
Convert.ToByte ((255 * (Math.Min (65535, first_color.Blue * (1.0 - ratio) +
|
|
||||||
second_color.Blue * ratio))) / 65535)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -335,7 +335,6 @@ namespace Sparkles.Git {
|
||||||
void InstallConfiguration ()
|
void InstallConfiguration ()
|
||||||
{
|
{
|
||||||
string [] settings = {
|
string [] settings = {
|
||||||
"advice.ignoredHook false",
|
|
||||||
"core.autocrlf input",
|
"core.autocrlf input",
|
||||||
"core.quotepath false", // For commands to output Unicode characters "as is". e.g. '"h\303\251"' becomes 'hé'.
|
"core.quotepath false", // For commands to output Unicode characters "as is". e.g. '"h\303\251"' becomes 'hé'.
|
||||||
"core.precomposeunicode true", // Use the same Unicode form on all filesystems
|
"core.precomposeunicode true", // Use the same Unicode form on all filesystems
|
||||||
|
|