Reorganize Waybar config to make it more logically laid out, add explanatory comments, and in general make it easier for users to make their own changes.
The firewall-applet is failing to launch with dex (it core dumps because it can't use "wayland" for QT_QPA_PLATFORM), and nm-applet is already being launched from the autostart_applications config, so the only thing dex is actually doing is starting the Welcome App.
This commit drops dex in favor of setting all apps that need to be autostarted in the Sway config, where there is more flexibility with setting needed environment variables or making other adjustments. Additionally, this configuration choice will not inherit conflicts from other autostart processes if users are running multiple environments (see https://github.com/EndeavourOS-Community-Editions/sway/pull/84).
* Remove dex from packages-repository.txt and from autostart_applications config
* Add firewall-applet and eos-welcome to autostart_applications config
* style(waybar): remove temperature module from style.css
* Remove temperature module from style.css. We aren't using the temperature module in the Waybar so we don't need css for it.
* feat: replace sddm with greetd
* Remove sddm and eos-sddm-theme from packages-repository.txt, add greetd and greetd-regreet
* Add directory in repo for Greetd configs
* Add executable bit to scripts so it doesn't have to be set post-install
* Create home_config directory for files to be deployed to user's home root (.gtkrc-2.0, .nanorc)
* Rework the user_commands.bash script with explanatory comments, debug echoes, rework some of the commands
* Update README.md to mention installing with user_commands.bash method, update display manager references from SDDM to Greetd
To do:
* Update sway-install.sh for new deployment routine
* Debug set_once.sh (do we need this? It currently isn't being used since nothing is setting it as executable)
* setup.sh > seems to be an old version of the install script. Remove?
* fix(readme): image URL
* fix(readme.md): re-upload images
* feat(readme.md): update installation instructions
Add an ordered list to the installation instructions to accompany the Welcome/install-file picture.
* style(regreet.toml): update comment for WLR_RENDERER_ALLOW_SOFTWARE variable
* feat(setup_sway_isomode.bash): add vm detection
* Detect vm with systemd-detect-virt
* Conditionally enable WLR_RENDERER_ALLOW_SOFTWARE in ReGreet config
* fix(regreet.toml): revert welcome message to default
* feat(xed.dconf): update xed setup routine
* Add new self-destructing setup script for applying xed.dconf
* xed_setup.sh will be deployed by Sway autostart config. Script applies config, sends a notification, removes script call in autostart config, and deletes itself.
* set_once.sh and the line which calls it in ~/.config/sway/config have been deleted. The script wasn't actually doing anything to begin with since it was not executable, but now all the stuff it was supposed to do is taken care of in other scripts.
* feat(sway-install.sh): update post-install setup script
Update sway-install.sh based on the new configuration layout. The script runs as root instead of calling sudo multiple times in the script, but restores ownership to the user's home directory deploying the configs (using logname to determine the username).
* fix(sway-install.sh): update relative paths, remove call to clone repo
* fix(README.md): correct URL for user_commands.bash installation method
* fix(packages-repository.txt): remove redundant bluez-utils entry
bluez-utils is already included in the default package list in a stock EndeavourOS install with no DE.
* feat(sway): incorporate 50-systemd-user.conf into autostart_applications
* XDG_CURRENT_DESKTOP=sway is already set by the greeter
* Importing environment variables for the user systemd service manager and updating the dbus environment with display variables can be set in the autostart config.
* feat: add pamixer, update multimedia keybindings
* Add `pamixer`, allowing the volume multimedia keys to be simplified
* Use `playerctl`'s `play-pause` command by default. Having separate bindings for "play" and "pause" is appropriate if "play" and "pause" are separate multimedia keys, but what is more common is for these to be the same key.
* style: move foot server startup to autostart_applications
* style: tidy up sway config, simplify code comments
Get the config organized and make it easier to read through.
* feat: replace wofi with fuzzel
Wofi still works, but there is a notice on their sourcehut page (https://hg.sr.ht/~scoopta/wofi) that it is not actively maintained anymore. Fuzzel is an alternative picker from the same dev as Foot terminal. It is fast, highly customizable, and low resource usage.
In addition to being used as an application launcher, Wofi was being used in a script for the power menu and in a window switcher script. Those scripts have been re-written to provide the same functionality, but using Fuzzel for the picker.
* Add Fuzzel to packages-repository.txt, remove Wofi
* Add fuzzel.ini, remove Wofi configs and scripts
* Add new Fuzzel scripts to ~/.config/sway/scripts
* Update Waybar config (change Wofi calls to Fuzzel calls)
* Update Wofi mentions in cheatsheet, keyhint script, and README
* feat: add local desktop files with NoDisplay=true
Add local desktop files with NoDisplay=true for default applications which have a desktop file, but are not intended to be started from the launcher. Rather, these are utilities or menus which are meant to be started from within another application. Adding the NoDisplay=true property will help declutter the launcher's menu.
The installation scripts have also been updated to accomodate these files during the config deployment routine.
* feat(regreet): update environment variables in regreet config
* Update [env] section in ReGreet config to include environment variables set in ~/.config/environment.d/30-envvars.conf
* Add explanatory comments
* Remove ~/.config/environment.d/30-envvars.conf since it is no longer needed
* feat(logind.conf.d): remove suspend scripts and use systemd for this
Since we are using systemd, we can just send an idlehint and let systemd manage suspend events (including lid closing, etc) with logind.conf. This will be cleaner and less complicated than the scripted solutions.
* Add a drop-in for logind.conf.d to suspend after 10 minutes
* Add an accomodation to the config to lock the screen before suspend events
* feat: add cliphist
* Add [cliphist](https://github.com/sentriz/cliphist) clipboard manager
* Add watch for clipboard events to autostart config
* Add keybindings to launch cliphist with Fuzzel
* style(sway-input): remove tap_button_map lrm
Remove tap_button_map lrm from input config. lrm is the default so we do not need to explicitly set it here. Also the comment was rather confusing and unhelpful.
* feat(power_menu.sh): add selection numbers to confirmation menu
The selection numbers are handy for making a selection from the num pad, however it is needed to come back over to the arrow keys or the home row on the confirmation prompt. Adding the selection numbers to the confirmation prompt will allow completing the interaction on the num pad if desired.
* fix(regreet): correct formatting for new environment variables
* Update README.md
* Update instruction for setting WLR_NO_HARDWARE_CURSORS
* Remove mention of LXAppearance since we don't use it
* Update Wofi screenshot to Fuzzel screenshot
* feat(sudoers.d/custom): add env_keep variables for sudo
Add a sudoers drop-in for passing environment variables to sudo for QT_QPA_PLATFORM, WAYLAND_DISPLAY, and XDG_RUNTIME_DIR. These variables are commonly needed for running applications as sudo on Wayland.
* style(waybar): remove temperature module from style.css
* Remove temperature module from style.css. We aren't using the temperature module in the Waybar so we don't need css for it.
* feat: replace sddm with greetd
* Remove sddm and eos-sddm-theme from packages-repository.txt, add greetd and greetd-regreet
* Add directory in repo for Greetd configs
* Add executable bit to scripts so it doesn't have to be set post-install
* Create home_config directory for files to be deployed to user's home root (.gtkrc-2.0, .nanorc)
* Rework the user_commands.bash script with explanatory comments, debug echoes, rework some of the commands
* Update README.md to mention installing with user_commands.bash method, update display manager references from SDDM to Greetd
To do:
* Update sway-install.sh for new deployment routine
* Debug set_once.sh (do we need this? It currently isn't being used since nothing is setting it as executable)
* setup.sh > seems to be an old version of the install script. Remove?
* fix(readme): image URL
* fix(readme.md): re-upload images
* feat(readme.md): update installation instructions
Add an ordered list to the installation instructions to accompany the Welcome/install-file picture.
* style(regreet.toml): update comment for WLR_RENDERER_ALLOW_SOFTWARE variable
* feat(setup_sway_isomode.bash): add vm detection
* Detect vm with systemd-detect-virt
* Conditionally enable WLR_RENDERER_ALLOW_SOFTWARE in ReGreet config
* fix(regreet.toml): revert welcome message to default
* feat(xed.dconf): update xed setup routine
* Add new self-destructing setup script for applying xed.dconf
* xed_setup.sh will be deployed by Sway autostart config. Script applies config, sends a notification, removes script call in autostart config, and deletes itself.
* set_once.sh and the line which calls it in ~/.config/sway/config have been deleted. The script wasn't actually doing anything to begin with since it was not executable, but now all the stuff it was supposed to do is taken care of in other scripts.
* feat(sway-install.sh): update post-install setup script
Update sway-install.sh based on the new configuration layout. The script runs as root instead of calling sudo multiple times in the script, but restores ownership to the user's home directory deploying the configs (using logname to determine the username).
* fix(sway-install.sh): update relative paths, remove call to clone repo
* fix(README.md): correct URL for user_commands.bash installation method
* fix(packages-repository.txt): remove redundant bluez-utils entry
bluez-utils is already included in the default package list in a stock EndeavourOS install with no DE.
* feat(sway): incorporate 50-systemd-user.conf into autostart_applications
* XDG_CURRENT_DESKTOP=sway is already set by the greeter
* Importing environment variables for the user systemd service manager and updating the dbus environment with display variables can be set in the autostart config.
* feat: add pamixer, update multimedia keybindings
* Add `pamixer`, allowing the volume multimedia keys to be simplified
* Use `playerctl`'s `play-pause` command by default. Having separate bindings for "play" and "pause" is appropriate if "play" and "pause" are separate multimedia keys, but what is more common is for these to be the same key.
* style: move foot server startup to autostart_applications
* style: tidy up sway config, simplify code comments
Get the config organized and make it easier to read through.
* feat: replace wofi with fuzzel
Wofi still works, but there is a notice on their sourcehut page (https://hg.sr.ht/~scoopta/wofi) that it is not actively maintained anymore. Fuzzel is an alternative picker from the same dev as Foot terminal. It is fast, highly customizable, and low resource usage.
In addition to being used as an application launcher, Wofi was being used in a script for the power menu and in a window switcher script. Those scripts have been re-written to provide the same functionality, but using Fuzzel for the picker.
* Add Fuzzel to packages-repository.txt, remove Wofi
* Add fuzzel.ini, remove Wofi configs and scripts
* Add new Fuzzel scripts to ~/.config/sway/scripts
* Update Waybar config (change Wofi calls to Fuzzel calls)
* Update Wofi mentions in cheatsheet, keyhint script, and README
* feat: add local desktop files with NoDisplay=true
Add local desktop files with NoDisplay=true for default applications which have a desktop file, but are not intended to be started from the launcher. Rather, these are utilities or menus which are meant to be started from within another application. Adding the NoDisplay=true property will help declutter the launcher's menu.
The installation scripts have also been updated to accomodate these files during the config deployment routine.
* Remove `backlight#value`--no need for two separate modules for this, value and icon can live together in a single module.
* Add graduated icons (the cirle fills/empties as the brightness is scrolled up or down)
* Change scroll interval to 5% (1% is pretty low)
* Add spacing to memory, cpu, audio, keyboard, and battery modules to separate the modules from each other a little more and get a more consistent look on the bar.
* Update the icons for memory, cpu (so the icon looks more like what it actually is)
Update network module to display bandwidth in Waybar, and move SSID or interface name/IP address information to the tooltip. It's a little more interesting to look at, and somewhat more relevant to have at a glance since the information changes dynamically.
The separate config for `tun0` interface has been scrapped in favor of having one module which presents whichever interface is currently active.
Restructure Waybar config and style.css so the modules are ordered in the configs the same way they are ordered on the actual bar. The purpose of this is to make it easier for users to find things for making changes, and to help keep the configs organized.
Remove custom modules from config. These modules are not actually being used (the Firefox, files, and terminal modules in the Waybar are the sway/workspaces module).