diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | src/actionGroups/windowListGroup.vala | 2 | ||||
| -rw-r--r-- | src/actions/actionRegistry.vala | 2 | ||||
| -rw-r--r-- | src/deamon.vala | 6 | ||||
| -rw-r--r-- | src/gui/indicator.vala | 17 | ||||
| -rw-r--r-- | src/gui/piePreview.vala | 3 | ||||
| -rw-r--r-- | src/gui/preferencesWindow.vala | 4 | ||||
| -rw-r--r-- | src/gui/sliceTypeList.vala | 2 | ||||
| -rw-r--r-- | src/images/icon.vala | 4 | ||||
| -rw-r--r-- | src/images/renderedText.vala | 18 | ||||
| -rw-r--r-- | src/pies/load.vala | 2 | ||||
| -rw-r--r-- | src/renderers/pieWindow.vala | 12 | 
12 files changed, 46 insertions, 27 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 91ed3ab..7138fdd 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -82,6 +82,7 @@ install(  install(  	FILES  		${CMAKE_SOURCE_DIR}/resources/gnome-pie.svg +		${CMAKE_SOURCE_DIR}/resources/gnome-pie-symbolic.svg  	DESTINATION  		${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/scalable/apps  ) diff --git a/src/actionGroups/windowListGroup.vala b/src/actionGroups/windowListGroup.vala index 18bf55b..774666f 100644 --- a/src/actionGroups/windowListGroup.vala +++ b/src/actionGroups/windowListGroup.vala @@ -32,7 +32,7 @@ public class WindowListGroup : ActionGroup {      public static GroupRegistry.TypeDescription register() {          var description = new GroupRegistry.TypeDescription();          description.name = _("Group: Window List"); -        description.icon = "window-manager"; +        description.icon = "gnome-window-manager";          description.description = _("Shows a Slice for each of your opened Windows. Almost like Alt-Tab.");          description.id = "window_list";          return description; diff --git a/src/actions/actionRegistry.vala b/src/actions/actionRegistry.vala index 705c06c..24cc1fe 100644 --- a/src/actions/actionRegistry.vala +++ b/src/actions/actionRegistry.vala @@ -148,7 +148,7 @@ public class ActionRegistry : GLib.Object {          }          if (!Gtk.IconTheme.get_default().has_icon(final_icon)) -                final_icon = "application-default-icon"; +                final_icon = "stock_unknown";          if (name != null)              final_name = name; diff --git a/src/deamon.vala b/src/deamon.vala index b622028..2424f8f 100644 --- a/src/deamon.vala +++ b/src/deamon.vala @@ -36,7 +36,7 @@ public class Deamon : GLib.Object {      /////////////////////////////////////////////////////////////////////      public static int main(string[] args) { -        version = "0.5.1"; +        version = "0.5.2";          Logger.init();          Gdk.threads_init(); @@ -148,6 +148,8 @@ public class Deamon : GLib.Object {              return Unique.Response.PASSTHROUGH;          }); +        Gdk.threads_enter(); +                  // init locale support          Intl.bindtextdomain ("gnomepie", Paths.locales);          Intl.textdomain ("gnomepie"); @@ -174,6 +176,8 @@ public class Deamon : GLib.Object {  	    if (open_pie != null) PieManager.open_pie(open_pie);  	    Gtk.main(); +	     +	    Gdk.threads_leave();      }      ///////////////////////////////////////////////////////////////////// diff --git a/src/gui/indicator.vala b/src/gui/indicator.vala index dea4d3c..c8ef445 100644 --- a/src/gui/indicator.vala +++ b/src/gui/indicator.vala @@ -46,7 +46,6 @@ public class Indicator : GLib.Object {      public bool active {          get { -                      #if HAVE_APPINDICATOR                  return indicator.get_status() == AppIndicator.IndicatorStatus.ACTIVE;              #else @@ -68,12 +67,18 @@ public class Indicator : GLib.Object {      /////////////////////////////////////////////////////////////////////      public Indicator() { +        string icon = ""; +             +        if (Gdk.X11Screen.get_window_manager_name(Gdk.Screen.get_default()) == "Mutter") +            icon = "gnome-pie"; +        else +            icon = "gnome-pie-symbolic"; +                          #if HAVE_APPINDICATOR              string path = ""; -            string icon = "indicator-applet"; +              try {                  path = GLib.Path.get_dirname(GLib.FileUtils.read_link("/proc/self/exe"))+"/resources"; -                icon = "gnome-pie";              } catch (GLib.FileError e) {                  warning("Failed to get path of executable!");              } @@ -86,16 +91,16 @@ public class Indicator : GLib.Object {              try {                  var file = GLib.File.new_for_path(GLib.Path.build_filename(                      GLib.Path.get_dirname(GLib.FileUtils.read_link("/proc/self/exe"))+"/resources", -                    "gnome-pie.svg" +                    icon + ".svg"                  ));                  if (!file.query_exists()) -                  this.indicator.set_from_icon_name("gnome-pie"); +                  this.indicator.set_from_icon_name(icon);                  else                    this.indicator.set_from_file(file.get_path());              } catch (GLib.FileError e) {                  warning("Failed to get path of executable!"); -                this.indicator.set_from_icon_name("gnome-pie"); +                this.indicator.set_from_icon_name(icon);              }              this.menu = new Gtk.Menu(); diff --git a/src/gui/piePreview.vala b/src/gui/piePreview.vala index 4963bb2..5745fcb 100644 --- a/src/gui/piePreview.vala +++ b/src/gui/piePreview.vala @@ -111,9 +111,6 @@ class PiePreview : Gtk.DrawingArea {          this.new_slice_window.on_select.connect((new_action, as_new_slice, at_position) => {              var pie = PieManager.all_pies[this.current_id]; -            debug(new_action.actions[0].name); -            debug(new_action.actions[0].real_command); -                          if (new_action.has_quickaction())                  renderer.disable_quickactions(); diff --git a/src/gui/preferencesWindow.vala b/src/gui/preferencesWindow.vala index 933919b..3055bc5 100644 --- a/src/gui/preferencesWindow.vala +++ b/src/gui/preferencesWindow.vala @@ -174,7 +174,7 @@ public class PreferencesWindow : GLib.Object {              this.id_label.label = "";              this.name_label.label = _("No Pie selected.");              this.hotkey_label.set_markup(""); -            this.icon.icon_name = "application-default-icon"; +            this.icon.icon_name = "stock_unknown";              this.no_pie_label.show();          } else { @@ -212,7 +212,7 @@ public class PreferencesWindow : GLib.Object {      /////////////////////////////////////////////////////////////////////      private void on_add_pie_button_clicked(Gtk.ToolButton button) { -        var new_pie = PieManager.create_persistent_pie(_("New Pie"), "application-default-icon", null); +        var new_pie = PieManager.create_persistent_pie(_("New Pie"), "stock_unknown", null);          this.pie_list.reload_all();          this.pie_list.select(new_pie.id);      } diff --git a/src/gui/sliceTypeList.vala b/src/gui/sliceTypeList.vala index b447dc3..a339e5e 100644 --- a/src/gui/sliceTypeList.vala +++ b/src/gui/sliceTypeList.vala @@ -140,7 +140,7 @@ class SliceTypeList : Gtk.TreeView {              this.data.get(active, DataPos.ICON_NAME, out icon);              this.on_select(id, icon);          } else { -            this.on_select("", "application-default-icon"); +            this.on_select("", "stock_unknown");          }      } diff --git a/src/images/icon.vala b/src/images/icon.vala index e942e7c..42be41f 100644 --- a/src/images/icon.vala +++ b/src/images/icon.vala @@ -105,7 +105,7 @@ public class Icon : Image {                  return icon_name;              warning("Icon \"" + icon_name + "\" not found! Using default icon..."); -            icon_name = "application-default-icon"; +            icon_name = "stock_unknown";          } @@ -115,7 +115,7 @@ public class Icon : Image {          if (result == "") {              warning("Icon \"" + icon_name + "\" not found! Using default icon..."); -            icon_name = "application-default-icon"; +            icon_name = "stock_unknown";              file = icon_theme.lookup_icon(icon_name, size, 0);              if (file != null) result = file.get_filename();          } diff --git a/src/images/renderedText.vala b/src/images/renderedText.vala index e99d26a..544af1f 100644 --- a/src/images/renderedText.vala +++ b/src/images/renderedText.vala @@ -71,21 +71,29 @@ public class RenderedText : Image {              // add newlines at the end of each line, in order to allow ellipsizing              string broken_string = ""; -            var lines = layout.get_lines().copy(); -            foreach (var line in lines) { +            for (int i=0; i<layout.get_line_count(); ++i) { -                string next_line = text.substring(line.start_index, line.length); +                string next_line = ""; +                if (i == layout.get_line_count() -1)  +                    next_line = text.substring(layout.get_line(i).start_index, -1); +                else                                  +                    next_line = text.substring(layout.get_line(i).start_index, layout.get_line(i).length);                  if (broken_string == "") {                      broken_string = next_line;                  } else if (next_line != "") {                      // test whether the addition of a line would cause the height to become too large                      string broken_string_tmp = broken_string + "\n" + next_line; +                     +                    var layout_tmp = Pango.cairo_create_layout(ctx);         +                    layout_tmp.set_width(Pango.units_from_double(width)); +                     +                    layout_tmp.set_font_description(font_description); -                    layout.set_text(broken_string_tmp, -1); +                    layout_tmp.set_text(broken_string_tmp, -1);                      Pango.Rectangle extents; -                    layout.get_pixel_extents(null, out extents); +                    layout_tmp.get_pixel_extents(null, out extents);                      if (extents.height > height) broken_string = broken_string + next_line;                      else                         broken_string = broken_string_tmp; diff --git a/src/pies/load.vala b/src/pies/load.vala index 4a9274d..cb08a8a 100644 --- a/src/pies/load.vala +++ b/src/pies/load.vala @@ -60,8 +60,6 @@ namespace Pies {                          }                       }                  } -                Xml.Parser.cleanup(); -                              } else {                  warning("Error loading pies: pies.conf is empty! The cake is a lie...");              } diff --git a/src/renderers/pieWindow.vala b/src/renderers/pieWindow.vala index 852a739..5238dfe 100644 --- a/src/renderers/pieWindow.vala +++ b/src/renderers/pieWindow.vala @@ -55,6 +55,7 @@ public class PieWindow : Gtk.Window {      /////////////////////////////////////////////////////////////////////      private bool closing = false; +    private bool closed = false;      /////////////////////////////////////////////////////////////////////      /// A timer used for calculating the frame time. @@ -186,7 +187,10 @@ public class PieWindow : Gtk.Window {          this.queue_draw();          // the main draw loop -        Timeout.add((uint)(1000.0/Config.global.refresh_rate), () => { +        GLib.Timeout.add((uint)(1000.0/Config.global.refresh_rate), () => {   +            if (this.closed) +                return false; +                                            this.queue_draw();              return this.visible;          });  @@ -266,7 +270,8 @@ public class PieWindow : Gtk.Window {              FocusGrabber.ungrab();              this.renderer.activate(); -            Timeout.add((uint)(Config.global.theme.fade_out_time*1000), () => { +            GLib.Timeout.add((uint)(Config.global.theme.fade_out_time*1000), () => { +                this.closed = true;                  this.on_closed();                  this.destroy();                  return false; @@ -286,7 +291,8 @@ public class PieWindow : Gtk.Window {              FocusGrabber.ungrab();              this.renderer.cancel(); -            Timeout.add((uint)(Config.global.theme.fade_out_time*1000), () => { +            GLib.Timeout.add((uint)(Config.global.theme.fade_out_time*1000), () => { +                this.closed = true;                  this.on_closed();                  this.destroy();                  return false;  | 
