Hello community,

here is the log from the commit of package budgie-desktop for openSUSE:Factory 
checked in at 2020-11-24 22:12:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/budgie-desktop (Old)
 and      /work/SRC/openSUSE:Factory/.budgie-desktop.new.5913 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "budgie-desktop"

Tue Nov 24 22:12:08 2020 rev:13 rq:850311 version:10.5.1+ed8be169

Changes:
--------
--- /work/SRC/openSUSE:Factory/budgie-desktop/budgie-desktop.changes    
2020-11-03 15:32:05.856930305 +0100
+++ /work/SRC/openSUSE:Factory/.budgie-desktop.new.5913/budgie-desktop.changes  
2020-11-24 22:12:57.459522134 +0100
@@ -1,0 +2,8 @@
+Mon Nov 23 20:06:02 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com>
+
+- Update to version 10.5.1+ed8be169:
+  * Precise fullscreen tracking in Abomination
+  * Update carbontray and fix its copyright headers
+  * Implement setting to choose which side of the screen Raven opens on
+
+-------------------------------------------------------------------

Old:
----
  budgie-desktop-10.5.1+21060898.tar.xz

New:
----
  budgie-desktop-10.5.1+ed8be169.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ budgie-desktop.spec ++++++
--- /var/tmp/diff_new_pack.m66f9A/_old  2020-11-24 22:12:59.119523672 +0100
+++ /var/tmp/diff_new_pack.m66f9A/_new  2020-11-24 22:12:59.123523676 +0100
@@ -16,7 +16,7 @@
 # Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 Name:           budgie-desktop
-Version:        10.5.1+21060898
+Version:        10.5.1+ed8be169
 Release:        0
 Summary:        GTK3 Desktop Environment
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later

++++++ budgie-desktop-10.5.1+21060898.tar.xz -> 
budgie-desktop-10.5.1+ed8be169.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/abomination/abomination.vala 
new/budgie-desktop-10.5.1+ed8be169/src/abomination/abomination.vala
--- old/budgie-desktop-10.5.1+21060898/src/abomination/abomination.vala 
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/abomination/abomination.vala 
2020-11-08 17:30:11.000000000 +0100
@@ -132,14 +132,14 @@
                        });
 
                        app.window.state_changed.connect((changed, new_state) 
=> {
-                               bool now_fullscreen = window.is_fullscreen();
-
-                               if (now_fullscreen) {
-                                       
fullscreen_windows.insert(window.get_name(), window); // Add to 
fullscreen_windows
-                                       toggle_night_light(false); // Toggle 
the night light off if possible
-                               } else {
-                                       
fullscreen_windows.steal(window.get_name()); // Remove from fullscreen_windows
-                                       toggle_night_light(true); // Toggle the 
night light back on if possible
+                               if (Wnck.WindowState.FULLSCREEN in changed) {
+                                       if (new_state == 
Wnck.WindowState.FULLSCREEN) {
+                                               
fullscreen_windows.insert(window.get_name(), window); // Add to 
fullscreen_windows
+                                               toggle_night_light(false); // 
Toggle the night light off if possible
+                                       } else {
+                                               
fullscreen_windows.steal(window.get_name()); // Remove from fullscreen_windows
+                                               toggle_night_light(true); // 
Toggle the night light back on if possible
+                                       }
                                }
                        });
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/child.c 
new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/child.c
--- old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/child.c      
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/child.c      
2020-11-08 17:30:11.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * This file is part of budgie-desktop
  *
- * Copyright © 2015-2020 Budgie Desktop Developers
+ * Copyright © 2020 Budgie Desktop Developers
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -19,7 +19,6 @@
 // static method header
 
 static void carbon_child_init(CarbonChild*);
-static void carbon_child_realize(GtkWidget*);
 static void carbon_child_get_preferred_size(GtkWidget*, int*, int*);
 static bool set_wmclass(CarbonChild*, Display*);
 
@@ -33,7 +32,7 @@
 
 // public method implementations
 
-CarbonChild* carbon_child_new(int size, GdkScreen* screen, Window iconWindow) {
+CarbonChild* carbon_child_new(int size, bool shouldComposite, GdkScreen* 
screen, Window iconWindow) {
        if (GDK_IS_SCREEN(screen) == FALSE) {
                g_warning("No screen to place tray icon onto");
                return NULL;
@@ -73,10 +72,7 @@
        self->isComposited = FALSE;
        gtk_widget_set_visual(GTK_WIDGET(self), visual);
 
-       int eventBaseReturn, errorBaseReturn; // unused, we only need to know 
if composite is supported at all
-       bool supportsComposite = XCompositeQueryExtension(xdisplay, 
&eventBaseReturn, &errorBaseReturn);
-
-       if (supportsComposite) {
+       if (shouldComposite) {
                // check if there is an alpha channel in the visual. if there 
is, we can composite it
                int red_prec, green_prec, blue_prec;
                gdk_visual_get_red_pixel_details(visual, NULL, NULL, &red_prec);
@@ -97,6 +93,33 @@
        return self;
 }
 
+bool carbon_child_realize(CarbonChild* self) {
+       GtkWidget* widget = GTK_WIDGET(self);
+       GdkWindow* window = gtk_widget_get_window(widget);
+
+       GdkDisplay* display = gtk_widget_get_display(widget);
+       gdk_x11_display_error_trap_push(display);
+
+       if (self->isComposited) {
+               XSetWindowBackground(GDK_DISPLAY_XDISPLAY(display), 
self->iconWindow, 0);
+       } else if (gtk_widget_get_visual(widget) == 
gdk_window_get_visual(gdk_window_get_parent(window))) {
+               XSetWindowBackgroundPixmap(GDK_DISPLAY_XDISPLAY(display), 
self->iconWindow, None);
+       } else {
+               self->parentRelativeBg = FALSE;
+       }
+
+       int error = gdk_x11_display_error_trap_pop(display);
+       if (error != 0) {
+               g_warning("Encountered X error %d when setting background for 
tray icon", error);
+               return false;
+       }
+
+       gdk_window_set_composited(window, self->isComposited);
+       gtk_widget_set_app_paintable(widget, self->parentRelativeBg || 
self->isComposited);
+       gtk_widget_set_size_request(widget, self->preferredSize, 
self->preferredSize);
+       return true;
+}
+
 void carbon_child_draw_on_tray(CarbonChild* self, GtkWidget* parent, cairo_t* 
cr) {
        g_return_if_fail(self != NULL);
        g_return_if_fail(parent != NULL);
@@ -131,28 +154,6 @@
        gtk_widget_set_valign(widget, GTK_ALIGN_CENTER);
 }
 
-static void carbon_child_realize(GtkWidget* widget) {
-       CarbonChild* self = CARBON_CHILD(widget);
-
-       gtk_widget_set_size_request(widget, self->preferredSize, 
self->preferredSize);
-       GTK_WIDGET_CLASS(carbon_child_parent_class)->realize(widget);
-
-       GdkWindow* window = gtk_widget_get_window(widget);
-       Display* xdisplay = GDK_WINDOW_XDISPLAY(window);
-       Window xwindow = GDK_WINDOW_XID(window);
-
-       if (self->isComposited) {
-               XSetWindowBackground(xdisplay, xwindow, 0);
-       } else if (gtk_widget_get_visual(widget) == 
gdk_window_get_visual(gdk_window_get_parent(window))) {
-               XSetWindowBackgroundPixmap(xdisplay, xwindow, None);
-       } else {
-               self->parentRelativeBg = FALSE;
-       }
-
-       gdk_window_set_composited(window, self->isComposited);
-       gtk_widget_set_app_paintable(widget, self->parentRelativeBg || 
self->isComposited);
-}
-
 static void carbon_child_get_preferred_size(GtkWidget* base, int* 
minimum_size, int* natural_size) {
        int preferredSize = CARBON_CHILD(base)->preferredSize;
        *minimum_size = preferredSize;
@@ -164,7 +165,6 @@
 
        widget_class->get_preferred_width = carbon_child_get_preferred_size;
        widget_class->get_preferred_height = carbon_child_get_preferred_size;
-       widget_class->realize = carbon_child_realize;
 }
 
 static bool set_wmclass(CarbonChild* self, Display* xdisplay) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/child.h 
new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/child.h
--- old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/child.h      
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/child.h      
2020-11-08 17:30:11.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * This file is part of budgie-desktop
  *
- * Copyright © 2015-2020 Budgie Desktop Developers
+ * Copyright © 2020 Budgie Desktop Developers
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -43,7 +43,9 @@
 
 GType carbon_child_get_type(void);
 
-CarbonChild* carbon_child_new(int, GdkScreen*, Window);
+CarbonChild* carbon_child_new(int, bool, GdkScreen*, Window);
+
+bool carbon_child_realize(CarbonChild*);
 
 void carbon_child_draw_on_tray(CarbonChild*, GtkWidget*, cairo_t*);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/tray.c 
new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/tray.c
--- old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/tray.c       
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/tray.c       
2020-11-08 17:30:11.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * This file is part of budgie-desktop
  *
- * Copyright © 2015-2020 Budgie Desktop Developers
+ * Copyright © 2020 Budgie Desktop Developers
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -96,13 +96,14 @@
        tray->selectionAtom = gdk_atom_intern(selection_name, FALSE);
        g_free(selection_name);
 
-       GdkDisplay* display = gdk_screen_get_display(screen);
-
        tray->invisible = GTK_WIDGET(g_object_ref(G_OBJECT(invisible)));
        set_xproperties(tray);
 
-       unsigned int timestamp = 
gdk_x11_get_server_time(gtk_widget_get_window(invisible));
+       int eventBaseReturn, errorBaseReturn; // unused, we only need to know 
if composite is supported at all
+       tray->supportsComposite = 
XCompositeQueryExtension(GDK_SCREEN_XDISPLAY(screen), &eventBaseReturn, 
&errorBaseReturn);
 
+       unsigned int timestamp = 
gdk_x11_get_server_time(gtk_widget_get_window(invisible));
+       GdkDisplay* display = gdk_screen_get_display(screen);
        bool succeed = gdk_selection_owner_set_for_display(display, 
gtk_widget_get_window(invisible), tray->selectionAtom, timestamp, TRUE);
 
        if (succeed) {
@@ -265,7 +266,7 @@
        }
 
        /* create the socket */
-       CarbonChild* child = carbon_child_new(tray->iconSize, 
gtk_widget_get_screen(tray->invisible), window);
+       CarbonChild* child = carbon_child_new(tray->iconSize, 
tray->supportsComposite, gtk_widget_get_screen(tray->invisible), window);
        if (child == NULL) {
                return;
        }
@@ -280,6 +281,12 @@
                gtk_box_reorder_child(GTK_BOX(tray->box), socket, 0);
        }
 
+       // manually realize with custom method, as sometimes X can throw an 
error here
+       bool realized = carbon_child_realize(child);
+       if (!realized) {
+               return;
+       }
+
        if (GTK_IS_WINDOW(gtk_widget_get_toplevel(socket))) {
                g_signal_connect(G_OBJECT(socket), "plug-removed", 
G_CALLBACK(handle_undock_request), tray);
                gtk_socket_add_id(GTK_SOCKET(socket), window);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/tray.h 
new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/tray.h
--- old/budgie-desktop-10.5.1+21060898/src/applets/tray/carbontray/tray.h       
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/applets/tray/carbontray/tray.h       
2020-11-08 17:30:11.000000000 +0100
@@ -1,7 +1,7 @@
 /*
  * This file is part of budgie-desktop
  *
- * Copyright © 2015-2020 Budgie Desktop Developers
+ * Copyright © 2020 Budgie Desktop Developers
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -23,6 +23,7 @@
 
        GtkWidget* box;
        int iconSize;
+       bool supportsComposite;
 
        GHashTable* socketTable;
        GtkWidget* invisible;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/panel/manager.vala 
new/budgie-desktop-10.5.1+ed8be169/src/panel/manager.vala
--- old/budgie-desktop-10.5.1+21060898/src/panel/manager.vala   2020-10-20 
15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/panel/manager.vala   2020-11-08 
17:30:11.000000000 +0100
@@ -61,6 +61,11 @@
        public const string APPLET_PREFIX = 
"/com/solus-project/budgie-panel/applets";
 
        /**
+       * Schema ID for Raven settings
+       */
+       public const string RAVEN_SCHEMA = "com.solus-project.budgie-raven";
+
+       /**
        * Known panels
        */
        public const string ROOT_KEY_PANELS = "panels";
@@ -98,6 +103,9 @@
        /** Layout to select when reset/init for the first time */
        public const string PANEL_KEY_LAYOUT = "layout";
 
+       /** Position that Raven should have when opening */
+       public const string RAVEN_KEY_POSITION = "raven-position";
+
        /**
        * The current migration level of Budgie, or format change, if you will.
        */
@@ -139,12 +147,14 @@
 
                int primary_monitor = 0;
                Settings settings;
+               Settings raven_settings;
                Peas.Engine engine;
                Peas.ExtensionSet extensions;
 
                HashTable<string,Peas.PluginInfo?> plugins;
 
                private Budgie.Raven? raven = null;
+               RavenPosition raven_position;
 
                private Budgie.ThemeManager theme_manager;
 
@@ -573,6 +583,20 @@
                        scr.size_changed.connect(this.on_monitors_changed);
 
                        settings = new Settings(Budgie.ROOT_SCHEMA);
+
+                       // Listen to the Raven position setting for changes
+                       raven_settings = new Settings(RAVEN_SCHEMA);
+                       raven_position = 
(RavenPosition)raven_settings.get_enum(RAVEN_KEY_POSITION);
+                       raven_settings.changed[RAVEN_KEY_POSITION].connect(() 
=> {
+                               RavenPosition new_position = 
(RavenPosition)raven_settings.get_enum(RAVEN_KEY_POSITION);
+                               if (new_position != raven_position) {
+                                       raven_position = new_position;
+
+                                       // Raven needs to know about its new 
position
+                                       update_screen();
+                               }
+                       });
+                       
                        this.default_layout = 
settings.get_string(PANEL_KEY_LAYOUT);
                        theme_manager = new Budgie.ThemeManager();
                        raven = new Budgie.Raven(this);
@@ -1085,7 +1109,54 @@
                                raven_screen.height -= bottom.intended_size - 5;
                        }
 
-                       if (left != null & right == null) {
+                       // Set which side of the screen Raven should appear on
+                       switch (raven_position) {
+                               case RavenPosition.LEFT:
+                                       /* Stick/maybe hug left */
+                                       raven.screen_edge = 
Gtk.PositionType.LEFT;
+                                       if (left != null) {
+                                               raven_screen.x += 
left.intended_size;
+                                       }
+                                       break;
+                               case RavenPosition.RIGHT:
+                                       /* Stick/maybe hug right */
+                                       raven.screen_edge = 
Gtk.PositionType.RIGHT;
+                                       if (right != null) {
+                                               raven_screen.width -= 
(right.intended_size);
+                                       }
+                                       break;
+                               case RavenPosition.AUTOMATIC:
+                               default:
+                                       set_raven_position(left, right, ref 
raven_screen);
+                                       break;
+                       }
+
+                       /* Let Raven update itself accordingly */
+                       raven.update_geometry(raven_screen);
+                       this.panels_changed();
+               }
+
+               bool is_panel_huggable(Budgie.Toplevel? panel) {
+                       if (panel == null) {
+                               return false;
+                       }
+                       if (panel.autohide != AutohidePolicy.NONE) {
+                               return false;
+                       }
+                       if (panel.dock_mode) {
+                               return false;
+                       }
+                       return true;
+               }
+
+               /**
+                * Use the current panel layouts to figure out Raven's position.
+                *
+                * This function sets which side of the screen Raven should be 
on,
+                * as well as Raven's position or width (if it's on the right 
side).
+                */
+               void set_raven_position(Toplevel? left, Toplevel? right, ref 
Gdk.Rectangle raven_screen) {
+                       if (left != null && right == null) {
                                if (this.is_panel_huggable(left)) {
                                        /* Hug left */
                                        raven.screen_edge = 
Gtk.PositionType.LEFT;
@@ -1118,23 +1189,6 @@
                                        raven_screen.width -= 
(right.intended_size);
                                }
                        }
-
-                       /* Let Raven update itself accordingly */
-                       raven.update_geometry(raven_screen);
-                       this.panels_changed();
-               }
-
-               bool is_panel_huggable(Budgie.Toplevel? panel) {
-                       if (panel == null) {
-                               return false;
-                       }
-                       if (panel.autohide != AutohidePolicy.NONE) {
-                               return false;
-                       }
-                       if (panel.dock_mode) {
-                               return false;
-                       }
-                       return true;
                }
 
                /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/panel/settings/settings_raven.vala 
new/budgie-desktop-10.5.1+ed8be169/src/panel/settings/settings_raven.vala
--- old/budgie-desktop-10.5.1+21060898/src/panel/settings/settings_raven.vala   
2020-10-20 15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/panel/settings/settings_raven.vala   
2020-11-08 17:30:11.000000000 +0100
@@ -14,6 +14,7 @@
        * RavenPage shows options for configuring Raven
        */
        public class RavenPage : Budgie.SettingsPage {
+               private Gtk.ComboBox? raven_position;
                private Gtk.Switch? allow_volume_overdrive;
                private Gtk.Switch? enable_week_numbers;
                private Gtk.Switch? show_calendar_widget;
@@ -34,6 +35,33 @@
                        var grid = new SettingsGrid();
                        this.add(grid);
 
+                       raven_position = new Gtk.ComboBox();
+
+                       // Add options for Raven position
+                       var render = new Gtk.CellRendererText();
+                       var model = new Gtk.ListStore(3, typeof(string), 
typeof(string), typeof(RavenPosition));
+                       Gtk.TreeIter iter;
+                       const RavenPosition[] positions = {
+                               RavenPosition.AUTOMATIC,
+                               RavenPosition.LEFT,
+                               RavenPosition.RIGHT
+                       };
+
+                       foreach (var pos in positions) {
+                               model.append(out iter);
+                               model.set(iter, 0, pos.to_string(), 1, 
pos.get_display_name(), 2, pos, -1);
+                       }
+
+                       raven_position.set_model(model);
+                       raven_position.pack_start(render, true);
+                       raven_position.add_attribute(render, "text", 1);
+                       raven_position.set_id_column(0);
+
+                       grid.add_row(new SettingsRow(raven_position,
+                               _("Set Raven position"),
+                               _("Set which side of the screen Raven will open 
on. If set to Automatic, Raven will open where its parent panel is.")
+                       ));
+
                        allow_volume_overdrive = new Gtk.Switch();
                        grid.add_row(new SettingsRow(allow_volume_overdrive,
                                _("Allow raising volume above 100%"),
@@ -76,6 +104,7 @@
                        ));
 
                        raven_settings = new 
Settings("com.solus-project.budgie-raven");
+                       raven_settings.bind("raven-position", raven_position, 
"active-id", SettingsBindFlags.DEFAULT);
                        raven_settings.bind("allow-volume-overdrive", 
allow_volume_overdrive, "active", SettingsBindFlags.DEFAULT);
                        raven_settings.bind("enable-week-numbers", 
enable_week_numbers, "active", SettingsBindFlags.DEFAULT);
                        raven_settings.bind("show-calendar-widget", 
show_calendar_widget, "active", SettingsBindFlags.DEFAULT);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/raven/com.solus-project.budgie.raven.gschema.xml
 
new/budgie-desktop-10.5.1+ed8be169/src/raven/com.solus-project.budgie.raven.gschema.xml
--- 
old/budgie-desktop-10.5.1+21060898/src/raven/com.solus-project.budgie.raven.gschema.xml
     2020-10-20 15:47:36.000000000 +0200
+++ 
new/budgie-desktop-10.5.1+ed8be169/src/raven/com.solus-project.budgie.raven.gschema.xml
     2020-11-08 17:30:11.000000000 +0100
@@ -1,7 +1,19 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <schemalist gettext-domain="budgie-desktop">
 
+  <enum id="com.solus-project.budgie-raven.RavenPosition">
+    <value nick="BUDGIE_RAVEN_POSITION_AUTOMATIC" value="1" />
+    <value nick="BUDGIE_RAVEN_POSITION_LEFT" value="2" />
+    <value nick="BUDGIE_RAVEN_POSITION_RIGHT" value="3" />
+  </enum>
+
   <schema path="/com/solus-project/budgie-raven/" 
id="com.solus-project.budgie-raven">
+    <key enum="com.solus-project.budgie-raven.RavenPosition" 
name="raven-position">
+      <default>'BUDGIE_RAVEN_POSITION_AUTOMATIC'</default>
+      <summary>Set Raven position</summary>
+      <description>Set which side of the screen Raven will open on. If set to 
Automatic, Raven will open where its parent panel is.</description>
+    </key>
+
     <key type="b" name="allow-volume-overdrive">
       <default>false</default>
       <summary>Allow raising volume above 100%</summary>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/budgie-desktop-10.5.1+21060898/src/raven/main_view.vala 
new/budgie-desktop-10.5.1+ed8be169/src/raven/main_view.vala
--- old/budgie-desktop-10.5.1+21060898/src/raven/main_view.vala 2020-10-20 
15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/raven/main_view.vala 2020-11-08 
17:30:11.000000000 +0100
@@ -102,6 +102,12 @@
                * on_raven_settings_changed will handle when the settings for 
Raven widgets have changed
                */
                void on_raven_settings_changed(string key) {
+                       // This key is handled by the panel manager instead of 
Raven directly.
+                       // Moreover, it isn't a boolean so it logs a Critical 
message on the get_boolean() below.
+                       if (key == "raven-position") {
+                               return;
+                       }
+
                        bool show_widget = raven_settings.get_boolean(key);
 
                        /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/budgie-desktop-10.5.1+21060898/src/raven/raven.vala 
new/budgie-desktop-10.5.1+ed8be169/src/raven/raven.vala
--- old/budgie-desktop-10.5.1+21060898/src/raven/raven.vala     2020-10-20 
15:47:36.000000000 +0200
+++ new/budgie-desktop-10.5.1+ed8be169/src/raven/raven.vala     2020-11-08 
17:30:11.000000000 +0100
@@ -13,6 +13,33 @@
        public const string RAVEN_DBUS_NAME = "org.budgie_desktop.Raven";
        public const string RAVEN_DBUS_OBJECT_PATH = 
"/org/budgie_desktop/Raven";
 
+       /**
+        * Possible positions for Raven to be in.
+        *
+        * Automatic positioning will make Raven open on whichever side
+        * of the screen that the Raven toggle button is on.
+        */
+       public enum RavenPosition {
+               AUTOMATIC = 1,
+               LEFT = 2,
+               RIGHT = 3;
+
+               /**
+                * Get a user-friendly localized name for the position.
+                */
+               public string get_display_name() {
+                       switch (this) {
+                       case RavenPosition.LEFT:
+                               return _("Left");
+                       case RavenPosition.RIGHT:
+                               return _("Right");
+                       case RavenPosition.AUTOMATIC:
+                       default:
+                               return _("Automatic");
+                       }
+               }
+       }
+
        [DBus (name="org.budgie_desktop.Raven")]
        public class RavenIface {
                private Raven? parent = null;
_______________________________________________
openSUSE Commits mailing list -- commit@lists.opensuse.org
To unsubscribe, email commit-le...@lists.opensuse.org
List Netiquette: https://en.opensuse.org/openSUSE:Mailing_list_netiquette
List Archives: 
https://lists.opensuse.org/archives/list/commit@lists.opensuse.org

Reply via email to