Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 12 additions & 44 deletions daemon-gtk3/DBus.vala
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,6 @@
* SPDX-License-Identifier: GPL-3.0-or-later
*/

[DBus (name = "org.pantheon.gala")]
public interface Gala.WMDBus : GLib.Object {
public abstract void perform_action (Gala.ActionType type) throws DBusError, IOError;
}

public struct Gala.Daemon.MonitorLabelInfo {
public int monitor;
public string label;
Expand All @@ -19,59 +14,32 @@ public struct Gala.Daemon.MonitorLabelInfo {

[DBus (name = "org.pantheon.gala.daemon")]
public class Gala.Daemon.DBus : GLib.Object {
private const string DBUS_NAME = "org.pantheon.gala";
private const string DBUS_OBJECT_PATH = "/org/pantheon/gala";

private const string DAEMON_DBUS_NAME = "org.pantheon.gala.daemon";
private const string DAEMON_DBUS_OBJECT_PATH = "/org/pantheon/gala/daemon";

private WMDBus? wm_proxy = null;

private WindowMenu? window_menu;
private Gtk.Menu? window_menu;
private BackgroundMenu? background_menu;

private List<MonitorLabel> monitor_labels = new List<MonitorLabel> ();

construct {
Bus.watch_name (BusType.SESSION, DBUS_NAME, BusNameWatcherFlags.NONE, gala_appeared, lost_gala);
load_window_menu.begin ();
}

private void on_gala_get (GLib.Object? obj, GLib.AsyncResult? res) {
private async void load_window_menu () {
DBusConnection connection;
try {
wm_proxy = Bus.get_proxy.end (res);
connection = yield Bus.get (SESSION, null);
} catch (Error e) {
warning ("Failed to get Gala proxy: %s", e.message);
warning ("Failed to get DBus connection: %s", e.message);
return;
}
}

private void lost_gala () {
wm_proxy = null;
}

private void gala_appeared () {
if (wm_proxy == null) {
Bus.get_proxy.begin<WMDBus> (BusType.SESSION, DBUS_NAME, DBUS_OBJECT_PATH, 0, null, on_gala_get);
}
}
var menu_model = DBusMenuModel.get (connection, "org.pantheon.gala", "/io/elementary/gala/window_menu");
var action_group = DBusActionGroup.get (connection, "org.pantheon.gala", "/io/elementary/gala/window_menu");

private void perform_action (Gala.ActionType type) {
if (wm_proxy != null) {
try {
wm_proxy.perform_action (type);
} catch (Error e) {
warning ("Failed to perform Gala action over DBus: %s", e.message);
}
}
window_menu = new Gtk.Menu.from_model (menu_model);
window_menu.insert_action_group ("window-menu", action_group);
}

public void show_window_menu (Gala.WindowFlags flags, int display_width, int display_height, int x, int y) throws DBusError, IOError {
if (window_menu == null) {
window_menu = new WindowMenu ();
window_menu.perform_action.connect (perform_action);
}

window_menu.update (flags);

public void show_window_menu (int display_width, int display_height, int x, int y) throws DBusError, IOError {
show_menu (window_menu, display_width, display_height, x, y, true);
}

Expand Down
194 changes: 0 additions & 194 deletions daemon-gtk3/WindowMenu.vala

This file was deleted.

2 changes: 0 additions & 2 deletions daemon-gtk3/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ gala_daemon_sources = files(
'DBus.vala',
'MonitorLabel.vala',
'Window.vala',
'WindowMenu.vala',
'BackgroundMenu.vala',
)

Expand All @@ -13,7 +12,6 @@ hdy_dep = dependency('libhandy-1')
executable(
'gala-daemon-gtk3',
gala_daemon_sources,
gala_common_enums,
config_header,
gala_resources,
dependencies: [granite6_dep, hdy_dep],
Expand Down
Loading