Διαχείριση συνεδριών του display manager με το xsesame

Να μοιραστώ ένα προγραμματάκι που είχα γράψει όταν μάθαινα την γλώσσα Rust. Με την βοήθεια του μπορείς να απενεργοποιείς τις διάφορες συνεδρίες από το μενού του κάθε διαχειριστή παραθύρων όπως το gdm. Ξέρεις πως πάνε αυτά, αντί να δώσεις μια εντολή και να ξεμπλέξεις τρως μέρες να το αυτοματοποιήσεις :joy:.

Κάνει πολλά πράγματα παραπάνω από ότι θα περίμενε κανείς για ένα μάλλον άχρηστο πρόγραμμα, ακόμα και competion για πολλά shells, και ταιριάζει την έξοδο με τις στήλες του τερματικού. Απλά έπαιζα, αλλά το μοιράζομαι εδώ με την απέλπιδα γνώμη πως ίσως φανεί χρήσιμο :grin:.

Έχει ένα εκτενές σύστημα βοήθειας


xsesane help
xsesame 0.1.0

Some desktop environments install a lot of different types that have to real use for
the end user. For example cinnamon also install a cinnamon fallback. Others install a lot more.
This small utility helps you to list and disable some of them. Of course you can also re-enable them.

The propose of this little tool is to minimize the clutter in the display manager.

USAGE:
    xsesame [SUBCOMMAND]

OPTIONS:
    -d, --session-dir <session-dir>
            Session config directory [default: test/samples]

    -h, --help                         Prints help information
    -V, --version                      Prints version information

SUBCOMMANDS:
    list          list display manager sessions
    toggle        Toggle session visibility
    enable        Enable a session
    disable       Disable a session
    export        Export session list
    completion    Generate completions for various shells
    help          Prints this message or the help of the given subcommand(s)

Use help <subcommand> for more info.

Κάθε υποεντολή έχει την δική της βοήθεια:


xsesane help list
USAGE:
    xsesame list [FLAGS] [OPTIONS]

FLAGS:
    -l, --no-nls     Show comment localized if possible
    -h, --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -d, --session-dir <session-dir>
            Session config directory [default: test/samples]

    -e, --emoji=<emoji>                Use emoji [possible values: hearts, check, plain]
    -c, --comments=<comments>
            Show comments [possible values: auto, show, hide]

    -w, --what=<what>
            filter results [possible values: all, valid, invalid]

Ένα παράδειγμα που δείχνει τις διαθέσιμες συνεδρίες από το test suite


xsesane
List of active and inactive sessions:
   Key             Name                          Comment
💚  budgie-desktop  Budgie Desktop                This session logs you into the Budgie Desktop
💚  cinnamon        Cinnamon                      This session logs you into Cinnamon
🤍  cinnamon2d      Cinnamon (Software Rendering) This session logs you into Cinnamon (using software rendering)
💚  icewm-session   IceWM Session                 This session logs you into IceWM
💚  lxde            LXDE                          LXDE - Lightweight X11 desktop environment
💚  plasma          Plasma (X11)                  Plasma by KDE
🤍  pop             Pop                           This session logs you into Pop

Δεν το έχω πακετάρει (το θέλει αλήθεια κανείς;) για την εγκατάσταση git clone με εγκατεστημένη την Rust και μετά

cargo build –release

Το αποθετήριο είναι παρακάτω, patches welcome και απαλά στην κριτική ήταν το πρώτο μου πρόγραμμα σε Rust :grin:.

4 «Μου αρέσει»

Χρήσιμο εργαλείο. Σχόλια για τη Rust ως πρωτάρης στη γλώσσα;

Ένα PKGBUILD και ανέβηκε στο Aur :sweat_smile:

2 «Μου αρέσει»

Ως πρωτάρης θα πρέπει να πω ότι δεν είναι καθόλου για πρωτάρηδες :grin: