无法通过拖动 Vala 中的 Hdy.HeaderBar 移动 Hdy.ApplicationWindow

问题描述

尝试在我为 elementary OS 制作的基于 vala 的应用程序中使用 libhandyHdy.applicationwindow 而不是 Gtk.applicationwindow


我的问题

  • 在使用 Hdy.applicationwindowHdy.HeaderBar 而不是 Gtk.applicationwindowGtk.HeaderBar 时,我无法通过拖动 HeaderBar 来移动应用程序窗口。立>
  • 我可以通过拖动 Gtk.HeaderBar 来移动工作区中的窗口,但在 Hdy.HeaderBar 的情况下不能
  • Hdy.HeaderBar 中,我被迫按下 super 键并拖动以移动窗口。

应用源代码

public class Application : Gtk.Application {
    protected override void activate () {   
        //Gtk.applicationwindow app_window = new Gtk.applicationwindow (this);
             
        var gtk_settings = Gtk.Settings.get_default ();
        var hdy_window = new Hdy.applicationwindow ();
        var header_bar = new Hdy.HeaderBar ();
        var overlaybar = new Granite.Widgets.OverlayBar ();
        
        hdy_window.application = this;

        var dark_mode_switch = new Granite.ModeSwitch.from_icon_name (
            "display-brightness-symbolic","weather-clear-night-symbolic"
        );
        
        //New Document
        var welcome_page = new Granite.Widgets.Welcome ("Ordne","A simple Pomodoro Timer.");
        welcome_page.append ("document-open-recent","Start Working","Begin the Working Countdown.");
        welcome_page.append ("preferences-system","Pomodoro Preferences","Change Break and Working Duration");
        
        var grid_welcome = new Gtk.Grid () {
            orientation = Gtk.Orientation.VERTICAL
        };  

        dark_mode_switch.primary_icon_tooltip_text = ("Light background");
        dark_mode_switch.secondary_icon_tooltip_text = ("Dark background");
        dark_mode_switch.valign = Gtk.Align.CENTER;
        dark_mode_switch.bind_property ("active",gtk_settings,"gtk-application-prefer-dark-theme",GLib.BindingFlags.BIDIRECTIONAL);

        header_bar.show_close_button = true;
        header_bar.title = "Ordne";
        header_bar.pack_end(dark_mode_switch);  
        
        grid_welcome.add(header_bar);
        grid_welcome.add(welcome_page);       
        
        hdy_window.window_position = Gtk.WindowPosition.CENTER;
        hdy_window.set_default_size(1200,700);
        hdy_window.add(grid_welcome);
        //main_window.set_titlebar(header_bar);
        //main_window.add(grid_welcome); //Adds the welcome grid to the window
        
        //hdy_window.add (main_window);
        hdy_window.show_all();
        //main_window.show_all();
    }

    public static int main (string[] args) {
        return new Application ().run (args);
    }    
}

它看起来怎么样?

How does my App Look?


我尝试了什么?

  1. Round all Corners in Elementary OS Project
  2. 了解 Elementary OS AppCenterCameraCalendar 中与圆角(实现 LibHandy)相关的拉取请求中的代码更改

期待将此具有 MIT 许可证的应用程序发布到 Elementary AppCenter。此应用程序的 GitHub 存储库位于 https://github.com/candiedoperation/ordne

我为 Linux 制作了一个基于 Electron 的启动器(比如 macOS Spotlight)。尽管是电子,但它集成得非常好,并遵循 Elementary OS Human Interface Guidelines。您可以在 https://gitlab.com/candiedoperation/fliger

了解更多信息

Fliger at GitLab

附言AppCenter 仅发布原生应用,无法与 Elementary OS 社区共享。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...