Esempio n. 1
0
static void budgie_wm_start(MetaPlugin *plugin)
{
        BudgieWM *self = BUDGIE_WM(plugin);
        MetaScreen *screen = meta_plugin_get_screen(plugin);
        ClutterActor* actors[2];

        /* Init background */
        self->priv->background_group = meta_background_group_new();
        clutter_actor_set_reactive(self->priv->background_group, TRUE);
        clutter_actor_insert_child_below(meta_get_window_group_for_screen(screen),
        self->priv->background_group, NULL);

        g_signal_connect(screen, "monitors-changed",
                G_CALLBACK(on_monitors_changed), plugin);
        on_monitors_changed(screen, plugin);


        /* Now we're in action. */
        clutter_actor_show(meta_get_window_group_for_screen(screen));
        clutter_actor_show(self->priv->background_group);
        clutter_actor_set_opacity(meta_get_window_group_for_screen(screen), 0);
        clutter_actor_set_opacity(self->priv->background_group, 0);

        actors[0] = meta_get_window_group_for_screen(screen);
        actors[1] = self->priv->background_group;

        clutter_actor_set_background_color(meta_get_stage_for_screen(screen),
                clutter_color_get_static(CLUTTER_COLOR_BLACK));
        clutter_actor_show(meta_get_stage_for_screen(screen));

        for (int i = 0; i < 2; i++) {
                clutter_actor_save_easing_state(actors[i]);
                clutter_actor_set_easing_mode(actors[i], CLUTTER_EASE_OUT_QUAD);
                clutter_actor_set_easing_duration(actors[i], SHOW_TIMEOUT);
                g_object_set(actors[i], "opacity", 255, NULL);
                clutter_actor_restore_easing_state(actors[i]);
        }

        /* Set up our own keybinding overrides */
        meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_MAIN_MENU,
                budgie_launch_menu, NULL, NULL);
        meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_RUN_DIALOG,
                budgie_launch_rundialog, NULL, NULL);
        meta_keybindings_set_custom_handler("switch-windows",
                (MetaKeyHandlerFunc)switch_windows, self, NULL);
        meta_keybindings_set_custom_handler("switch-applications",
                (MetaKeyHandlerFunc)switch_windows, self, NULL);

        /* Handle keys.. */
        budgie_keys_init(meta_screen_get_display(screen));
        budgie_menus_init(self);
        g_signal_connect(meta_screen_get_display(screen), "overlay-key",
            G_CALLBACK(overlay_cb), NULL);
}
Esempio n. 2
0
static gboolean
show_stage (MetaPlugin *plugin)
{
  MetaScreen *screen;
  ClutterActor *stage;

  screen = meta_plugin_get_screen (plugin);
  stage = meta_get_stage_for_screen (screen);

  clutter_actor_show (stage);

  /* Set up our own keybinding overrides */
  meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_MAIN_MENU,
                                      budgie_launch_menu, NULL, NULL);
  meta_keybindings_set_custom_handler(BUDGIE_KEYBINDING_RUN_DIALOG,
                                      budgie_launch_rundialog, NULL, NULL);

  return FALSE;
}
Esempio n. 3
0
void
mnb_alttab_overlay_setup_metacity_keybindings (MnbAlttabOverlay *overlay)
{
  /*
   * Bunch of standard Mutter shortcuts that we alias to the Alt+Tab
   */
  meta_keybindings_set_custom_handler ("switch-windows",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-windows-backward",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-panels",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-panels-backward",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-group",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-group-backward",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-windows",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-windows-backward",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-panels",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("cycle-panels-backward",
                                       mnb_alttab_overlay_alt_tab_key_handler,
                                       overlay, NULL);

  meta_keybindings_set_custom_handler ("tab-popup-select",
                                       mnb_alttab_overlay_alt_tab_select_handler,
                                       overlay, NULL);

  meta_keybindings_set_custom_handler ("tab-popup-cancel",
                                       mnb_alttab_overlay_alt_tab_cancel_handler,
                                       overlay, NULL);

  /*
   * Install NOP handler for shortcuts that are related to Alt+Tab that we
   * want disabled.
   */
  meta_keybindings_set_custom_handler ("switch-group",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-group-backward",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-group-backward",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
#if 0
  meta_keybindings_set_custom_handler ("switch-to-workspace-left",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-to-workspace-right",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
#endif
  meta_keybindings_set_custom_handler ("switch-to-workspace-up",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("switch-to-workspace-down",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);

  /*
   * Disable various shortcuts other that are not compatible with dawati UI
   * paradigm -- strictly speaking not alttab related, but for now here.
   */
  meta_keybindings_set_custom_handler ("activate-window-menu",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("show-desktop",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("toggle-maximized",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("maximize",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("maximize-vertically",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("maximize-horizontally",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("unmaximize",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("minimize",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("toggle-shadow",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
  meta_keybindings_set_custom_handler ("close",
                                       mnb_alttab_nop_key_handler,
                                       overlay, NULL);
}