Compare commits
3 Commits
ad1ab9225c
...
55ee5d6548
Author | SHA1 | Date |
---|---|---|
Bit Borealis | 55ee5d6548 | |
Bit Borealis | 15ce139d13 | |
Bit Borealis | 32397fc8fd |
12
flake.lock
12
flake.lock
|
@ -5,11 +5,11 @@
|
|||
"systems": "systems"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1689068808,
|
||||
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
|
||||
"lastModified": 1692799911,
|
||||
"narHash": "sha256-3eihraek4qL744EvQXsK1Ha6C3CR7nnT8X2qWap4RNk=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
|
||||
"rev": "f9e7cf818399d17d347f847525c5a5a8032e4e44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -20,11 +20,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1692614049,
|
||||
"narHash": "sha256-RF+eM5oQGZ58rvdBV4NoF/J3S1z11g52WPWcLsYJVVY=",
|
||||
"lastModified": 1692964503,
|
||||
"narHash": "sha256-BUsxLHBiLKEb/d1mhj7rLmtca0/01ubBikkCrRupWB4=",
|
||||
"owner": "theotheroracle",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "908fc0c68613ee426a81427693a9b26aaba9b224",
|
||||
"rev": "39653f036c7a837304b4c6e0f4ca5b9908561d90",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.12.1 -->
|
||||
<interface/>
|
|
@ -0,0 +1,6 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!-- Created with Cambalache 0.12.1 -->
|
||||
<interface>
|
||||
<requires lib="libadwaita" version="1.3"/>
|
||||
<object class="AdwPreferencesWindow"/>
|
||||
</interface>
|
58
src/main.rs
58
src/main.rs
|
@ -1,50 +1,38 @@
|
|||
use adw::prelude::*;
|
||||
|
||||
use adw::{ToolbarView, ActionRow, Application, ApplicationWindow, HeaderBar};
|
||||
use gtk::{Box, ListBox, Orientation, SelectionMode};
|
||||
use adw::{ToolbarView, Application, ApplicationWindow, HeaderBar, WindowTitle};
|
||||
use gtk::{Box, ListBox, Orientation};
|
||||
|
||||
fn main() {
|
||||
let application = Application::builder()
|
||||
.application_id("com.example.FirstAdwaitaApp")
|
||||
let xenon_app = Application::builder()
|
||||
.application_id("os.saturn.xenon")
|
||||
.build();
|
||||
|
||||
application.connect_activate(|app| {
|
||||
// ActionRows are only available in Adwaita
|
||||
let row = ActionRow::builder()
|
||||
.activatable(true)
|
||||
.title("Click me")
|
||||
xenon_app.connect_activate(|app| {
|
||||
let xenon_url = WindowTitle::builder()
|
||||
.title("xenon")
|
||||
.subtitle("https://example.com")
|
||||
.focusable(true)
|
||||
.focus_on_click(true)
|
||||
.build();
|
||||
row.connect_activated(|_| {
|
||||
eprintln!("Clicked!");
|
||||
});
|
||||
|
||||
let list = ListBox::builder()
|
||||
.margin_top(32)
|
||||
.margin_end(32)
|
||||
.margin_bottom(32)
|
||||
.margin_start(32)
|
||||
.selection_mode(SelectionMode::None)
|
||||
// makes the list look nicer
|
||||
.css_classes(vec![String::from("boxed-list")])
|
||||
|
||||
let xenon_headerbar = HeaderBar::builder()
|
||||
.decoration_layout("icons:close")
|
||||
.title_widget(&xenon_url)
|
||||
.build();
|
||||
list.append(&row);
|
||||
|
||||
// Combine the content in a box
|
||||
let content = ToolbarView ::new();
|
||||
// Adwaitas' ApplicationWindow does not include a HeaderBar
|
||||
content.add_top_bar(&HeaderBar::new());
|
||||
content.set_content(Some(&list));
|
||||
|
||||
|
||||
let xenon_view = ToolbarView ::builder()
|
||||
.build();
|
||||
xenon_view.add_top_bar(&xenon_headerbar);
|
||||
|
||||
let window = ApplicationWindow::builder()
|
||||
.application(app)
|
||||
.title("xenon")
|
||||
.default_width(350)
|
||||
// add content to window
|
||||
.content(&content)
|
||||
.content(&xenon_view)
|
||||
.build();
|
||||
window.show();
|
||||
});
|
||||
|
||||
application.run();
|
||||
window.present();
|
||||
});
|
||||
xenon_app.run();
|
||||
}
|
||||
|
||||
|
|
45
xenon.cmb
45
xenon.cmb
|
@ -2,19 +2,12 @@
|
|||
<!DOCTYPE cambalache-project SYSTEM "cambalache-project.dtd">
|
||||
<cambalache-project version="0.12.0" target_tk="gtk-4.0">
|
||||
<ui>
|
||||
(1,None,"xenon.ui","xenon.ui",None,None,None,None,None,None,None)
|
||||
(1,None,"xenon.ui","xenon.ui",None,None,None,None,None,None,None),
|
||||
(3,None,None,"settings.ui",None,None,None,None,None,None,None)
|
||||
</ui>
|
||||
<object>
|
||||
(1,1,"AdwApplicationWindow",None,None,None,None,None,None,None),
|
||||
(1,4,"GtkBox",None,1,None,None,None,None,None),
|
||||
(1,5,"AdwHeaderBar",None,4,None,None,None,None,None),
|
||||
(1,7,"GtkButton",None,5,None,"start",None,None,None),
|
||||
(1,8,"GtkButton",None,5,None,"start",None,None,None),
|
||||
(1,9,"GtkButton",None,5,None,"start",None,None,None),
|
||||
(1,10,"GtkButton",None,5,None,"start",None,None,None),
|
||||
(1,11,"AdwWindowTitle",None,5,None,"title",None,None,None),
|
||||
(1,12,"GtkButton",None,5,None,"start",None,None,None),
|
||||
(1,13,"GtkButton",None,5,None,"end",None,None,None),
|
||||
(1,14,"GtkBox",None,4,None,None,None,1,None),
|
||||
(1,26,"GtkScrolledWindow",None,14,None,None,None,None,None),
|
||||
(1,27,"GtkBox",None,26,None,None,None,None,None),
|
||||
|
@ -25,22 +18,21 @@
|
|||
(1,32,"AdwAvatar",None,27,None,None,None,4,None),
|
||||
(1,33,"AdwAvatar",None,27,None,None,None,5,None),
|
||||
(1,34,"AdwAvatar",None,27,None,None,None,6,None),
|
||||
(1,35,"AdwAvatar",None,27,None,None,None,7,None)
|
||||
(1,35,"AdwAvatar",None,27,None,None,None,7,None),
|
||||
(1,36,"AdwHeaderBar",None,4,None,None,None,None,None),
|
||||
(1,37,"AdwWindowTitle",None,36,None,None,None,None,None),
|
||||
(1,38,"GtkButton",None,36,None,"start",None,None,None),
|
||||
(1,39,"GtkButton",None,36,None,"start",None,1,None),
|
||||
(1,40,"GtkButton",None,36,None,"start",None,2,None),
|
||||
(1,41,"GtkButton",None,36,None,"start",None,3,None),
|
||||
(1,42,"GtkButton",None,36,None,"start",None,4,None),
|
||||
(1,43,"GtkButton",None,36,None,"end",None,5,None),
|
||||
(3,1,"AdwPreferencesWindow",None,None,None,None,None,None,None)
|
||||
</object>
|
||||
<object_property>
|
||||
(1,1,"AdwApplicationWindow","content",None,None,None,None,None,4,None,None,None,None),
|
||||
(1,1,"GtkWindow","title","xenon",None,None,None,None,None,None,None,None,None),
|
||||
(1,4,"GtkOrientable","orientation","vertical",None,None,None,None,None,None,None,None,None),
|
||||
(1,5,"AdwHeaderBar","decoration-layout","icon:close",None,None,None,None,None,None,None,None,None),
|
||||
(1,5,"AdwHeaderBar","title-widget",None,None,None,None,None,11,None,None,None,None),
|
||||
(1,7,"GtkButton","icon-name","camera-photo-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,8,"GtkButton","icon-name","image-x-generic-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,9,"GtkButton","icon-name","folder-download-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,10,"GtkButton","icon-name","media-playback-start-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,11,"AdwWindowTitle","subtitle","https://example.com",None,None,None,None,None,None,None,None,None),
|
||||
(1,11,"AdwWindowTitle","title","example",None,None,None,None,None,None,None,None,None),
|
||||
(1,12,"GtkButton","icon-name","go-home-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,13,"GtkButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,14,"GtkWidget","halign","end",None,None,None,None,None,None,None,None,None),
|
||||
(1,26,"GtkScrolledWindow","hscrollbar-policy","never",None,None,None,None,None,None,None,None,None),
|
||||
(1,26,"GtkScrolledWindow","propagate-natural-height","True",None,None,None,None,None,None,None,None,None),
|
||||
|
@ -60,6 +52,17 @@
|
|||
(1,34,"AdwAvatar","icon-name","web-browser-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,34,"AdwAvatar","size","60",None,None,None,None,None,None,None,None,None),
|
||||
(1,35,"AdwAvatar","icon-name","web-browser-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,35,"AdwAvatar","size","60",None,None,None,None,None,None,None,None,None)
|
||||
(1,35,"AdwAvatar","size","60",None,None,None,None,None,None,None,None,None),
|
||||
(1,36,"AdwHeaderBar","decoration-layout","icon:close",None,None,None,None,None,None,None,None,None),
|
||||
(1,36,"AdwHeaderBar","title-widget",None,None,None,None,None,37,None,None,None,None),
|
||||
(1,37,"AdwWindowTitle","subtitle","https://example.com",None,None,None,None,None,None,None,None,None),
|
||||
(1,37,"AdwWindowTitle","title","example",None,None,None,None,None,None,None,None,None),
|
||||
(1,37,"GtkWidget","focusable","True",None,None,None,None,None,None,None,None,None),
|
||||
(1,38,"GtkButton","icon-name","camera-photo-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,39,"GtkButton","icon-name","image-x-generic-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,40,"GtkButton","icon-name","folder-download-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,41,"GtkButton","icon-name","media-playback-start-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,42,"GtkButton","icon-name","go-home-symbolic",None,None,None,None,None,None,None,None,None),
|
||||
(1,43,"GtkButton","icon-name","open-menu-symbolic",None,None,None,None,None,None,None,None,None)
|
||||
</object_property>
|
||||
</cambalache-project>
|
||||
|
|
1
xenon.ui
1
xenon.ui
|
@ -13,6 +13,7 @@
|
|||
<property name="decoration-layout">icon:close</property>
|
||||
<property name="title-widget">
|
||||
<object class="AdwWindowTitle">
|
||||
<property name="focusable">True</property>
|
||||
<property name="subtitle">https://example.com</property>
|
||||
<property name="title">example</property>
|
||||
</object>
|
||||
|
|
Loading…
Reference in New Issue