Menu Utilities for Desktop Applications in Rust.

Related tags

Command-line muda
Overview

muda

Menu Utilities for Desktop Applications.

Example

Create the root menu and add submenus and men items.

let mut menu = Menu::new();

let file_menu = menu.add_submenu("File", true);
let open_item = file_menu.add_text_item("Open", true);
let save_item = file_menu.add_text_item("Save", true);

let edit_menu = menu.add_submenu("Edit", true);
let copy_item = file_menu.add_text_item("Copy", true);
let cut_item = file_menu.add_text_item("Cut", true);

#[cfg(target_os = "windows")]
menu.init_for_hwnd(window.hwnd() as isize);
#[cfg(target_os = "linux")]
menu.init_for_gtk_window(&gtk_window);
#[cfg(target_os = "macos")]
menu.init_for_nsapp();

Then listen for the events

if let Ok(event) = menu_event_receiver().try_recv() {
    match event.id {
        _ if event.id == save_item.id() => {
            println!("Save menu item activated");
        },
        _ => {}
    }
}
Comments
  • refactor: rewrite

    refactor: rewrite

    This rewrite main goal is to allow modifying the predefined (native) menu items and allow creating the menu item separately from a menu.

    • [x] gtk
    • [X] Windows
    • [x] macOS
    • [X] Error handling
    • [x] Documentation
    • [ ] show_context_menu_for_ns_view should take an x and y.
    opened by amrbashir 12
  • Show images/icons in system tray menu items

    Show images/icons in system tray menu items

    This issue is cross-posted from https://github.com/tauri-apps/tao/issues/645

    Linux

    GTK menu items can be passed a box as a child instead of labels:

    let mut menu = gtk::Menu::new();
                                                                                                 
    // A bit of a hack: this defaults to `false` in most "modern" (2010+ or so) DEs. This line
    // enables menu images just for this application.
    let settings = gtk::Settings::default().unwrap();
    glib::ObjectExt::set_property(&settings, "gtk-menu-images", true);
                                                                                                 
    // One used to be able to instantiate an ImageMenuItem, but now one needs to build a box and
    // pack some children instead:
    let image = gtk::Image::from_file(icon_path.join("icon.png"));
    let label = gtk::Label::new(Some("Hi there"));
                                                                                                 
    let mut menu_item_box = gtk::Box::builder().build();
    menu_item_box.pack_start(&image, true, true, 0);
    menu_item_box.pack_start(&label, true, true, 0);
                                                                                                 
    let menu_item = gtk::builders::MenuItemBuilder::new().child(&menu_item_box).build();
    menu.append(&menu_item);
                                                                                                 
    indicator.set_menu(&mut menu);
    menu.show_all();
                                                                                                 
    gtk::main();
    

    ImageMenuItem is deprecated: https://docs.gtk.org/gtk3/class.ImageMenuItem.html

    MacOS

    Not sure how it would be implemented but going by MeetingBar, it's possible: https://github.com/leits/MeetingBar

    opened by fnune 9
  • Add `selected` state to `TextMenuItem`

    Add `selected` state to `TextMenuItem`

    Added selected methods to the TextMenuItem interface and modified some examples.

    I've only implemented it in macOS , so I leave todo!() in windows and unix's impl.

    opened by pewsheen 4
  • Tracking issue for missing functionality in `muda`

    Tracking issue for missing functionality in `muda`

    TODOs:

    Necessary:

    • [X] init_for_window
    • [X] hide_for_window - #8
    • [X] show_for_window - #8
    • [X] remove_for_window - #8
    • [X] Submenu
    • [X] MenuItem
    • [X] Accelerators
      • [X] Windows - #6
      • [X] Linux - #6
      • [X] macOS - #12
    • [x] NativeMenuItem
      • [X] Windows - #9
      • [X] Linux - #9
      • [x] macOS - #14
    • [x] CheckMenuItem
      • [x] Windows - #13
      • [x] Linux - #13
      • [x] macOS - #14
    • [ ] ~~Localized Labels~~
    • [ ] Change native items labels
    • [X] Accelerator::from_str() compatibility with current tao implementation - #17

    Extras

    • [ ] Menu::showContextMenu(window, x, y)
      • [ ] Windows - Possible, use TrackPopupMenu from win32 apis
      • [ ] Linux - Possible, use gtk_menu_popup_at_rect from gtk
      • [ ] macOS - Possible, use popUpMenuPositioningItem from appkit
    • [ ] ImageMenuItem
      • [ ] Windows
      • [ ] Linux
      • [ ] macOS
    • [ ] RadioMenuItem
      • [ ] Windows
      • [ ] Linux
      • [ ] macOS
    meta 
    opened by amrbashir 3
  • macOS implementation

    macOS implementation

    This is far from complete, but I thought I'd open a draft pull request so you can see where I'm going with it and let me know any major comments before I do too much more.

    There is a lot that will have to be changed, and custom menu item actions don't do anything yet, but most other stuff is working.

    Note that I've also added some extra predefined menu items but I haven't implemented them for platforms other than macOS.

    opened by caesar 2
  • RUSTSEC-2022-0048: xml-rs is Unmaintained

    RUSTSEC-2022-0048: xml-rs is Unmaintained

    xml-rs is Unmaintained

    | Details | | | ------------------- | ---------------------------------------------- | | Status | unmaintained | | Package | xml-rs | | Version | 0.8.4 | | URL | https://github.com/netvl/xml-rs/issues | | Date | 2022-01-26 |

    xml-rs is a XML parser has open issues around parsing including integer overflows / panics that may or may not be an issue with untrusted data.

    Together with these open issues with Unmaintained status xml-rs may or may not be suited to parse untrusted data.

    Alternatives

    See advisory page for additional details.

    opened by github-actions[bot] 1
  • Apply Version Updates From Current Changes

    Apply Version Updates From Current Changes

    Version Updates

    Merging this PR will release new versions of the following packages based on your change files.

    muda

    [0.3.0]

    • Add MenuEvent::set_event_handler to set a handler for new menu events.
      • f871c68 refactor: allow changing the menu event sender (#35) on 2023-01-03
    • Breaking change Remove menu_event_receiver function, use MenuEvent::receiver instead.
      • f871c68 refactor: allow changing the menu event sender (#35) on 2023-01-03
    version updates 
    opened by github-actions[bot] 0
  • Apply Version Updates From Current Changes

    Apply Version Updates From Current Changes

    Version Updates

    Merging this PR will release new versions of the following packages based on your change files.

    muda

    [0.2.0]

    • Add IconMenuItem
    version updates 
    opened by github-actions[bot] 0
  • fix(deps): update rust crate thiserror to 1.0.38

    fix(deps): update rust crate thiserror to 1.0.38

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | thiserror | dependencies | patch | 1.0.37 -> 1.0.38 |


    Release Notes

    dtolnay/thiserror

    v1.0.38

    Compare Source

    • Documentation improvements

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • Apply Version Updates From Current Changes

    Apply Version Updates From Current Changes

    Version Updates

    Merging this PR will release new versions of the following packages based on your change files.

    muda

    [0.1.1]

    • Derive Copy for Accelerator type.
      • e80c113 feat: derive Copy for Accelerator on 2022-12-12
    • Fix parsing one letter string as valid accelerator without modifiers.
      • 0173987 fix: parse one letter string to valid accelerator (#28) on 2022-12-20
    version updates 
    opened by github-actions[bot] 0
  • Apply Version Updates From Current Changes

    Apply Version Updates From Current Changes

    Version Updates

    Merging this PR will release new versions of the following packages based on your change files.

    muda

    [0.1.0]

    • Initial Release.
      • 0309d10 chore: prepare for first release on 2022-12-05
    version updates 
    opened by github-actions[bot] 0
  • fix(deps): update rust crate gdk-pixbuf to 0.16

    fix(deps): update rust crate gdk-pixbuf to 0.16

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | gdk-pixbuf (source) | dependencies | minor | 0.15 -> 0.16 |


    Release Notes

    gtk-rs/gtk-rs-core

    v0.16.7

    Compare Source

    Paolo Borelli (1):
          examples: spawn async gio task on the current thread context
    
    Sebastian Dröge (2):
          Fix various new beta clippy warnings
          Update versions to 0.16.7
    

    v0.16.4

    Compare Source

    Bilal Elmoussaoui (4):
          gdk-pixbuf: Add PixbufAnimation subclassing support
          gdk-pixbuf: Correct PixbufAnimationIter definition
          gdk-pixbuf: Add PixbufAnimationIter subclassing support
          gdk-pixbuf: Add PixbufLoader subclassing support
    
    Colin Walters (1):
          glib: Add a doc string for `as_ptr` generated impls
    
    Jason Francis (2):
          glib: fix undefined behavior in types::register_type
          update windows CI to glib 2.74
    
    Sebastian Dröge (3):
          glib: Document the value guarantees for `ObjectImpl::set_property()` and `property()`
          Update versions to 0.16.4
    

    v0.16.3

    Compare Source

    Aaron Erhardt (1):
          image: Rebuild once every week
    
    Colin Walters (1):
          Move `g_cancellable_set_error_if_cancelled()` to manual
    
    Guillaume Gomez (3):
          regen
          Fix clippy lints
          Fix new clippy lints
    
    Jason Francis (2):
          glib: fix more clippy lints for rust 1.66
          glib: update compiletest output errors for rust 1.65
    
    Sebastian Dröge (8):
          Move from `imp.instance()` to `imp.obj()`
          gio: Require glib 0.16.2 for `ObjectSubclass::obj()`
          Update gir
          Regenerate with latest gir
          Update versions to 0.16.3
    

    v0.16.0

    Compare Source

    v0.15.11

    Compare Source

    Jason Francis (9):
          glib-macros: Fix clippy lints
          glib: Generate docs for BindingGroupBuilder
          glib: implement ValueTypeOptional for Variant, VariantType, BoxedValue
          glib: Add safety docs for WatchedObject::borrow
          glib: Implement Sync for WatchedObject
          Implement ValueTypeOptional for BoxedInline and cairo types
          cairo: Fix soundness in ToValueOptional for inline structs
          cairo: Implement FromValue for reference types
          cairo: Implement GValue wrappers for Matrix
    
    Luca BRUNO (1):
          glib/variant: add some more safe wrappers
    
    Mițca Dumitru (5):
          gdk_pixbuf: Improve `Pixbuf::pixels` documentation
          glib: Remove redundant null-checks before `g_free`
          glib: Remove redundant null-checks before `free`-like functions
          gio: Remove redudant null-checks before `g_free`
          gio: Remover redundant null-checks before `g_strdup`
    
    Paolo Borelli (1):
          error: add `matches` method
    
    Rodrigo Rivas Costa (1):
          glib: Fix conversion between Variant and OsString/PathBuf.
    
    SeaDve (1):
          glib-macros: Remove boxed_nullable and shared_boxed_nullable attribute for glib::Boxed
    
    Sebastian Dröge (12):
          glib: Fix build with `v2_72` and require 2.72.0 now
          Fix a couple of new clippy warnings
          gio: Update serial_test dependency to 0.6
          glib: Add `to_glib_full()` for `Path` / `OsStr`
          glib: Fix `mkdtemp()` and `mkdtemp_full()`
          glib: Add new `ObjectImplRef` and `ObjectImplWeakRef` types
          glib: Add getter for `glib::Error` domain quark
          ci: Update gvsbuild version
          ci: Switch to windows-2019 image
          Update versions to 0.15.11
          glib: Lower glib-macros version requirement to 0.15.10
    
    ranfdev (1):
          remove extend_from_slice position subtraction, add test
    

    v0.15.10

    Compare Source

    Jason Francis (6):
          glib: Add GStr for borrowing GStrings
          glib: Finish adding all structured logging functions
          glib: Simplify g_log_inner and g_print_inner
          glib: Optimize GlibLogger to avoid some copies
          glib: Disable log_structured doc test before v2_50
          Use Send+Sync for more Boxed types
    
    Paolo Borelli (3):
          Update gir
          regen
          gio: add AsyncInitable
    
    Sebastian Dröge (5):
          Update versions to 0.15.10
          glib: Depend on glib-macros 0.15.10
    
    arcnmx (4):
          glib: clarify wording on VariantTy fns
          glib: impl FromStr for VariantType
          glib: VariantTy tuple type iterator
          glib: print and parse for Variant
    

    v0.15.6

    Compare Source

    Colin Walters (1):
          translate: Pre-allocate Rust hashmap at correct size
    
    Hofer-Julian (1):
          glib: add trait `StaticTypeExt` with method `type_ensure`
    
    Jason Francis (1):
          glib-macros: Pass a pointer for watched objects into closure macro
    
    Sebastian Dröge (14):
          Update versions to 0.15.5
          Handle empty slices correctly
          Update gir-files
          glib: Mark `UnicodeScript::Math` as available in 2.72
          gio: Implement `File::move_async` manually
          glib: Ignore aligned allocation functions
          glib: Fix handling of closures that provide a return value pointer that is initialized to `G_TYPE_INVALID`
          glib: Add an `Object` specific value type checker
          glib: Don't use `from_glib_full()` for the individual items of an array for boxed inline types
          Regenerate
          Update versions to 0.15.6
    
    arcnmx (6):
          glib: Variant::from_dict_entry
          glib: VariantType::new_dict_entry
          glib: VariantType::new_array
          glib: VariantType::new_maybe
          glib: VariantType::new_tuple
          glib: impl AsRef<Variant> for Variant
    
    songww (1):
          Add missing pango attrs
    

    v0.15.4

    Compare Source

    Paolo Borelli (1):
          gio: add Initable::with_type
    
    Sebastian Dröge (14):
          Update manual implementations to not require `Send` closures for GIO-style async functions
          Update gir-files
          glib/gio: Remove unnecessary overrides
          gio: Add `v2_72` feature
          gio: Add 2.72 marker to `G_TLS_ERROR_BAD_CERTIFICATE_PASSWORD`
          Update gir
          Regenerate with latest gir
          Update versions to 0.15.4
          gio: Use correct callback type for `File::copy_async()`
          glib: Pass module path instead of `None` for the function
          glib: Never pass `NULL` to `g_log_structured_standard()`
          gio/gdk-pixbuf: Depend on glib 0.15.3 for `ThreadGuard` API
    

    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update rust crate gtk to 0.16

    fix(deps): update rust crate gtk to 0.16

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | gtk (source) | dependencies | minor | 0.15 -> 0.16 |


    Release Notes

    gtk-rs/gtk3-rs

    v0.16.0

    Compare Source

    v0.15.5

    Compare Source

    Guillaume Gomez (1):
          Fix windows CI
    
    Paolo Borelli (3):
          subclass support for GtkEntry
          Update gir to the latest 0.15 branch revision
          Regenerate
    
    Sebastian Dröge (5):
          Add rustfmt.toml to allow some editors to auto-format the code on save
          gdkwayland: Fix new clippy warning
          gtk: Fix new clippy warning
          Update versions to 0.15.5
    

    v0.15.4

    Compare Source

    Jason Francis (1):
          gtk3-macros: Add doc links to glib/gtk items
    
    Sebastian Dröge (6):
          Handle empty slices correctly
          Update gir-files
          gtk: Remove unnecessary overrides
          Regenerate
          Update versions to 0.15.4
    

    v0.15.3

    Compare Source

    Sebastian Dröge (10):
          Update gir
          Regenerate with latest gir
          Update versions to 0.15.3
          Add various 3.24 version overrides
          Add missing version features to Cargo.toml
          Regenerate
          gtk: Add `Atk.Role` to `manual` to generate some more bindings
          gtk: Depend on glib 0.15.3 for `ThreadGuard` API
    

    v0.15.2

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
  • fix(deps): update rust crate gdk to 0.16

    fix(deps): update rust crate gdk to 0.16

    Mend Renovate

    This PR contains the following updates:

    | Package | Type | Update | Change | |---|---|---|---| | gdk (source) | dependencies | minor | 0.15 -> 0.16 |


    Release Notes

    gtk-rs/gtk3-rs

    v0.16.0

    Compare Source

    v0.15.4

    Compare Source

    Jason Francis (1):
          gtk3-macros: Add doc links to glib/gtk items
    
    Sebastian Dröge (6):
          Handle empty slices correctly
          Update gir-files
          gtk: Remove unnecessary overrides
          Regenerate
          Update versions to 0.15.4
    

    v0.15.2

    Compare Source


    Configuration

    📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

    🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

    Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

    🔕 Ignore: Close this PR and you won't be reminded about this update again.


    • [ ] If you want to rebase/retry this PR, check this box

    This PR has been generated by Mend Renovate. View repository job log here.

    opened by renovate[bot] 0
Releases(muda-v0.3.0)
  • muda-v0.3.0(Jan 3, 2023)

    [0.3.0]

    • Add MenuEvent::set_event_handler to set a handler for new menu events.
      • f871c68 refactor: allow changing the menu event sender (#35) on 2023-01-03
    • Breaking change Remove menu_event_receiver function, use MenuEvent::receiver instead.
      • f871c68 refactor: allow changing the menu event sender (#35) on 2023-01-03

    Cargo Publish

    Updating crates.io index
       Packaging muda v0.3.0 (/home/runner/work/muda/muda)
       Verifying muda v0.3.0 (/home/runner/work/muda/muda)
     Downloading crates ...
      Downloaded atk v0.15.1
      Downloaded semver v0.11.0
      Downloaded rustc_version v0.3.3
      Downloaded gio v0.15.12
      Downloaded version-compare v0.1.1
      Downloaded thiserror-impl v1.0.38
      Downloaded x11 v2.20.1
      Downloaded cairo-sys-rs v0.15.1
      Downloaded field-offset v0.3.4
      Downloaded gdk-sys v0.15.1
      Downloaded gio-sys v0.15.10
      Downloaded glib-macros v0.15.11
      Downloaded pin-project-lite v0.2.9
      Downloaded cfg-if v1.0.0
      Downloaded autocfg v1.1.0
      Downloaded futures-task v0.3.25
      Downloaded version_check v0.9.4
      Downloaded smallvec v1.10.0
      Downloaded slab v0.4.7
      Downloaded toml v0.5.10
      Downloaded futures-io v0.3.25
      Downloaded gtk3-macros v0.15.4
      Downloaded gtk-sys v0.15.3
      Downloaded pest v2.5.2
      Downloaded proc-macro-crate v1.2.1
      Downloaded unicode-segmentation v1.10.0
      Downloaded proc-macro-error-attr v1.0.4
      Downloaded thiserror v1.0.38
      Downloaded quote v1.0.23
      Downloaded unicode-ident v1.0.6
      Downloaded serde_derive v1.0.152
      Downloaded proc-macro-error v1.0.4
      Downloaded syn v1.0.107
      Downloaded ucd-trie v0.1.5
      Downloaded libc v0.2.139
      Downloaded serde v1.0.152
      Downloaded gtk v0.15.5
      Downloaded proc-macro2 v1.0.49
      Downloaded once_cell v1.17.0
      Downloaded pin-utils v0.1.0
      Downloaded heck v0.4.0
      Downloaded semver-parser v0.10.2
      Downloaded pango-sys v0.15.10
      Downloaded keyboard-types v0.6.2
      Downloaded pkg-config v0.3.26
      Downloaded pango v0.15.10
      Downloaded memoffset v0.6.5
      Downloaded gobject-sys v0.15.10
      Downloaded crossbeam-channel v0.5.6
      Downloaded bitflags v1.3.2
      Downloaded glib v0.15.12
      Downloaded futures-core v0.3.25
      Downloaded futures-executor v0.3.25
      Downloaded gdk-pixbuf v0.15.11
      Downloaded gdk v0.15.4
      Downloaded gdk-pixbuf-sys v0.15.10
      Downloaded futures-util v0.3.25
      Downloaded futures-channel v0.3.25
      Downloaded cairo-rs v0.15.12
      Downloaded crossbeam-utils v0.8.14
      Downloaded atk-sys v0.15.1
      Downloaded cfg-expr v0.11.0
      Downloaded anyhow v1.0.68
      Downloaded system-deps v6.0.3
      Downloaded glib-sys v0.15.10
      Downloaded libxdo v0.6.0
      Downloaded libxdo-sys v0.11.0
       Compiling serde v1.0.152
       Compiling pkg-config v0.3.26
       Compiling smallvec v1.10.0
       Compiling heck v0.4.0
       Compiling cfg-expr v0.11.0
       Compiling version-compare v0.1.1
       Compiling proc-macro2 v1.0.49
       Compiling unicode-ident v1.0.6
       Compiling quote v1.0.23
       Compiling toml v0.5.10
       Compiling syn v1.0.107
       Compiling system-deps v6.0.3
       Compiling libc v0.2.139
       Compiling thiserror v1.0.38
       Compiling glib-sys v0.15.10
       Compiling autocfg v1.1.0
       Compiling gobject-sys v0.15.10
       Compiling version_check v0.9.4
       Compiling proc-macro-error-attr v1.0.4
       Compiling futures-core v0.3.25
       Compiling proc-macro-error v1.0.4
       Compiling slab v0.4.7
       Compiling futures-task v0.3.25
       Compiling anyhow v1.0.68
       Compiling thiserror-impl v1.0.38
       Compiling futures-util v0.3.25
       Compiling once_cell v1.17.0
       Compiling proc-macro-crate v1.2.1
       Compiling futures-channel v0.3.25
    
    Source code(tar.gz)
    Source code(zip)
    muda-0.3.0.crate(61.25 KB)
  • muda-v0.2.0(Dec 30, 2022)

    [0.2.0]

    • Add IconMenuItem

    Cargo Publish

    Updating crates.io index
       Packaging muda v0.2.0 (/home/runner/work/muda/muda)
       Verifying muda v0.2.0 (/home/runner/work/muda/muda)
     Downloading crates ...
      Downloaded autocfg v1.1.0
      Downloaded pkg-config v0.3.26
      Downloaded proc-macro-error v1.0.4
      Downloaded pango v0.15.10
      Downloaded version_check v0.9.4
      Downloaded x11 v2.20.1
      Downloaded ucd-trie v0.1.5
      Downloaded gdk-sys v0.15.1
      Downloaded gobject-sys v0.15.10
      Downloaded gtk3-macros v0.15.4
      Downloaded pango-sys v0.15.10
      Downloaded pest v2.5.2
      Downloaded futures-util v0.3.25
      Downloaded gtk-sys v0.15.3
      Downloaded gtk v0.15.5
      Downloaded glib v0.15.12
      Downloaded field-offset v0.3.4
      Downloaded cairo-sys-rs v0.15.1
      Downloaded keyboard-types v0.6.2
      Downloaded glib-sys v0.15.10
      Downloaded glib-macros v0.15.11
      Downloaded gio v0.15.12
      Downloaded gdk-pixbuf-sys v0.15.10
      Downloaded gdk-pixbuf v0.15.11
      Downloaded gdk v0.15.4
      Downloaded cfg-expr v0.11.0
      Downloaded cairo-rs v0.15.12
      Downloaded atk-sys v0.15.1
      Downloaded atk v0.15.1
      Downloaded slab v0.4.7
      Downloaded serde v1.0.152
      Downloaded rustc_version v0.3.3
      Downloaded quote v1.0.23
      Downloaded proc-macro-crate v1.2.1
      Downloaded pin-project-lite v0.2.9
      Downloaded once_cell v1.17.0
      Downloaded memoffset v0.6.5
      Downloaded heck v0.4.0
      Downloaded futures-io v0.3.25
      Downloaded futures-executor v0.3.25
      Downloaded futures-core v0.3.25
      Downloaded futures-channel v0.3.25
      Downloaded crossbeam-utils v0.8.14
      Downloaded crossbeam-channel v0.5.6
      Downloaded cfg-if v1.0.0
      Downloaded bitflags v1.3.2
      Downloaded anyhow v1.0.68
      Downloaded version-compare v0.1.1
      Downloaded system-deps v6.0.3
      Downloaded unicode-segmentation v1.10.0
      Downloaded unicode-ident v1.0.6
      Downloaded toml v0.5.10
      Downloaded thiserror-impl v1.0.38
      Downloaded thiserror v1.0.38
      Downloaded syn v1.0.107
      Downloaded smallvec v1.10.0
      Downloaded serde_derive v1.0.152
      Downloaded semver-parser v0.10.2
      Downloaded semver v0.11.0
      Downloaded proc-macro2 v1.0.49
      Downloaded proc-macro-error-attr v1.0.4
      Downloaded futures-task v0.3.25
      Downloaded gio-sys v0.15.10
      Downloaded pin-utils v0.1.0
      Downloaded libc v0.2.139
      Downloaded libxdo v0.6.0
      Downloaded libxdo-sys v0.11.0
       Compiling serde v1.0.152
       Compiling pkg-config v0.3.26
       Compiling heck v0.4.0
       Compiling smallvec v1.10.0
       Compiling cfg-expr v0.11.0
       Compiling version-compare v0.1.1
       Compiling proc-macro2 v1.0.49
       Compiling quote v1.0.23
       Compiling unicode-ident v1.0.6
       Compiling toml v0.5.10
       Compiling system-deps v6.0.3
       Compiling syn v1.0.107
       Compiling libc v0.2.139
       Compiling thiserror v1.0.38
       Compiling glib-sys v0.15.10
       Compiling autocfg v1.1.0
       Compiling gobject-sys v0.15.10
       Compiling version_check v0.9.4
       Compiling proc-macro-error-attr v1.0.4
       Compiling futures-core v0.3.25
       Compiling proc-macro-error v1.0.4
       Compiling slab v0.4.7
       Compiling anyhow v1.0.68
       Compiling futures-task v0.3.25
       Compiling thiserror-impl v1.0.38
       Compiling futures-util v0.3.25
       Compiling once_cell v1.17.0
       Compiling proc-macro-crate v1.2.1
       Compiling futures-channel v0.3.25
    
    Source code(tar.gz)
    Source code(zip)
    muda-0.2.0.crate(60.82 KB)
  • muda-v0.1.1(Dec 19, 2022)

    [0.1.1]

    • Derive Copy for Accelerator type.
      • e80c113 feat: derive Copy for Accelerator on 2022-12-12
    • Fix parsing one letter string as valid accelerator without modifiers.
      • 0173987 fix: parse one letter string to valid accelerator (#28) on 2022-12-20

    Cargo Publish

    Updating crates.io index
       Packaging muda v0.1.1 (/home/runner/work/muda/muda)
       Verifying muda v0.1.1 (/home/runner/work/muda/muda)
     Downloading crates ...
      Downloaded heck v0.4.0
      Downloaded futures-task v0.3.25
      Downloaded pkg-config v0.3.26
      Downloaded serde_derive v1.0.151
      Downloaded toml v0.5.10
      Downloaded unicode-segmentation v1.10.0
      Downloaded version-compare v0.1.1
      Downloaded x11 v2.20.1
      Downloaded gobject-sys v0.15.10
      Downloaded pango-sys v0.15.10
      Downloaded thiserror-impl v1.0.38
      Downloaded unicode-ident v1.0.6
      Downloaded ucd-trie v0.1.5
      Downloaded thiserror v1.0.38
      Downloaded syn v1.0.107
      Downloaded version_check v0.9.4
      Downloaded autocfg v1.1.0
      Downloaded pin-utils v0.1.0
      Downloaded proc-macro-error-attr v1.0.4
      Downloaded proc-macro-error v1.0.4
      Downloaded once_cell v1.16.0
      Downloaded futures-channel v0.3.25
      Downloaded crossbeam-utils v0.8.14
      Downloaded serde v1.0.151
      Downloaded crossbeam-channel v0.5.6
      Downloaded futures-util v0.3.25
      Downloaded slab v0.4.7
      Downloaded cfg-expr v0.11.0
      Downloaded semver-parser v0.10.2
      Downloaded pest v2.5.1
      Downloaded libc v0.2.138
      Downloaded anyhow v1.0.68
      Downloaded field-offset v0.3.4
      Downloaded glib-macros v0.15.11
      Downloaded gtk v0.15.5
      Downloaded glib v0.15.12
      Downloaded gio v0.15.12
      Downloaded atk-sys v0.15.1
      Downloaded futures-executor v0.3.25
      Downloaded memoffset v0.6.5
      Downloaded futures-io v0.3.25
      Downloaded cfg-if v1.0.0
      Downloaded proc-macro2 v1.0.49
      Downloaded semver v0.11.0
      Downloaded quote v1.0.23
      Downloaded rustc_version v0.3.3
      Downloaded proc-macro-crate v1.2.1
      Downloaded keyboard-types v0.6.2
      Downloaded pango v0.15.10
      Downloaded gtk3-macros v0.15.4
      Downloaded gtk-sys v0.15.3
      Downloaded glib-sys v0.15.10
      Downloaded gio-sys v0.15.10
      Downloaded gdk-sys v0.15.1
      Downloaded gdk-pixbuf-sys v0.15.10
      Downloaded gdk-pixbuf v0.15.11
      Downloaded gdk v0.15.4
      Downloaded cairo-sys-rs v0.15.1
      Downloaded cairo-rs v0.15.12
      Downloaded atk v0.15.1
      Downloaded libxdo v0.6.0
      Downloaded system-deps v6.0.3
      Downloaded smallvec v1.10.0
      Downloaded pin-project-lite v0.2.9
      Downloaded bitflags v1.3.2
      Downloaded futures-core v0.3.25
      Downloaded libxdo-sys v0.11.0
       Compiling serde v1.0.151
       Compiling pkg-config v0.3.26
       Compiling smallvec v1.10.0
       Compiling heck v0.4.0
       Compiling cfg-expr v0.11.0
       Compiling version-compare v0.1.1
       Compiling proc-macro2 v1.0.49
       Compiling unicode-ident v1.0.6
       Compiling quote v1.0.23
       Compiling toml v0.5.10
       Compiling syn v1.0.107
       Compiling system-deps v6.0.3
       Compiling libc v0.2.138
       Compiling thiserror v1.0.38
       Compiling glib-sys v0.15.10
       Compiling autocfg v1.1.0
       Compiling gobject-sys v0.15.10
       Compiling thiserror-impl v1.0.38
       Compiling version_check v0.9.4
       Compiling proc-macro-error-attr v1.0.4
       Compiling futures-core v0.3.25
       Compiling proc-macro-error v1.0.4
       Compiling slab v0.4.7
       Compiling futures-task v0.3.25
       Compiling anyhow v1.0.68
       Compiling futures-util v0.3.25
       Compiling once_cell v1.16.0
    
    Source code(tar.gz)
    Source code(zip)
    muda-0.1.1.crate(50.21 KB)
  • muda-v0.1.0(Dec 6, 2022)

    [0.1.0]

    • Initial Release.
      • 0309d10 chore: prepare for first release on 2022-12-05

    Cargo Publish

    Updating crates.io index
       Packaging muda v0.1.0 (/home/runner/work/muda/muda)
       Verifying muda v0.1.0 (/home/runner/work/muda/muda)
     Downloading crates ...
      Downloaded pango v0.15.10
      Downloaded proc-macro-crate v1.2.1
      Downloaded proc-macro-error v1.0.4
      Downloaded proc-macro-error-attr v1.0.4
      Downloaded pkg-config v0.3.26
      Downloaded semver-parser v0.10.2
      Downloaded smallvec v1.10.0
      Downloaded toml v0.5.9
      Downloaded x11 v2.20.1
      Downloaded memoffset v0.6.5
      Downloaded slab v0.4.7
      Downloaded keyboard-types v0.6.2
      Downloaded heck v0.4.0
      Downloaded futures-util v0.3.25
      Downloaded futures-io v0.3.25
      Downloaded rustc_version v0.3.3
      Downloaded thiserror v1.0.37
      Downloaded field-offset v0.3.4
      Downloaded gtk3-macros v0.15.4
      Downloaded version-compare v0.1.1
      Downloaded system-deps v6.0.3
      Downloaded gtk-sys v0.15.3
      Downloaded cfg-expr v0.11.0
      Downloaded libc v0.2.138
      Downloaded pango-sys v0.15.10
      Downloaded glib v0.15.12
      Downloaded pest v2.5.1
      Downloaded gtk v0.15.5
      Downloaded gio v0.15.12
      Downloaded glib-sys v0.15.10
      Downloaded gio-sys v0.15.10
      Downloaded gdk-sys v0.15.1
      Downloaded cairo-rs v0.15.12
      Downloaded glib-macros v0.15.11
      Downloaded gdk v0.15.4
      Downloaded atk v0.15.1
      Downloaded gobject-sys v0.15.10
      Downloaded gdk-pixbuf-sys v0.15.10
      Downloaded atk-sys v0.15.1
      Downloaded cairo-sys-rs v0.15.1
      Downloaded libxdo v0.6.0
      Downloaded quote v1.0.21
      Downloaded once_cell v1.16.0
      Downloaded futures-task v0.3.25
      Downloaded futures-core v0.3.25
      Downloaded futures-executor v0.3.25
      Downloaded crossbeam-utils v0.8.14
      Downloaded crossbeam-channel v0.5.6
      Downloaded cfg-if v1.0.0
      Downloaded bitflags v1.3.2
      Downloaded autocfg v1.1.0
      Downloaded version_check v0.9.4
      Downloaded unicode-segmentation v1.10.0
      Downloaded unicode-ident v1.0.5
      Downloaded ucd-trie v0.1.5
      Downloaded thiserror-impl v1.0.37
      Downloaded syn v1.0.105
      Downloaded serde_derive v1.0.149
      Downloaded serde v1.0.149
      Downloaded gdk-pixbuf v0.15.11
      Downloaded semver v0.11.0
      Downloaded proc-macro2 v1.0.47
      Downloaded anyhow v1.0.66
      Downloaded futures-channel v0.3.25
      Downloaded pin-utils v0.1.0
      Downloaded pin-project-lite v0.2.9
      Downloaded libxdo-sys v0.11.0
       Compiling serde v1.0.149
       Compiling pkg-config v0.3.26
       Compiling heck v0.4.0
       Compiling smallvec v1.10.0
       Compiling cfg-expr v0.11.0
       Compiling version-compare v0.1.1
       Compiling proc-macro2 v1.0.47
       Compiling unicode-ident v1.0.5
       Compiling quote v1.0.21
       Compiling toml v0.5.9
       Compiling system-deps v6.0.3
       Compiling syn v1.0.105
       Compiling libc v0.2.138
       Compiling thiserror v1.0.37
       Compiling glib-sys v0.15.10
       Compiling autocfg v1.1.0
       Compiling gobject-sys v0.15.10
       Compiling version_check v0.9.4
       Compiling proc-macro-error-attr v1.0.4
       Compiling futures-core v0.3.25
       Compiling proc-macro-error v1.0.4
       Compiling slab v0.4.7
       Compiling futures-task v0.3.25
       Compiling anyhow v1.0.66
       Compiling thiserror-impl v1.0.37
       Compiling once_cell v1.16.0
       Compiling futures-util v0.3.25
       Compiling pin-project-lite v0.2.9
    
    Source code(tar.gz)
    Source code(zip)
    muda-0.1.0.crate(45.00 KB)
Owner
Amr Bashir
Amr Bashir
General Rust Actix Applications and AWS Programming Utilities

RUST Actix-Web Microservice Our Rust Beginners Kit for Application Development A collection of sample code using the actix rust framework to A) Develo

IntelliConnect Technologies 58 Nov 21, 2022
A library to provide abstractions to access common utilities when developing Dioxus applications.

?? Dioxus Standard Library ?? A platform agnostic library for supercharging your productivity with Dioxus. dioxus-std is a Dioxus standard library tha

Miles Murgaw 5 Nov 9, 2022
A lightweight terminal menu for Rust

youchoose A simple, easy to use command line menu for Rust. Usage There are two methods you need to be familiar with to get started: Menu::new which t

Nathan Thomas 143 Dec 21, 2022
A launcher/menu program written in Rust for wlroots-based Wayland compositors

tehda tehda (ᴛᴀʏ-dah /ˈteɪ̯.dæ/ or /teh.da/; Finnish for "to do, perform, execute") is a launcher/menu program, like dmenu, rofi, or wofi, written in

Nadia 4 Jan 29, 2023
A small utility that moves the start menu to the top-center of the screen in Windows 11.

TopCenterStart11 A small utility that moves the start menu to the top-center of the screen in Windows 11. As of right now, this application can only p

Ryan de Jonge 12 Nov 12, 2022
A menu widget for tui-rs ecosystem

tui-menu A menu widget for tui-rs ecosystem. Features Sub menu groups. Intuitive movement. Item's data is generic as long as it Cloneable. Try cargo r

shuo 3 Nov 30, 2022
Easy configurable tmux display-menu

tmux-easy-menu Easy configurable tmux display-menu Setup cargo build And run with ./target/debug/tmux-menu show --menu {path-to-your-config} Configu

null 18 Jan 23, 2023
Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux.

Maccha I hate coffee. Maccha is an extremely extensible and themable power menu for Windows, macOS, and Linux. Plugins Plugins are written in Rust (ot

Kyza 9 May 13, 2023
Scriptable tool to read and write UEFI variables from EFI shell. View, save, edit and restore hidden UEFI (BIOS) Setup settings faster than with the OEM menu forms.

UEFI Variable Tool (UVT) UEFI Variable Tool (UVT) is a command-line application that runs from the UEFI shell. It can be launched in seconds from any

null 4 Dec 11, 2023
An extremely high performance logging system for clients (iOS, Android, Desktop), written in Rust.

Pinenut Log 中文文档 ・ English An extremely high performance logging system for clients (iOS, Android, Desktop), written in Rust. Overview Compression Pin

Tangent 4 Dec 1, 2023
A cross-platofrm desktop app to manage your ports made with Dioxus and Rust.

Port Manager A cross-platofrm desktop app to manage your ports made with Dioxus and Rust. This app has been tested only on macOS. Test on other platfo

Muideen 3 Mar 30, 2024
Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.

Deadliner Watch the YouTube video What's Deadliner? Deadliner is a cross-platform desktop application for setting deadline for a project and keeping t

Deadliner 34 Dec 16, 2022
Desktop app for reading and downloading manga. With clean distraction-free design and no clutter

Tonbun Tonbun is a desktop app for reading and downloading manga. With clean distraction-free design and no clutter. Build with Rust, Tauri, Vue.js, a

null 23 Nov 30, 2022
CLI utility that screencaptures your Linux desktop and streams it to Kodi via UPNP/DLNA and RTSP

desktopcast Desktopcast is a little CLI application that allows you to cast your Linux desktop to any UPNP/DLNA device capable of the AVTransfer servi

Markus Ebner 25 Apr 16, 2023
Display near-real-time satellite imagery on your desktop.

Satpaper Display near-real-time satellite imagery on your desktop. (Click to see full-size version) Satpaper generates live wallpapers for your deskto

null 148 Oct 10, 2023
Cross-platform file sharig application for desktop and mobile devices

Skylite Description Getting Started Dependencies Installing Executing program License Acknowledgments Description Cross platform file sharing applicat

Adeoye Adefemi 5 Nov 16, 2023
argmax is a library that allows Rust applications to avoid Argument list too long errors (E2BIG) by providing a std::process::Command wrapper with a

argmax argmax is a library that allows Rust applications to avoid Argument list too long errors (E2BIG) by providing a std::process::Command wrapper w

David Peter 22 Nov 20, 2022
Update informer for CLI applications written in Rust 🦀

Update-informer Update informer for CLI applications written in Rust ?? Usage Add to Cargo.toml: [dependencies] update-notifier = "0.1.0" To check the

Grachev Mikhail 166 Dec 18, 2022
A strong, compile-time enforced authorization framework for rust applications.

DACquiri A compile-time enforced authorization framework for Rust applications. Authorization In typical applications, authorization checks are perfor

resync 247 Dec 20, 2022