You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AquariWM will be enforcing the use of hard tab characters for indentation throughout the core project (style guide does not affect unofficial modules). To be clear, this explicitly goes against Rust's (the language of AquariWM's core) official style guide, and therefore may cause issues with some tools for Rust that may expect that Rust use 4 spaces for indentation. AquariWM can and will include some configuration files in the GitHub repository that can automatically configure some common tools to use tabs to respect the AquariWM project's style guide. This includes EditorConfig, which is a standard created so that projects like AquariWM can automatically configure editors to use specific style formats, and the popular Rust formatters rustfmt and rust-clippy.
Why?
I, the original creator of AquariWM, have decided to use hard tabs throughout the project as I believe they can be more helpful for accessibility reasons. Unlike spaces, the displayed width of a tab character is something that can be easily configured in editors. If someone has difficulty seeing the difference between indentation levels in code easily, they could easily increase the tab width in their local editor to 8 characters. In the opposite manner, someone who might find it difficult to read the text in code might increase the font size, and at an increased font size the default tab spacing of 4 might be too large and take up too much of the screen - they may decrease the spacing to 3 or 2 characters.
To add in the topic of visual accessory, screen readers are quite popular in North America. While there are screen readers which can recognise the indentation of spaces, there are also commonly screen readers which might. Reading out each individual space could be an accessibility concern, or, at the least, an annoyance.
However...
There are also some possible drawbacks for accessibility when using hard tab characters, however. Braile displays are more popular in Europe than they are in North America, and these may not differentiate between a tab character and a space character - in this case, it could be difficult to tell the difference between spaces vs. actual indentation.
But what about alignment?
Text in AquariWM that is meant to be aligned, i.e. for formatting in comments or similar, spaces should still be used. Changing the width of tab characters could disrupt this alignment. This is actually a good thing - differentiating between indented text and text that has additional whitespace prepended for alignment could be quite helpful at times.
What next (as of the date of this discussion)?
The next steps to implement this change are to edit the style guide in CONTRIBUTING.md, likely moving it to a Contributors' section on the AquariWM wiki here on GitHub, to reflect the use of tab characters. Additionally, the .editorconfig file should be edited to automatically configure editors for the use of tab characters, and configuration for rustfmt and rust-clippy needs to be added to the project.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
AquariWM will be enforcing the use of hard tab characters for indentation throughout the core project (style guide does not affect unofficial modules). To be clear, this explicitly goes against Rust's (the language of AquariWM's core) official style guide, and therefore may cause issues with some tools for Rust that may expect that Rust use 4 spaces for indentation. AquariWM can and will include some configuration files in the GitHub repository that can automatically configure some common tools to use tabs to respect the AquariWM project's style guide. This includes EditorConfig, which is a standard created so that projects like AquariWM can automatically configure editors to use specific style formats, and the popular Rust formatters
rustfmt
andrust-clippy
.Why?
I, the original creator of AquariWM, have decided to use hard tabs throughout the project as I believe they can be more helpful for accessibility reasons. Unlike spaces, the displayed width of a tab character is something that can be easily configured in editors. If someone has difficulty seeing the difference between indentation levels in code easily, they could easily increase the tab width in their local editor to 8 characters. In the opposite manner, someone who might find it difficult to read the text in code might increase the font size, and at an increased font size the default tab spacing of 4 might be too large and take up too much of the screen - they may decrease the spacing to 3 or 2 characters.
To add in the topic of visual accessory, screen readers are quite popular in North America. While there are screen readers which can recognise the indentation of spaces, there are also commonly screen readers which might. Reading out each individual space could be an accessibility concern, or, at the least, an annoyance.
However...
There are also some possible drawbacks for accessibility when using hard tab characters, however. Braile displays are more popular in Europe than they are in North America, and these may not differentiate between a tab character and a space character - in this case, it could be difficult to tell the difference between spaces vs. actual indentation.
But what about alignment?
Text in AquariWM that is meant to be aligned, i.e. for formatting in comments or similar, spaces should still be used. Changing the width of tab characters could disrupt this alignment. This is actually a good thing - differentiating between indented text and text that has additional whitespace prepended for alignment could be quite helpful at times.
What next (as of the date of this discussion)?
The next steps to implement this change are to edit the style guide in CONTRIBUTING.md, likely moving it to a Contributors' section on the AquariWM wiki here on GitHub, to reflect the use of tab characters. Additionally, the
.editorconfig
file should be edited to automatically configure editors for the use of tab characters, and configuration forrustfmt
andrust-clippy
needs to be added to the project.Beta Was this translation helpful? Give feedback.
All reactions