• 2 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: July 2nd, 2023

help-circle






  • Inaccurate report,

    I just ran Neovim in terminal and was used to Neovide, so I thought it was choppy.

    Intel HD 630.

    There is, however, a 2D game - which I am not going to disclose the name of - that’s pretty broken. (It uses Adobe Flash as an engine)

    Also the steam client doesn’t maximize properly with tiling but I am sure that’s reported.

    I have been daily driving Cosmic for a week now; it caused me Arch-syndrome, everyday I run sudo apt update hoping to get some polish to the desktop.

    Edit: there’s more…

    Neovide’s transparency is completely broken, and shows a blank, though not a pitch black, color and screenshotting it results in seeing the text with a checkered background. (In the resulting screenshot only) (Running on Proton 8.0-5)

    clipboard=unnamed plus, the setting supposed to unify Neovim’s clipboard and system’s, doesn’t work. clipboard: error : Error: target STRING not available

    I also was unable to transfer a file to my phone using Cosmic Files, but Nemo worked, though I read that’s fixed in some Blog.

    Edit II: I just discovered popdev:master it seems to be a general unstable branch instead of just Cosmic things, but I took the risk and added it, I just have to remember to remove it once 24.04’s released



  • Well, what I meant was just rustfmt’s default with:

    • 80 character line
    • 8-space hard tabs

    In addition to naming local variables short names, and soft-limiting functions to 48 lines long & their local variables to 5-10 (you know, normal reasonable things)

    The part about switch statements doesn’t apply as Rust replaced them with match.*

    The part about function brackets on new lines doesn’t apply because Rust does have nested functions.

    The bad part about bracket-less if statements doesn’t apply as Rust doesn’t support such anti-features.

    The part about editor cruft is probably solved in this day & age.

    The rest are either forced by the borrow checker, made obsolete by the great type system, or are just C exclusive issues that are unique to C.

    I left out some parts of the standard that I do not understand.

    I just skimmed through the Rust style guide, and realized the only real difference between the 2 standards is indentation, and line length. Embarrassing.

    *: I experimented with not-indenting the arms of the root match expression, it’s surprisingly very good for simple match expressions, and feels very much like a switch, though I am not confident in recommending to people.

    Edit: How did I forget?! Indentation is limited to 3, increasing code readability.



  • I am on Pop!_OS, I ran sudo apt install cosmic*.

    Don’t worry, you’re not missing out on much, running video games, or any OpenGL thing including 2D games and GPU-accelerated terminal emulators is a bad experience, and alt+f4 isn’t implemented, and f11 to fullscreen is janky, and theming for buttons and such is clearly alpha.

    The promise of an Arabic-supporting, Rust based, GPU-accelerated terminal is too attractive, however, as I was teared between multilingual terminal, Wezterm, Alacritty and Kitty for a while.

    The first is horrible at everything but supporting languages, the second is really janky, the third doesn’t support tabs, the fourth has bad theming and customization.


  • wasting 10% of that space for each indentation? What are you smoking?

    As I said before, this standard is older than C itself, and the kernel’s been using it for decades, I shouldn’t have to explain it. Long tabs and short lines boost readability, and restricting indentation to 3 solves the problem. Read my reply to [email protected] for more context.

    Also rustfmt didn’t move the string in

    println!("a very long string slice with a static lifetime"); to a new line even when it exceeded a 100 columns, I should seek a solution.

    Note: The actual string I used was way longer than that.








  • My emotions just stopped, so I can now think straight.

    There are really only 2 changes that - in my eyes - should be made:

    • 8 space-long, hard tabs.
    • 80 character limit instead of 100.

    I don’t think a tool like rustfmt can affect most of the original guidelines, and it’s generally compatible with the OG style by default.

    Edit: I - surprisingly - never actually used rustfmt, so I will go now and test before I say something stupid.

    Edit II: I just found this on their repo:

    Rustfmt is designed to be very configurable.

    Edit III: I tested rustfmt with:

    hard_tabs = true

    max_width = 80

    It’s great!