drakulix / fireplace Goto Github PK
View Code? Open in Web Editor NEWModular wayland window manager written in rust
License: MIT License
Modular wayland window manager written in rust
License: MIT License
Logging typo's in the config file instead of straight up denying should be a far better user experience.
Decided against that option because there was no easy way to get the ignored keys, serde-ignored changes that.
Currently the fullscreen
mode removes the View
from its current mode and reinserts it when toggling back. This results in the screen changing most of the time, instead of restoring it exactly as it was before.
This is understandable looking at the code, but from a user perspective totally unexpected.
Sometimes two monitors are not equally important and you maybe have one main monitor and a secondary unimportant smaller one. In that case you may wish to constantly show one workspace on the smaller one and switch the output automatically when switching to another. This is essentially single workspace mode for one output.
This is a quick write-up about the current project status and it's ongoing development.
As many followers are already aware this project as it exists right now will not continue to live on.
The codebase will get ripped apart as I replace wlc
with smithay
.
Motivating this change is that wlc is currently getting deprecated. It's main user - a i3-wayland-recreation in C called sway
- is currently going though similar changes writing their own compositor library.
Discussion about fireplace status did happened shortly after, for reference:
Note that fireplace is not associated with way-cooler
- another i3-style rust wayland compositor - in any way. The issue linked above was a call for participation, but way-cooler will use wlroots through rust's ffi interface as well.
Smithay on the other hand is completely written from scratch in rust and as recently passed it's first big milestone:
We are on good progress finishing the next one, which will provide:
Smithay has reached a state, where it is not very competitive yet, but good enough to start porting fireplace. In the upcoming weeks this will start with the goal to get a basic version running with the configuration and tiling functionality fireplace did provide today.
New features will most likely be developed once smithay has reached a complete state.
The current UI features of fireplace will be rewritten as well at a later stage as separate wayland clients.
Most active development currently happens over at smithay
s matrix chatroom, you may use gitter as well to join the channel.
One porting starts new issues regarding specific tasks will be created and will allow easy tracking of the overall progress.
Good day,
I'm trying to compile the latest release of fireplace
but run into the following error:
Compiling color_quant v1.0.0
Compiling interpolation v0.1.0
Compiling slog v1.5.2
error[E0277]: the trait bound `*mut core::ops::Fn() + 'static: core::marker::Sync` is not satisfied in `core::fmt::Arguments<'static>`
--> /tmp/.cargo/registry/src/github.com-1ecc6299db9ec823/slog-1.5.2/src/ser.rs:228:6
|
228 | impl SyncSerialize for fmt::Arguments<'static> {}
| ^^^^^^^^^^^^^ `*mut core::ops::Fn() + 'static` cannot be shared between threads safely
|
= help: within `core::fmt::Arguments<'static>`, the trait `core::marker::Sync` is not implemented for `*mut core::ops::Fn() + 'static`
= note: required because it appears within the type `core::marker::PhantomData<*mut core::ops::Fn() + 'static>`
= note: required because it appears within the type `core::fmt::Void`
= note: required because it appears within the type `&'static core::fmt::Void`
= note: required because it appears within the type `core::fmt::ArgumentV1<'static>`
= note: required because it appears within the type `[core::fmt::ArgumentV1<'static>]`
= note: required because it appears within the type `&'static [core::fmt::ArgumentV1<'static>]`
= note: required because it appears within the type `core::fmt::Arguments<'static>`
error: aborting due to previous error
error: Could not compile `slog`.
warning: build failed, waiting for other jobs to finish...
error: build failed
I'm using rust-1.24.0
. What can I be doing wrong?
With dwm you configure the entire tilling window manager via C code. Is this going to be similar where the configuration is done via your main.rs
file?
There is a fork of redshift supporting wayland: https://github.com/giucam/redshift
We need to implement the required wayland protocol and pass the values to wlc
which has already support.
To implement the protocol we should take a look at: https://crates.io/crates/wayland-scanner
Some time may pass between launching and application and the first created window.
It would be nice to have the option to create windows on the space it was launched on. Blocked by #6 to know when we launch something.
A small dock, like ChromeOS or Win10 has would be nice to have.
It should be able to be integrated into the statusbar and also be used standalone.
Currently blocked by #6 to have any icons available.
With ui drawing in place we can build an advanced launcher inside of our window manager, which will help with various other features.
I am currently undecided about how it should look, I am leaning towards a minimalistic style alla xmonad. A graphical alternative alla GNOME would also be at least nice-to-have
.
The launcher should be able to handle either executables in path or .desktop files. The latter would enable us to read out icons for the launched applications and assign them to their window's.
Specifying family: "Misc Ohsnapu"
or family: "xos4 Terminus"
causes a panic.
Also we REALLY need some kind of error checking for configuring because it was not obvious it was the font that was causing this panic...
version: 3.1.2
Library: WLC
Jun 15 21:21:44.808 INFO "WLC-1 Chose mode (0) 1366x768"
Library: Fireplace
handler: OutputConfig
Jun 15 21:21:44.808 INFO Setting scale 1 for output "WLC-1"
Jun 15 21:21:44.808 INFO New output: Output { id: 1 }. Setting workspace 1
Library: WLC
Jun 15 21:21:44.829 INFO "EGL context is double buffered"
Jun 15 21:21:44.829 INFO "EGL version: 1.4 (DRI2)"
Jun 15 21:21:44.829 INFO "EGL vendor: Mesa Project"
Jun 15 21:21:44.829 INFO "EGL client APIs: OpenGL OpenGL_ES "
Jun 15 21:21:44.829 INFO "EGL context (RGB888)"
Jun 15 21:21:44.829 INFO "EGL_ANDROID_blob_cache EGL_ANDROID_native_fence_sync EGL_CHROMIUM_sync_control EGL_EXT_buffer_age EGL_EXT_create_context_robustness EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_IMG_context_priority EGL_KHR_config_attribs EGL_KHR_create_context EGL_KHR_create_context_no_error EGL_KHR_fence_sync EGL_KHR_get_all_proc_addresses EGL_KHR_gl_colorspace EGL_KHR_gl_renderbuffer_image EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_3D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_no_config_context EGL_KHR_reusable_sync EGL_KHR_surfaceless_context EGL_EXT_pixel_format_float EGL_KHR_wait_sync EGL_MESA_configless_context EGL_MESA_drm_image EGL_MESA_image_dma_buf_export EGL_NOK_texture_from_pixmap EGL_WL_bind_wayland_display "
Jun 15 21:21:44.830 INFO "GL version: OpenGL ES 3.2 Mesa 18.1.1"
Jun 15 21:21:44.830 INFO "GL vendor: Intel Open Source Technology Center"
Jun 15 21:21:44.830 INFO "GL_ANDROID_extension_pack_es31a GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_APPLE_texture_max_level GL_EXT_blend_func_extended GL_EXT_blend_minmax GL_EXT_buffer_storage GL_EXT_clip_cull_distance GL_EXT_color_buffer_float GL_EXT_compressed_ETC1_RGB8_sub_texture GL_EXT_copy_image GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_buffers_indexed GL_EXT_draw_elements_base_vertex GL_EXT_frag_depth GL_EXT_geometry_point_size GL_EXT_geometry_shader GL_EXT_gpu_shader5 GL_EXT_map_buffer_range GL_EXT_multi_draw_arrays GL_EXT_occlusion_query_boolean GL_EXT_polygon_offset_clamp GL_EXT_primitive_bounding_box GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_io_blocks GL_EXT_shader_samples_identical GL_EXT_tessellation_point_size GL_EXT_tessellation_shader GL_EXT_texture_border_clamp GL_EXT_texture_buffer GL_EXT_texture_compression_dxt1 GL_EXT_texture_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_type_2_10_10_10_REV GL_EXT_unpack_subimage GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_shader_integer_functions GL_NV_draw_buffers GL_NV_fbo_color_attachments GL_NV_image_formats GL_NV_read_buffer GL_NV_read_depth GL_NV_read_depth_stencil GL_NV_read_stencil GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_image_external_essl3 GL_OES_EGL_sync GL_OES_compressed_ETC1_RGB8_texture GL_OES_copy_image GL_OES_depth24 GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_OES_draw_buffers_indexed GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_geometry_point_size GL_OES_geometry_shader GL_OES_get_program_binary GL_OES_gpu_shader5 GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_primitive_bounding_box GL_OES_required_internalformat GL_OES_rgb8_rgba8 GL_OES_sample_shading GL_OES_sample_variables GL_OES_shader_image_atomic GL_OES_shader_io_blocks GL_OES_shader_multisample_interpolation GL_OES_standard_derivatives GL_OES_stencil8 GL_OES_surfaceless_context GL_OES_tessellation_point_size GL_OES_tessellation_shader GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_buffer GL_OES_texture_cube_map_array GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_vertex_array_object GL_OES_vertex_half_float GL_OES_viewport_array "
Jun 15 21:21:44.833 INFO "GLES2 renderer initialized"
thread 'main' panicked at 'called `Option::unwrap()` on a `None` value', /checkout/src/libcore/option.rs:323
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
stack backtrace:
0: <fireplace_lib::handlers::render::conrod::provider::statusbar::StatusbarHandler as wlc::Callback>::output_context_created
1: <fireplace_lib::callback::vec::VecCallback<T> as wlc::Callback>::output_context_created
2: wlc::ffi_output_context_created
3: wlc_output_set_backend_surface
4: output_event
5: update_outputs
6: activate_event
7: wlc_run
8: fireplace::main
@Drakulix Really like your work! I have some questions about fireplace and some ideas for the ecosystem. Please contact me: [email protected] and delete this issue. Thanks.
When I try to build fireplace 3.0.1 I get this fallowing error:
warning: package replacement is not used: https://github.com/rust-lang/crates.io-index#fireplace_lib:3.0.1
error: manifest path `/home/ahc/build/src/fireplace-3.0.1/Cargo.toml` is a virtual manifest, but this command requires running against an actual package in this workspace
rustc -vV:
rustc 1.17.0-nightly (0f34b532a 2017-02-21)
binary: rustc
commit-hash: 0f34b532af590d25e9178f87c620931dd671cc2e
commit-date: 2017-02-21
host: x86_64-unknown-linux-gnu
release: 1.17.0-nightly
LLVM version: 3.9
It should relatively easy to implement basic output mirroring via wlc_read_pixels
and wlc_write_pixels
. This will likely not be very performant and we should strife for support in wlc
itself, but it would certainly be better then nothing and is worth a shot.
hi, please add build instruction with fireplace's dependency.
Currently if the config file is malformed an error is logged to stderr and the compositor terminates.
This is very unhelpful if fireplace is not started via VT.
Instead use a default config, display the error on the background (if conrod_ui
is enabled) and start $TERMINAL with $EDITOR and the config file.
Should be relatively easy to do via wlc_read_pixels
might also be very easy to do for window screenshots.
Plan is to add a ScreenshotHandler
that reacts on keypresses (requires configuration and binary changes) and reads the pixels of either the whole focused screen or all screens (make configurable) or of the currently focused View
and convert it with the image
crate.
I am using this configuration, and I can't get the quit to work (I expect it to be Super+Shift+Q, but it does not do that.).
All the other commands seem to work.
The XDG / freedesktop guidelines say that the config file should live in a subdirectory of XDG_CONFIG_DIR.
I can dig it out if you want to.
I personally like this. It allows easier expansion and gives a clean structure.
So the default paths checked would be $XDG_CONFIG_DIR/fireplace/fireplace.yml
or ~/.config/fireplace/fireplace.yml
.
What do you think?
Im trying to use https://github.com/Drakulix/fireplace/releases/tag/v3.1.1/fireplace , but get this error:
❯ env RUST_BACKTRACE=full fireplace
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: EndOfStream', /checkout/src/libcore/result.rs:860
stack backtrace:
0: 0x55fbcc2ed883 - std::sys::imp::backtrace::tracing::imp::unwind_backtrace::h3c67687ba454b78b
at /checkout/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:49
1: 0x55fbcc2e9bc9 - std::panicking::default_hook::{{closure}}::h07b8ee04b5734d1a
at /checkout/src/libstd/sys_common/backtrace.rs:71
at /checkout/src/libstd/sys_common/backtrace.rs:60
at /checkout/src/libstd/panicking.rs:355
2: 0x55fbcc2e8cd6 - std::panicking::rust_panic_with_hook::hd0067971b6d1240e
at /checkout/src/libstd/panicking.rs:371
at /checkout/src/libstd/panicking.rs:549
3: 0x55fbcc2e87e1 - std::panicking::begin_panic::h1fd1f10a3de8f902
at /checkout/src/libstd/panicking.rs:511
4: 0x55fbcc2e8759 - std::panicking::begin_panic_fmt::haa043917b5d6f21b
at /checkout/src/libstd/panicking.rs:495
5: 0x55fbcc2fc1d6 - core::panicking::panic_fmt::he9c7f335d160b59d
at /checkout/src/libstd/panicking.rs:471
6: 0x55fbcc181802 - core::result::unwrap_failed::h45dce2a959def761
7: 0x55fbcc19bcd3 - fireplace::main::h501166b0e261f422
8: 0x55fbcc1a2bb1 - main
9: 0x7ffb71791400 - __libc_start_main
10: 0x55fbcc0c9a18 - _start
11: 0x0 - <unknown>
Currently the ui
config field is global and all screens are effected.
It should instead belong into the output configuration and be Output
-specific.
Cannot build fireplace on fedora 25.
nightly-x86_64-unknown-linux-gnu (default)
rustc 1.17.0-nightly (b1e31766d 2017-03-03)
Fresh wlc-sys v0.0.8
Compiling wlc v2.0.1
Running `rustc --crate-name wlc /home/doaxan/.cargo/registry/src/github.com-1ecc6299db9ec823/wlc-2.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg 'feature="serde_derive"' --cfg 'feature="static"' --cfg 'feature="render"' --cfg 'feature="serde"' --cfg 'feature="default"' --cfg 'feature="wlc-sys"' --cfg 'feature="serialization"' -C metadata=793a3ba1ed16e543 -C extra-filename=-793a3ba1ed16e543 --out-dir /home/doaxan/fireplace/target/release/deps -L dependency=/home/doaxan/fireplace/target/release/deps --extern log=/home/doaxan/fireplace/target/release/deps/liblog-1de695589fd5a905.rlib --extern num_traits=/home/doaxan/fireplace/target/release/deps/libnum_traits-f44a656d09f2ee1a.rlib --extern serde_derive=/home/doaxan/fireplace/target/release/deps/libserde_derive-e7c3727d54fc8c73.so --extern xkbcommon=/home/doaxan/fireplace/target/release/deps/libxkbcommon-c6d3b0dc4afe8d2d.rlib --extern lazy_static=/home/doaxan/fireplace/target/release/deps/liblazy_static-2c238253f1db6b80.rlib --extern libc=/home/doaxan/fireplace/target/release/deps/liblibc-56def1a5449a1812.rlib --extern serde=/home/doaxan/fireplace/target/release/deps/libserde-908251938cd969ac.rlib --extern bitflags=/home/doaxan/fireplace/target/release/deps/libbitflags-5601568f0bbd601b.rlib --extern wlc_sys=/home/doaxan/fireplace/target/release/deps/libwlc_sys-67d72ed26884df02.rlib --extern uinput_sys=/home/doaxan/fireplace/target/release/deps/libuinput_sys-feae97c3ba859673.rlib --cap-lints allow -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/lib -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/lib64 -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/build/protos -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/build/lib/chck/lib`
thread 'rustc' has overflowed its stack
fatal runtime error: stack overflow
error: Could not compile `wlc`.
Caused by:
process didn't exit successfully: `rustc --crate-name wlc /home/doaxan/.cargo/registry/src/github.com-1ecc6299db9ec823/wlc-2.0.1/src/lib.rs --crate-type lib --emit=dep-info,link -C opt-level=3 --cfg feature="serde_derive" --cfg feature="static" --cfg feature="render" --cfg feature="serde" --cfg feature="default" --cfg feature="wlc-sys" --cfg feature="serialization" -C metadata=793a3ba1ed16e543 -C extra-filename=-793a3ba1ed16e543 --out-dir /home/doaxan/fireplace/target/release/deps -L dependency=/home/doaxan/fireplace/target/release/deps --extern log=/home/doaxan/fireplace/target/release/deps/liblog-1de695589fd5a905.rlib --extern num_traits=/home/doaxan/fireplace/target/release/deps/libnum_traits-f44a656d09f2ee1a.rlib --extern serde_derive=/home/doaxan/fireplace/target/release/deps/libserde_derive-e7c3727d54fc8c73.so --extern xkbcommon=/home/doaxan/fireplace/target/release/deps/libxkbcommon-c6d3b0dc4afe8d2d.rlib --extern lazy_static=/home/doaxan/fireplace/target/release/deps/liblazy_static-2c238253f1db6b80.rlib --extern libc=/home/doaxan/fireplace/target/release/deps/liblibc-56def1a5449a1812.rlib --extern serde=/home/doaxan/fireplace/target/release/deps/libserde-908251938cd969ac.rlib --extern bitflags=/home/doaxan/fireplace/target/release/deps/libbitflags-5601568f0bbd601b.rlib --extern wlc_sys=/home/doaxan/fireplace/target/release/deps/libwlc_sys-67d72ed26884df02.rlib --extern uinput_sys=/home/doaxan/fireplace/target/release/deps/libuinput_sys-feae97c3ba859673.rlib --cap-lints allow -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/lib -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/lib64 -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/build/protos -L native=/home/doaxan/fireplace/target/release/build/wlc-sys-ecb5004244790a3f/out/build/lib/chck/lib` (exit code: 1)
Hi there! I'm quite excited about the prospect of using Fireplace on FreeBSD. However, currently it depends on the systemd
crate, and systemd is very notably not a FreeBSD thing. I realize that Fireplace is currently unmaintained as development is focused on Smithay, but once the backend here is migrated to Smithay, will it be possible to avoid using systemd?
Very cool project!
Do you plan to add support for tabbed / stacked layouts supported by i3
and (recently) sway
?
When trying to run Fireplace with the default configuration at ~/.config/fireplace.yaml
I get the following panic:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: MoreThanOneDocument', /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libcore/result.rs:868
stack backtrace:
1: 0x564985923c7a - std::sys::imp::backtrace::tracing::imp::write::h55f5b644254d8997
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
2: 0x564985923101 - std::panicking::default_hook::{{closure}}::h5341ac454af9dec5
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:351
3: 0x564985922267 - std::panicking::rust_panic_with_hook::h0c50036d8a952120
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:367
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:545
4: 0x564985921dc1 - std::panicking::begin_panic::h549a5cdf22ed84a1
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:507
5: 0x564985921d39 - std::panicking::begin_panic_fmt::h1e2376a100034ec9
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:491
6: 0x564985932d16 - core::panicking::panic_fmt::hfaaf47fca562bd04
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:467
7: 0x5649857cf2ed - core::result::unwrap_failed::hc6c740f9ff9a57a7
8: 0x5649857e77a3 - fireplace::main::h92784384c58e10a0
9: 0x5649857ef351 - main
10: 0x7f38776e057f - __libc_start_main
11: 0x56498573dad8 - _start
12: 0x0 - <unknown>
It other wise runs fine if I don't put the configuration file there.
Adding a lock screen directly into the window manager would be the most secure way to make sure no window content leaks above the lock screen.
This is currently blocked by PistonDevelopers/conrod#610
to handle the input.
Currently View
s don't change, if toggled into fullscreen mode. They keep their old geometry, that might be unfitting for a floating window. We should restore its initial geometry when adding a View
to the floating
mode.
IPC clients should able to connect via a local socket of some sort.
Confirmation about access should be granted by the user via UI.
TODO:
Protocol will be JSON based.
TODO:
From what I can tell, this requires nightly due to use of feature flags in wlc
. This should be noted in the README. If fireplace
doesn't need that feature (can use unsafe-stable
), that would be much nicer.
I tried to build a package for the AUR and got tripped up here, so others may have similar problems.
Hi i have some questions regarding fireplace:
2
is not true, are there alternatives to fireplace that uses smithay
?Allow configuration reloading.
This will require to store the configuration parameters somewhere global or linked to their respective Output
s.
If you don't create it, you get an error thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }', /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libcore/result.rs:860
Currently fireplace is also effected by Cloudef/wlc#87
Changing the monitor configuration after launch may need to some unexpected bugs, that should be debugged and fixed rather soon than later.
I can run and use fireplace just fine running it nested in X, but if I try to start it by itself, then I get this error:
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { repr: Os { code: 2, message: "No such file or directory" } }', /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libcore/result.rs:860
stack backtrace:
1: 0x55f48c6cae2a - std::sys::imp::backtrace::tracing::imp::write::h55f5b644254d8997
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:42
2: 0x55f48c6ca2b1 - std::panicking::default_hook::{{closure}}::h5341ac454af9dec5
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:351
3: 0x55f48c6c9417 - std::panicking::rust_panic_with_hook::h0c50036d8a952120
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:367
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:545
4: 0x55f48c6c8f71 - std::panicking::begin_panic::h549a5cdf22ed84a1
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:507
5: 0x55f48c6c8ee9 - std::panicking::begin_panic_fmt::h1e2376a100034ec9
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:491
6: 0x55f48c6d9ec6 - core::panicking::panic_fmt::hfaaf47fca562bd04
at /buildslave/rust-buildbot/slave/nightly-dist-rustc-linux/build/src/libstd/panicking.rs:467
7: 0x55f48c574934 - core::result::unwrap_failed::hecb9163d22f60696
8: 0x55f48c58d443 - fireplace::main::he139e971b4d1bd57
9: 0x55f48c5951e1 - main
10: 0x7f9580b3c290 - __libc_start_main
11: 0x55f48c4d5b09 - _start
12: 0x0 - <unknown>
I'm using a default fireplace.yaml in my ~/.config dir. I'm starting it by going to lightdm, switching the session to fireplace, and also starting it from a tty.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.