问题描述
尝试在我为 elementary OS 制作的基于 vala 的应用程序中使用 libhandy
和 Hdy.applicationwindow
而不是 Gtk.applicationwindow
。
我的问题
- 在使用
Hdy.applicationwindow
和Hdy.HeaderBar
而不是Gtk.applicationwindow
和Gtk.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);
}
}
它看起来怎么样?
我尝试了什么?
- 参考Vala Documentation,更多关注与
Hdy.HeaderBar
和Hdy.ApplicationWindow
相关的文档 - 通过参考 - 了解在 Elementary OS 中使用
libhandy
实现圆角的方式
- Round all Corners in Elementary OS Project
- 了解 Elementary OS AppCenter、Camera 和 Calendar 中与圆角(实现 LibHandy)相关的拉取请求中的代码更改
期待将此具有 MIT 许可证的应用程序发布到 Elementary AppCenter。此应用程序的 GitHub 存储库位于 https://github.com/candiedoperation/ordne
我为 Linux 制作了一个基于 Electron 的启动器(比如 macOS Spotlight)。尽管是电子,但它集成得非常好,并遵循 Elementary OS Human Interface Guidelines。您可以在 https://gitlab.com/candiedoperation/fliger
了解更多信息附言AppCenter 仅发布原生应用,无法与 Elementary OS 社区共享。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)