From e93bcf8bafd01d1f50325a50bc8adc4ac71f6742 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Sat, 24 Dec 2022 22:16:08 +0100 Subject: [PATCH 1/6] upgrade to fedora 37 --- README.md | 92 +++++++++++++++++++ better-fonts-36.repo => better-fonts-37.repo | 2 +- compose.sh | 2 + ...-36-updates.repo => fedora-37-updates.repo | 6 +- fedora-36.repo => fedora-37.repo | 6 +- greetd-36.repo => greetd-37.repo | 2 +- post.sh | 3 + ...ion-free-36.repo => rpmfusion-free-37.repo | 25 +++-- ...-36.repo => rpmfusion-free-updates-37.repo | 25 +++-- x13-gen1-sway-desktop.yaml | 21 ++--- 10 files changed, 139 insertions(+), 45 deletions(-) rename better-fonts-36.repo => better-fonts-37.repo (90%) rename fedora-36-updates.repo => fedora-37-updates.repo (55%) rename fedora-36.repo => fedora-37.repo (64%) rename greetd-36.repo => greetd-37.repo (90%) rename rpmfusion-free-36.repo => rpmfusion-free-37.repo (74%) rename rpmfusion-free-updates-36.repo => rpmfusion-free-updates-37.repo (66%) diff --git a/README.md b/README.md index 0f9b56a..9744e91 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,95 @@ +# Vladan's X13 Gen 1 Sway Desktop config + +This is an [rpm-ostree](https://coreos.github.io/rpm-ostree/) based minimal +[Fedora](https://getfedora.org/) developer desktop with the [sway window manager](https://swaywm.org/) and [podman](https://podman.io/)/[toolbox](https://docs.fedoraproject.org/en-US/fedora-silverblue/toolbox/) for doing development and running less common graphical applications. + +Run `sudo ./compose.sh` from the root folder of this repo to build the rootfs in a local repo. Don't forget to change the path related env vars. + +--- +Original README for [workstation-ostree-config](https://pagure.io/workstation-ostree-config) +--- + +# Manifests for rpm-ostree based Fedora variants + +This is the configuration needed to create +[rpm-ostree](https://coreos.github.io/rpm-ostree/) based variants of Fedora. +Each variant is described in a YAML +[treefile](https://coreos.github.io/rpm-ostree/treefile/) which is then used by +rpm-ostree to compose an ostree commit with the package requested. + +In the Fedora infrastructure, this happens via +[pungi](https://pagure.io/pungi-fedora) with +[Lorax](https://github.com/weldr/lorax) +([templates](https://pagure.io/fedora-lorax-templates)). + +## Fedora Silverblue + +- Website: https://silverblue.fedoraproject.org/ ([sources](https://github.com/fedora-silverblue/silverblue-site)) +- Documentation: https://docs.fedoraproject.org/en-US/fedora-silverblue/ ([sources](https://github.com/fedora-silverblue/silverblue-docs)) +- Issue tracker: https://github.com/fedora-silverblue/issue-tracker/issues + +## Fedora Kinoite + +- Website: https://kinoite.fedoraproject.org/ ([sources](https://pagure.io/fedora-kde/kinoite-site)) +- Documentation: https://docs.fedoraproject.org/en-US/fedora-kinoite/ ([sources](https://pagure.io/fedora-kde/kinoite-docs)) +- Issue tracker: https://pagure.io/fedora-kde/SIG/issues + +## Building + +Instructions to perform a local build of Silverblue: + +``` +# Clone the config +git clone https://pagure.io/workstation-ostree-config && cd workstation-ostree-config + +# Prepare directories +mkdir -p repo cache +ostree --repo=repo init --mode=archive + +# Build (compose) the variant of your choice +sudo rpm-ostree compose tree --repo=repo --cachedir=cache fedora-silverblue.yaml + +# Update summary file +ostree summary --repo=repo --update +``` + +## Testing + +Instructions to test the resulting build: + +- First, serve the ostree repo using an HTTP server. You can use any static file server. For example using : + + ``` + simple-http-server --index --ip 192.168.122.1 --port 8000 + ``` + +- Then, on an already installed Silverblue system: + +``` +# Add an ostree remote +sudo ostree remote add testremote http://192.168.122.1:8000/repo --no-gpg-verify + +# Pin the currently deployed (and probably working) version +sudo ostree admin pin 0 + +# List refs from variant remote +sudo ostree remote refs testremote + +# Switch to your variant +sudo rpm-ostree rebase testremote:fedora/rawhide/x86_64/silverblue + +# Reboot and test! +``` + +## Historical references + +Building and testing instructions: + +- https://dustymabe.com/2017/10/05/setting-up-an-atomic-host-build-server/ +- https://dustymabe.com/2017/08/08/how-do-we-create-ostree-repos-and-artifacts-in-fedora/ +- https://www.projectatomic.io/blog/2017/12/compose-custom-ostree/ +- https://www.projectatomic.io/docs/compose-your-own-tree/ + For some background, see: - diff --git a/better-fonts-36.repo b/better-fonts-37.repo similarity index 90% rename from better-fonts-36.repo rename to better-fonts-37.repo index d355377..90740cc 100644 --- a/better-fonts-36.repo +++ b/better-fonts-37.repo @@ -1,6 +1,6 @@ [copr:copr.fedorainfracloud.org:dawid:better_fonts] name=Copr repo for better_fonts owned by dawid -baseurl=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/fedora-36-$basearch/ +baseurl=https://download.copr.fedorainfracloud.org/results/dawid/better_fonts/fedora-37-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 diff --git a/compose.sh b/compose.sh index c68628d..9b93213 100755 --- a/compose.sh +++ b/compose.sh @@ -10,3 +10,5 @@ if [ ! -d $REPO/objects ]; then fi rpm-ostree compose tree --unified-core --cachedir=$CACHE --repo=$REPO x13-gen1-sway-desktop.yaml +ostree summary --repo=$REPO --update + diff --git a/fedora-36-updates.repo b/fedora-37-updates.repo similarity index 55% rename from fedora-36-updates.repo rename to fedora-37-updates.repo index 563c4d5..c5b65df 100644 --- a/fedora-36-updates.repo +++ b/fedora-37-updates.repo @@ -1,6 +1,6 @@ -[fedora-36-updates] -name=Fedora 36 $basearch Updates -mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f36&arch=$basearch +[fedora-37-updates] +name=Fedora 37 $basearch Updates +mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f37&arch=$basearch enabled=1 gpgcheck=1 metadata_expire=1d diff --git a/fedora-36.repo b/fedora-37.repo similarity index 64% rename from fedora-36.repo rename to fedora-37.repo index 67918a5..7e41cb3 100644 --- a/fedora-36.repo +++ b/fedora-37.repo @@ -1,6 +1,6 @@ -[fedora-36] -name=Fedora 36 $basearch -mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-36&arch=$basearch +[fedora-37] +name=Fedora 37 $basearch +mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-37&arch=$basearch enabled=1 gpgcheck=1 metadata_expire=1d diff --git a/greetd-36.repo b/greetd-37.repo similarity index 90% rename from greetd-36.repo rename to greetd-37.repo index 2152ba6..9decc39 100644 --- a/greetd-36.repo +++ b/greetd-37.repo @@ -1,6 +1,6 @@ [copr:copr.fedorainfracloud.org:alebastr:sway-extras] name=Copr repo for sway-extras owned by alebastr -baseurl=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/fedora-36-$basearch/ +baseurl=https://download.copr.fedorainfracloud.org/results/alebastr/sway-extras/fedora-37-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1 diff --git a/post.sh b/post.sh index 39db86f..461b514 100755 --- a/post.sh +++ b/post.sh @@ -26,3 +26,6 @@ for x in /usr/sbin/glibc_post_upgrade.*; do ln -srf /usr/bin/true ${x} fi done + +# enable services +systemctl enable greetd diff --git a/rpmfusion-free-36.repo b/rpmfusion-free-37.repo similarity index 74% rename from rpmfusion-free-36.repo rename to rpmfusion-free-37.repo index 73c8297..f21c8d7 100644 --- a/rpmfusion-free-36.repo +++ b/rpmfusion-free-37.repo @@ -1,33 +1,32 @@ -[rpmfusion-free-36] -name=RPM Fusion for Fedora 36 - Free +[rpmfusion-free-37] +name=RPM Fusion for Fedora 37 - Free #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/$basearch/os/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-37&arch=$basearch enabled=0 metadata_expire=14d type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 -[rpmfusion-free-debuginfo-36] -name=RPM Fusion for Fedora 36 - Free - Debug +[rpmfusion-free-debuginfo-37] +name=RPM Fusion for Fedora 37 - Free - Debug #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/$basearch/debug/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-debug-37&arch=$basearch enabled=0 metadata_expire=7d type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 -[rpmfusion-free-source-36] -name=RPM Fusion for Fedora 36 - Free - Source +[rpmfusion-free-source-37] +name=RPM Fusion for Fedora 37 - Free - Source #baseurl=http://download1.rpmfusion.org/free/fedora/releases/36/Everything/source/SRPMS/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-source-37&arch=$basearch enabled=0 metadata_expire=7d type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 - +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 diff --git a/rpmfusion-free-updates-36.repo b/rpmfusion-free-updates-37.repo similarity index 66% rename from rpmfusion-free-updates-36.repo rename to rpmfusion-free-updates-37.repo index 4bb0d7c..6e1831b 100644 --- a/rpmfusion-free-updates-36.repo +++ b/rpmfusion-free-updates-37.repo @@ -1,30 +1,29 @@ -[rpmfusion-free-updates-36] -name=RPM Fusion for Fedora 36 - Free - Updates +[rpmfusion-free-updates-37] +name=RPM Fusion for Fedora 37 - Free - Updates #baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/$basearch/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-37&arch=$basearch enabled=0 type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 -[rpmfusion-free-updates-debuginfo-36] -name=RPM Fusion for Fedora 36 - Free - Updates Debug +[rpmfusion-free-updates-debuginfo-37] +name=RPM Fusion for Fedora 37 - Free - Updates Debug #baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/$basearch/debug/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-debug-37&arch=$basearch enabled=0 type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 -[rpmfusion-free-updates-source-36] -name=RPM Fusion for Fedora 36 - Free - Updates Source +[rpmfusion-free-updates-source-37] +name=RPM Fusion for Fedora 37 - Free - Updates Source #baseurl=http://download1.rpmfusion.org/free/fedora/updates/36/SRPMS/ -metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-36&arch=$basearch +metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-source-37&arch=$basearch enabled=0 type=rpm-md gpgcheck=1 repo_gpgcheck=0 -gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-36 - +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-37 diff --git a/x13-gen1-sway-desktop.yaml b/x13-gen1-sway-desktop.yaml index f8a53d0..c96cf14 100644 --- a/x13-gen1-sway-desktop.yaml +++ b/x13-gen1-sway-desktop.yaml @@ -1,17 +1,17 @@ -ref: x13-gen1-sway-desktop-36 +ref: x13-gen1-sway-desktop-37 rojig: - name: x13-gen1-sway-desktop-36 - summary: "Thinkpad X13 Gen 1 Sway Desktop - Fedora 36" + name: x13-gen1-sway-desktop-37 + summary: "Thinkpad X13 Gen 1 Sway Desktop - Fedora 37" license: MIT -automatic_version_prefix: "36" -mutate-os-release: "36" +automatic_version_prefix: "37" +mutate-os-release: "37" repos: - - fedora-36 - - fedora-36-updates - - rpmfusion-free-36 - - rpmfusion-free-updates-36 + - fedora-37 + - fedora-37-updates + - rpmfusion-free-37 + - rpmfusion-free-updates-37 - copr:copr.fedorainfracloud.org:dawid:better_fonts - copr:copr.fedorainfracloud.org:alebastr:sway-extras @@ -121,7 +121,6 @@ packages: - fontawesome-fonts-web - fontconfig - fontconfig-enhanced-defaults - - fontconfig-font-replacements - google-noto-emoji-color-fonts - google-noto-sans-gurmukhi-fonts - google-noto-sans-sinhala-vf-fonts @@ -144,7 +143,7 @@ packages: - sil-mingzat-fonts - sil-nuosu-fonts - sil-padauk-fonts - - smc-meera-fonts + - rit-meera-new-fonts - terminus-fonts - thai-scalable-waree-fonts - ucs-miscfixed-opentype-fonts From 394063b9d245f554704cb10bb5c5b584a7b120f7 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Tue, 27 Dec 2022 23:16:55 +0100 Subject: [PATCH 2/6] add sway config to tree (etc) --- config/sway/bin/keyboard-layout-per-window.py | 42 ++++ config/sway/config | 1 + config/sway/config.d/10-variables.conf | 15 ++ config/sway/config.d/20-output.conf | 16 ++ config/sway/config.d/30-input.conf | 27 +++ config/sway/config.d/50-style.conf | 47 +++++ config/sway/config.d/60-app-windows.conf | 34 ++++ config/sway/config.d/90-bindings.conf | 150 ++++++++++++++ config/sway/config.d/91-swaysome.conf | 52 +++++ config/sway/config.d/99-startup.conf | 3 + config/waybar/config | 177 ++++++++-------- config/waybar/keyboard-layout.py | 36 ++++ config/waybar/style.css | 192 +++++------------- x13-gen1-sway-desktop.yaml | 14 +- 14 files changed, 573 insertions(+), 233 deletions(-) create mode 100755 config/sway/bin/keyboard-layout-per-window.py create mode 100644 config/sway/config create mode 100644 config/sway/config.d/10-variables.conf create mode 100644 config/sway/config.d/20-output.conf create mode 100644 config/sway/config.d/30-input.conf create mode 100644 config/sway/config.d/50-style.conf create mode 100644 config/sway/config.d/60-app-windows.conf create mode 100644 config/sway/config.d/90-bindings.conf create mode 100644 config/sway/config.d/91-swaysome.conf create mode 100644 config/sway/config.d/99-startup.conf create mode 100755 config/waybar/keyboard-layout.py diff --git a/config/sway/bin/keyboard-layout-per-window.py b/config/sway/bin/keyboard-layout-per-window.py new file mode 100755 index 0000000..15e5dfb --- /dev/null +++ b/config/sway/bin/keyboard-layout-per-window.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +# This script keeps track of active keyboard layouts per window. +# +# This script requires i3ipc-python package (install it from a system package +# manager or pip). +# +# https://github.com/swaywm/sway/pull/4504/files +import i3ipc + +sway = i3ipc.Connection() +prev_focused = sway.get_tree().find_focused().id +windows = {} + +def on_window_focus(ipc, event): + global windows, prev_focused + + # Save current layouts + layouts = {input.identifier: input.xkb_active_layout_index for input in sway.get_inputs()} + windows[prev_focused] = layouts + + # Restore layout of the newly focused window + if event.container.id in windows: + for (input_id, layout_index) in windows[event.container.id].items(): + if layout_index != layouts[input_id]: + sway.command(f'input "{input_id}" xkb_switch_layout {layout_index}') + + prev_focused = event.container.id + +def on_window_close(ipc, event): + global windows + if event.container.id in windows: + del(windows[event.container.id]) + +def on_window(ipc, event): + if event.change == "focus": + on_window_focus(ipc, event) + elif event.change == "close": + on_window_close(ipc, event) + +sway.on("window", on_window) +sway.main() diff --git a/config/sway/config b/config/sway/config new file mode 100644 index 0000000..a1fafba --- /dev/null +++ b/config/sway/config @@ -0,0 +1 @@ +include /etc/sway/config.d/* diff --git a/config/sway/config.d/10-variables.conf b/config/sway/config.d/10-variables.conf new file mode 100644 index 0000000..afc9aff --- /dev/null +++ b/config/sway/config.d/10-variables.conf @@ -0,0 +1,15 @@ +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left h +set $down j +set $up k +set $right l +# Your preferred terminal emulator +set $term alacritty +# Your preferred application launcher +# Note: it's recommended that you pass the final command to sway +# set $menu wofi -c $HOME/.config/wofi/config -s $HOME/.config/wofi/style.css | xargs swaymsg exec -- +set $menu ~/src/wldash/target/release/wldash diff --git a/config/sway/config.d/20-output.conf b/config/sway/config.d/20-output.conf new file mode 100644 index 0000000..3a723ab --- /dev/null +++ b/config/sway/config.d/20-output.conf @@ -0,0 +1,16 @@ +### Output configuration +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: swaymsg -t get_outputs +# +output DP-1 bg ~/.config/sway/bkg2.jpg fill +output DP-1 scale 1.2 res 3840x2160 pos 0 0 +output DP-2 bg ~/.config/sway/bkg2.jpg fill +output DP-2 scale 1.2 res 3840x2160 pos 0 0 +output HDMI-A-1 bg ~/.config/sway/bkg2.jpg fill +output HDMI-A-1 scale 1.2 res 3840x2160 pos 0 0 +output eDP-1 bg ~/.config/sway/bkg.jpg fill +output eDP-1 scale 1.0 res 1920x1080 pos 640 1800 diff --git a/config/sway/config.d/30-input.conf b/config/sway/config.d/30-input.conf new file mode 100644 index 0000000..9dfbe9d --- /dev/null +++ b/config/sway/config.d/30-input.conf @@ -0,0 +1,27 @@ +### Input configuration +# +# Example configuration: +# +# input "2:14:SynPS/2_Synaptics_TouchPad" { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# You can get the names of your inputs by running: swaymsg -t get_inputs +# Read `man 5 sway-input` for more information about this section. + +input * xkb_layout "us,mk" +input * xkb_variant "typewriter" +input * xkb_options "grp:caps_toggle" + +# Pulse Audio controls +bindsym XF86AudioRaiseVolume exec pactl set-sink-volume 0 +5% #increase sound volume +bindsym XF86AudioLowerVolume exec pactl set-sink-volume 0 -5% #decrease sound volume +bindsym XF86AudioMute exec pactl set-sink-mute 0 toggle # mute sound +bindsym XF86AudioMicMute exec pactl set-source-mute alsa_input.pci-0000_00_1b.0.analog-stereo toggle # mute mic + +# Sreen brightness controls +bindsym XF86MonBrightnessUp exec brightnessctl -q s +10% +bindsym XF86MonBrightnessDown exec brightnessctl -q s 10%- diff --git a/config/sway/config.d/50-style.conf b/config/sway/config.d/50-style.conf new file mode 100644 index 0000000..49f4ab4 --- /dev/null +++ b/config/sway/config.d/50-style.conf @@ -0,0 +1,47 @@ +# +# Status Bar: +# +# Read `man 5 sway-bar` for more information about this section. +bar { + position top + + # When the status_command prints a new line to stdout, swaybar updates. + # The default just shows the current date and time. + swaybar_command waybar +} + +# Remove title from windows +default_border pixel 1 +default_floating_border normal +bindsym $mod+t border toggle + +hide_edge_borders smart + +# Background +set $bg #232425 +# Background active +set $ba #191919 +# Background inactive +set $bi #3f3f3f +# Foreground active +set $fa #eff1f5 +# Foreground inactive +set $fi #646464 +# Border active +set $bra #9a9a9a +# Border inactive +set $bri #000000 + +# class border backgr. text indicator child_border +client.focused $bra $bra $bg $bg $bra +client.focused_inactive $bra $ba $fa $bg $bri +client.unfocused $bri $bi $fi $bg $bri +#client.urgent $br $br $fg $bg $br #currently not implemented +#client.placeholder $br $br $fg $bg $br #currently not implemented +client.background $bg + +gaps inner 0 +gaps outer 0 +#smart_gaps on + +for_window [app_id=".*"] border normal diff --git a/config/sway/config.d/60-app-windows.conf b/config/sway/config.d/60-app-windows.conf new file mode 100644 index 0000000..e5221e2 --- /dev/null +++ b/config/sway/config.d/60-app-windows.conf @@ -0,0 +1,34 @@ +for_window [class="Firefox"] mark Browser +for_window [class="Firefox" window_role="Browser"] { + border normal 0 +} +# firefox floating menus +for_window [window_role="pop-up"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="pop-up"] floating enable +for_window [window_role="bubble"] floating enable +for_window [window_role="task_dialog"] floating enable +for_window [window_role="Preferences"] floating enable +for_window [window_type="dialog"] floating enable +for_window [window_type="menu"] floating enable +for_window [title="About Mozilla Firefox"] floating enabled +for_window [title="Password Required - Mozilla Firefox"] floating enabled +for_window [app_id="pinentry-qt"] { + move position center + floating enable +} +for_window [app_id="pavucontrol"] { + move position center + floating enable +} +for_window [app_id="wdisplays"] { + floating enable +} +for_window [app_id="com.nextcloud.desktopclient.nextcloud"] { + border normal 1 + floating enable +} + +for_window [app_id="avizo-service"] border pixel 0 +for_window [app_id="avizo-service"] sticky toggle +no_focus [app_id="avizo-service"] diff --git a/config/sway/config.d/90-bindings.conf b/config/sway/config.d/90-bindings.conf new file mode 100644 index 0000000..51af250 --- /dev/null +++ b/config/sway/config.d/90-bindings.conf @@ -0,0 +1,150 @@ +### Key bindings +# +# Basics: +# + # start a terminal + bindsym $mod+Return exec $term + + # kill focused window + bindsym $mod+Shift+q kill + + # start your launcher + bindsym $mod+d exec $menu + + # Drag floating windows by holding down $mod and left mouse button. + # Resize them with right mouse button + $mod. + # Despite the name, also works for non-floating windows. + # Change normal to inverse to use left mouse button for resizing and right + # mouse button for dragging. + floating_modifier $mod normal + + # reload the configuration file + bindsym $mod+Shift+c reload + + # exit sway (logs you out of your Wayland session) + bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' +# +# Moving around: +# + # Move your focus around + bindsym $mod+$left focus left + bindsym $mod+$down focus down + bindsym $mod+$up focus up + bindsym $mod+$right focus right + # or use $mod+[up|down|left|right] + bindsym $mod+Left focus left + bindsym $mod+Down focus down + bindsym $mod+Up focus up + bindsym $mod+Right focus right + + # _move_ the focused window with the same, but add Shift + bindsym $mod+Shift+$left move left + bindsym $mod+Shift+$down move down + bindsym $mod+Shift+$up move up + bindsym $mod+Shift+$right move right + # ditto, with arrow keys + bindsym $mod+Shift+Left move left + bindsym $mod+Shift+Down move down + bindsym $mod+Shift+Up move up + bindsym $mod+Shift+Right move right +# +# Workspaces: +# + # switch to workspace + bindsym $mod+1 workspace 1 + bindsym $mod+2 workspace 2 + bindsym $mod+3 workspace 3 + bindsym $mod+4 workspace 4 + bindsym $mod+5 workspace 5 + bindsym $mod+6 workspace 6 + bindsym $mod+7 workspace 7 + bindsym $mod+8 workspace 8 + bindsym $mod+9 workspace 9 + bindsym $mod+0 workspace 10 + # move focused container to workspace + bindsym $mod+Shift+1 move container to workspace 1 + bindsym $mod+Shift+2 move container to workspace 2 + bindsym $mod+Shift+3 move container to workspace 3 + bindsym $mod+Shift+4 move container to workspace 4 + bindsym $mod+Shift+5 move container to workspace 5 + bindsym $mod+Shift+6 move container to workspace 6 + bindsym $mod+Shift+7 move container to workspace 7 + bindsym $mod+Shift+8 move container to workspace 8 + bindsym $mod+Shift+9 move container to workspace 9 + bindsym $mod+Shift+0 move container to workspace 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. +# +# Layout stuff: +# + # You can "split" the current object of your focus with + # $mod+b or $mod+v, for horizontal and vertical splits + # respectively. + bindsym $mod+b splith + bindsym $mod+v splitv + + # Switch the current container between different layout styles + bindsym $mod+s layout stacking + bindsym $mod+w layout tabbed + bindsym $mod+e layout toggle split + + # Make the current focus fullscreen + bindsym $mod+f fullscreen + + # Toggle the current focus between tiling and floating mode + bindsym $mod+Shift+space floating toggle + + # Swap focus between the tiling area and the floating area + bindsym $mod+space focus mode_toggle + + # move focus to the parent container + bindsym $mod+a focus parent +# +# Scratchpad: +# + # Sway has a "scratchpad", which is a bag of holding for windows. + # You can send windows there and get them back later. + + # Move the currently focused window to the scratchpad + bindsym $mod+Shift+minus move scratchpad + + # Show the next scratchpad window or hide the focused scratchpad window. + # If there are multiple scratchpad windows, this command cycles through them. + bindsym $mod+minus scratchpad show + + + +# Lock screen +bindsym $mod+z exec swaylock -c 000000 + +# Take full screen screenshot with PrtScr +bindsym Print exec grim -t png /tmp/screen.png +# Take area screenshot with Shift+PrtScr +bindsym Shift+Print exec grim -g "$(slurp)" /tmp/screen.png + +# +# Resizing containers: +# + bindsym $mod+r mode "resize" + + mode "resize" { + # left will shrink the containers width + # right will grow the containers width + # up will shrink the containers height + # down will grow the containers height + bindsym $left resize shrink width 10px + bindsym $down resize grow height 10px + bindsym $up resize shrink height 10px + bindsym $right resize grow width 10px + + # ditto, with arrow keys + bindsym Left resize shrink width 10px + bindsym Down resize grow height 10px + bindsym Up resize shrink height 10px + bindsym Right resize grow width 10px + + # return to default mode + bindsym Return mode "default" + bindsym Escape mode "default" + } + diff --git a/config/sway/config.d/91-swaysome.conf b/config/sway/config.d/91-swaysome.conf new file mode 100644 index 0000000..7f5308f --- /dev/null +++ b/config/sway/config.d/91-swaysome.conf @@ -0,0 +1,52 @@ +# Change focus between workspaces +unbindsym $mod+1 +unbindsym $mod+2 +unbindsym $mod+3 +unbindsym $mod+4 +unbindsym $mod+5 +unbindsym $mod+6 +unbindsym $mod+7 +unbindsym $mod+8 +unbindsym $mod+9 +unbindsym $mod+0 +bindsym $mod+1 exec "swaysome focus 1" +bindsym $mod+2 exec "swaysome focus 2" +bindsym $mod+3 exec "swaysome focus 3" +bindsym $mod+4 exec "swaysome focus 4" +bindsym $mod+5 exec "swaysome focus 5" +bindsym $mod+6 exec "swaysome focus 6" +bindsym $mod+7 exec "swaysome focus 7" +bindsym $mod+8 exec "swaysome focus 8" +bindsym $mod+9 exec "swaysome focus 9" +bindsym $mod+0 exec "swaysome focus 0" + +# Move containers between workspaces +unbindsym $mod+Shift+1 +unbindsym $mod+Shift+2 +unbindsym $mod+Shift+3 +unbindsym $mod+Shift+4 +unbindsym $mod+Shift+5 +unbindsym $mod+Shift+6 +unbindsym $mod+Shift+7 +unbindsym $mod+Shift+8 +unbindsym $mod+Shift+9 +unbindsym $mod+Shift+0 +bindsym $mod+Shift+1 exec "swaysome move 1" +bindsym $mod+Shift+2 exec "swaysome move 2" +bindsym $mod+Shift+3 exec "swaysome move 3" +bindsym $mod+Shift+4 exec "swaysome move 4" +bindsym $mod+Shift+5 exec "swaysome move 5" +bindsym $mod+Shift+6 exec "swaysome move 6" +bindsym $mod+Shift+7 exec "swaysome move 7" +bindsym $mod+Shift+8 exec "swaysome move 8" +bindsym $mod+Shift+9 exec "swaysome move 9" +bindsym $mod+Shift+0 exec "swaysome move 0" + +# Move focused container to next output +bindsym $mod+o exec "swaysome next_output" + +# Move focused container to previous output +bindsym $mod+Shift+o exec "swaysome prev_output" + +# Init workspaces for every screen +exec "swaysome init 1" diff --git a/config/sway/config.d/99-startup.conf b/config/sway/config.d/99-startup.conf new file mode 100644 index 0000000..12814dd --- /dev/null +++ b/config/sway/config.d/99-startup.conf @@ -0,0 +1,3 @@ +exec "/usr/local/bin/keyboard-layout-per-window.py" +exec "systemctl --user start sway-session.target" +exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway diff --git a/config/waybar/config b/config/waybar/config index 8b81d45..2bc2738 100644 --- a/config/waybar/config +++ b/config/waybar/config @@ -1,95 +1,90 @@ { - "layer": "top", - "position": "bottom", - "height": 24, - "modules-left": ["sway/workspaces", "idle_inhibitor", "sway/mode"], - "modules-center": ["sway/window"], - "modules-right": [ "pulseaudio", "backlight", "network", "cpu", "memory", "battery#bat0", "battery#bat1", - "tray", "sway/language", "clock" ], - "sway/workspaces": { - "disable-scroll": true, - "all-outputs": true, - "format": "{index} {name}" + "layer": "top", // Waybar at top layer + "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, + "modules-left": ["sway/workspaces", "sway/mode", "sway/window"], + "modules-center": [], + "modules-right": ["temperature", "network", "battery", "pulseaudio", "backlight", "cpu", "memory", "custom/layout", "clock", "tray"], + // Module config + "sway/mode": { + "tooltip": true, + "format": "{}" + }, + "temperature": { + "thermal-zone": 1, + "hwmon-path": "/sys/class/hwmon/hwmon2/temp3_input", + "critical-threshold": 80, + "format-critical": "🌡 {temperatureC}°C", + "format": "ī‹‹ {temperatureC}°C" + }, + "custom/vpn": { + }, + "network": { + "tooltip": false, + "interface": "wlp3s0*", + "format-wifi": "ī‡Ģ {essid} ({signalStrength}%)", + "format-ethernet": "{ifname}: {ipaddr}/{cidr}", + "format-linked": "{ifname} (No IP)", + "format-alt": "{ifname}: {ipaddr}", + "format-disconnected": "No internet" + }, + "battery": { + "tooltip": false, + "states": { + "good": 95, + "warning": 30, + "critical": 15 }, - "sway/mode": { - "format": "{}" + "format": "{icon} {capacity}%", + "format-alt": "{time} {icon} {power}", + "format-charging": "ī‡Ļ {capacity}%", + "format-icons": ["đŸĒĢ", "", "🔋"], + "format-plugged": "ī‡Ļ {capacity}%" + }, + "backlight": { + "device": "amdgpu_bl0", + "format": "{icon} {percent}%", + "format-icons": ["ī„‘", ""] + }, + "pulseaudio": { + "tooltip": true, + "scroll-step": 1.0, + "format": "{icon} {volume}%", + "format-bluetooth": "ī‚ą {volume}%", + "format-muted": "🔇", + "format-source": "{volume}%", + "format-source-muted": "🔇", + "format-icons": { + "headphones": "🎧", + "handsfree": "🎧", + "headset": "🎧", + "phone": "ī‚•", + "portable": "ī‚•", + "car": "ī†š", + "default": ["🔊"] }, - "sway/language": { - "format": "{}", - "max-length": 50 - }, - "tray": { - // "icon-size": 21, - "spacing": 10 - }, - "clock": { - "tooltip-format": "{:%A\n%d %B %Y\n%H:%M}", - "format": "{:%a %d %b %H:%M}", - "format-alt": "{:%H:%M}" - }, - "cpu": { - "format": "{usage:2}% ī‹›" - }, - "memory": { - "format": "{}% īƒ‰" - }, - "battery#bat0": { - "bat": "BAT0", - "name": "BAT0", - "states": { - "warning": 20, - "critical": 10 - }, - "format": "{capacity}% {icon}", - "format-icons": ["", "ī‰ƒ", "", "", ""] - }, - "battery#bat1": { - "bat": "BAT1", - "name": "BAT1", - "states": { - "warning": 20, - "critical": 10 - }, - "format": "{capacity}% {icon}", - "format-icons": ["", "ī‰ƒ", "", "", ""] - }, - "network": { - "interval": 1, - "max-width": 50, - // "interface": "wlp2s0", // (Optional) To force the use of this interface - "format-wifi": "ī‡Ģ", - "format-ethernet": "{bandwidthUpBits} {bandwidthDownBits} ", - "format-disconnected": "⚠", - "tooltip-format-wifi": "ī‡Ģ {essid}: {frequency}Mhz ({signalStrength}%)\n{bandwidthUpBits}\n{bandwidthDownBits}", - "tooltip-format-ethernet": " {ifname}: {ipaddr}/{cidr}", - "tooltip-format-disconnected": "⚠ Disconnected" - }, - "pulseaudio": { - //"scroll-step": 1, - "format": "{volume}% {icon}", - "format-bluetooth": "{volume}% {icon}īŠ”", - "format-muted": "ī€Ļ", - "format-icons": { - "headphones": "ī€Ĩ", - "handsfree": "", - "headset": "", - "phone": "ī‚•", - "portable": "ī‚•", - "car": "ī†š", - "default": ["", ""] - }, - "on-click": "pavucontrol" - }, - "backlight": { - "device": "intel_backlight", - "format": "{percent}% {icon}", - "format-icons": ["", "ī„‘"] - }, - "idle_inhibitor": { - "format": "{icon}", - "format-icons": { - "activated": "īŽ", - "deactivated": "" - } - } + "on-click": "pavucontrol" + }, + "cpu": { + "interval": 5, + "tooltip": false, + "format": "ī„ˆ {usage}%" + }, + "memory": { + "format": "īƒ‰ {}%" + }, + "custom/layout": { + "exec": "/etc/xdg/waybar/keyboard-layout.py", + "return-type": "json", + "format": "| {}" + }, + "clock": { + "tooltip": false, + "format": "| {:%d.%m.%Y %H:%M}" + }, + "tray": { + "tooltip": false, + "icon-size": 18, + "spacing": 5 + } } diff --git a/config/waybar/keyboard-layout.py b/config/waybar/keyboard-layout.py new file mode 100755 index 0000000..92f132a --- /dev/null +++ b/config/waybar/keyboard-layout.py @@ -0,0 +1,36 @@ +#!/usr/bin/python +import i3ipc +import json + + +long_to_short = { + 'English (US)': 'en', + 'Macedonian': 'mk', +} + +def print_status(keyboard): + layout = keyboard.xkb_active_layout_name + short_code = long_to_short.get(layout, layout) + output = {"text": short_code, "tooltip": layout, "class": short_code} + print(json.dumps(output), flush=True) + +def find_keyboard(sway): + # *the* keyboard is the one with more than one layout + for input_dev in sway.get_inputs(): + if input_dev.type == 'keyboard' and len(input_dev.xkb_layout_names) > 1: + return input_dev + +def on_input(sway, event): + if event.change == "xkb_layout" and \ + event.input.identifier == sway.keyboard.identifier: + print_status(event.input) + +def main(): + sway = i3ipc.Connection() + sway.keyboard = find_keyboard(sway) + print_status(sway.keyboard) + + sway.on(i3ipc.Event.INPUT, on_input) + sway.main() + +main() diff --git a/config/waybar/style.css b/config/waybar/style.css index f9db8d2..1bd9166 100644 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -1,14 +1,13 @@ * { border: none; border-radius: 0; - font-family: Roboto, Helvetica, Arial, sans-serif; - font-size: 13px; + font-family: Consolas, "Material Design Icons"; + font-size: 1em; min-height: 0; } window#waybar { - background-color: rgba(43, 48, 59, 0.5); - border-bottom: 3px solid rgba(100, 114, 125, 0.5); + background-color: rgba(11, 11, 11, 0.8); color: #ffffff; transition-property: background-color; transition-duration: .5s; @@ -18,6 +17,20 @@ window#waybar.hidden { opacity: 0.2; } +#window { + padding: 0 15px; +} + +window { + color: rgba(217, 216, 216, 1); + background: rgba(35, 31, 32, 0.00); +} + +window#waybar.solo { + color: rgba(217, 216, 216, 1); + background: rgba(35, 31, 32, 0.85); +} + /* window#waybar.empty { background-color: transparent; @@ -27,187 +40,84 @@ window#waybar.solo { } */ -window#waybar.termite { - background-color: #3F3F3F; -} - -window#waybar.chromium { - background-color: #000000; - border: none; -} - +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ #workspaces button { padding: 0 5px; background-color: transparent; - color: #ffffff; - border-bottom: 3px solid transparent; -} - -/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ -#workspaces button:hover { - background: rgba(0, 0, 0, 0.2); - box-shadow: inherit; - border-bottom: 3px solid #ffffff; + border-bottom: 2px solid rgba(180, 14, 25, 0.5); + color: #999999; } #workspaces button.focused { - background-color: #64727D; - border-bottom: 3px solid #ffffff; + color: #ffffff; + background-color: #333333; + border-bottom: 2px solid #ff9600; } #workspaces button.urgent { background-color: #eb4d4b; } -#mode { - background-color: #64727D; - border-bottom: 3px solid #ffffff; -} - +#clock, +#custom-vpn, +#battery, #cpu, #memory, -#temperature, #backlight, #network, #pulseaudio, -#custom-media, #tray, +#temperature, #mode, #idle_inhibitor { - padding: 0 10px; + padding: 0 5px; margin: 0 4px; + background-color: transparent; + border-bottom: 2px solid #bdbd45; color: #ffffff; } -#clock { - padding: 0 10px; - color: #ffffff; - background-color: #64727D; +#temperature { + border-bottom: 2px solid #42a832; +} +#mode { + background-color: #00ff96; + color: #000000; } -#battery .BAT0 { - margin-left: 9px; -} -#battery .BAT1 { - margin-right: 9px; +#pulseaudio, +#clock, +#tray, +#cpu { + border-bottom: transparent; } + #battery { - padding: 0 10px; - background-color: #ffffff; - color: #000000; + border-bottom: 2px solid #bff874; } #battery.charging { - color: #ffffff; - background-color: #26A65B; -} - -@keyframes blink { - to { - background-color: #ffffff; - color: #000000; - } + border-bottom: 2px solid #00ff96; } +#custom-vpn.down, +#temperature.critical, #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; - animation-name: blink; - animation-duration: 0.5s; - animation-timing-function: linear; - animation-iteration-count: infinite; - animation-direction: alternate; + border-bottom: 2px solid #dd2241; } label:focus { background-color: #000000; } -#cpu { - background-color: #2ecc71; - color: #000000; -} - -#memory { - background-color: #9b59b6; -} - -#backlight { - background-color: #90b1b1; -} - -#network { - background-color: #2980b9; -} - #network.disconnected { - background-color: #f53c3c; + border-bottom: 2px solid #dd2241; } -#pulseaudio { - background-color: #f1c40f; - color: #000000; +#pulseaudio.bluetooth { + border-bottom: 2px solid #1a8cff; } #pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; + border-bottom: 2px solid #fff569; } - -#custom-media { - background-color: #66cc99; - color: #2a5c45; - min-width: 100px; -} - -#custom-media.custom-spotify { - background-color: #66cc99; -} - -#custom-media.custom-vlc { - background-color: #ffa000; -} - -#temperature { - background-color: #f0932b; -} - -#temperature.critical { - background-color: #eb4d4b; -} - -#tray { - background-color: #2980b9; -} - -#idle_inhibitor { - background-color: #2d3436; -} - -#idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; -} - -#mpd { - background-color: #66cc99; - color: #2a5c45; -} - -#mpd.disconnected { - background-color: #f53c3c; -} - -#mpd.stopped { - background-color: #90b1b1; -} - -#mpd.paused { - background-color: #51a37a; -} -#custom-layout { - background-color: #ecf0f1; - color: #2d3436; - min-width: 2em; -} - diff --git a/x13-gen1-sway-desktop.yaml b/x13-gen1-sway-desktop.yaml index c96cf14..4c37db3 100644 --- a/x13-gen1-sway-desktop.yaml +++ b/x13-gen1-sway-desktop.yaml @@ -356,4 +356,16 @@ add-files: - ["config/modprobe.d/i2c_i801-blacklist.conf", "/etc/modprobe.d/i2c_i801-blacklist.conf"] - ["config/environment.d/wayland.conf", "/etc/environment.d/wayland.conf"] - ["config/greetd/config.toml", "/etc/greetd/config.toml"] - - ["config/greetd/environments", "/etc/greetd/environments"] + - ["config/sway/config", "/etc/sway/config"] + - ["config/sway/config.d/10-variables.conf", "/etc/sway/config.d/10-variables.conf"] + - ["config/sway/config.d/20-output.conf", "/etc/sway/config.d/20-output.conf"] + - ["config/sway/config.d/30-input.conf", "/etc/sway/config.d/30-input.conf"] + - ["config/sway/config.d/50-style.conf", "/etc/sway/config.d/50-style.conf"] + - ["config/sway/config.d/60-app-windows.conf", "/etc/sway/config.d/60-app-windows.conf"] + - ["config/sway/config.d/90-bindings.conf", "/etc/sway/config.d/90-bindings.conf"] + - ["config/sway/config.d/91-swaysome.conf", "/etc/sway/config.d/91-swaysome.conf"] + - ["config/sway/config.d/99-startup.conf", "/etc/sway/config.d/99-startup.conf"] + - ["config/sway/bin/keyboard-layout-per-window.py", "/usr/bin/keyboard-layout-per-window.py"] + - ["config/waybar/config", "/etc/xdg/waybar/config"] + - ["config/waybar/style.css", "/etc/xdg/waybar/style.css"] + - ["config/waybar/keyboard-layout.py", "/etc/xdg/waybar/keyboard-layout.py"] From 10f017a9ff32494ce822ab361054ce70ce4a4939 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Wed, 28 Dec 2022 14:48:37 +0100 Subject: [PATCH 3/6] remove RH cert from pitti's setup --- 2015-RH-IT-Root-CA.pem | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 2015-RH-IT-Root-CA.pem diff --git a/2015-RH-IT-Root-CA.pem b/2015-RH-IT-Root-CA.pem deleted file mode 100644 index f306f00..0000000 --- a/2015-RH-IT-Root-CA.pem +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIENDCCAxygAwIBAgIJANunI0D662cnMA0GCSqGSIb3DQEBCwUAMIGlMQswCQYD -VQQGEwJVUzEXMBUGA1UECAwOTm9ydGggQ2Fyb2xpbmExEDAOBgNVBAcMB1JhbGVp -Z2gxFjAUBgNVBAoMDVJlZCBIYXQsIEluYy4xEzARBgNVBAsMClJlZCBIYXQgSVQx -GzAZBgNVBAMMElJlZCBIYXQgSVQgUm9vdCBDQTEhMB8GCSqGSIb3DQEJARYSaW5m -b3NlY0ByZWRoYXQuY29tMCAXDTE1MDcwNjE3MzgxMVoYDzIwNTUwNjI2MTczODEx -WjCBpTELMAkGA1UEBhMCVVMxFzAVBgNVBAgMDk5vcnRoIENhcm9saW5hMRAwDgYD -VQQHDAdSYWxlaWdoMRYwFAYDVQQKDA1SZWQgSGF0LCBJbmMuMRMwEQYDVQQLDApS -ZWQgSGF0IElUMRswGQYDVQQDDBJSZWQgSGF0IElUIFJvb3QgQ0ExITAfBgkqhkiG -9w0BCQEWEmluZm9zZWNAcmVkaGF0LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBALQt9OJQh6GC5LT1g80qNh0u50BQ4sZ/yZ8aETxt+5lnPVX6MHKz -bfwI6nO1aMG6j9bSw+6UUyPBHP796+FT/pTS+K0wsDV7c9XvHoxJBJJU38cdLkI2 -c/i7lDqTfTcfLL2nyUBd2fQDk1B0fxrskhGIIZ3ifP1Ps4ltTkv8hRSob3VtNqSo -GxkKfvD2PKjTPxDPWYyruy9irLZioMffi3i/gCut0ZWtAyO3MVH5qWF/enKwgPES -X9po+TdCvRB/RUObBaM761EcrLSM1GqHNueSfqnho3AjLQ6dBnPWlo638Zm1VebK -BELyhkLWMSFkKwDmne0jQ02Y4g075vCKvCsCAwEAAaNjMGEwHQYDVR0OBBYEFH7R -4yC+UehIIPeuL8Zqw3PzbgcZMB8GA1UdIwQYMBaAFH7R4yC+UehIIPeuL8Zqw3Pz -bgcZMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB -CwUAA4IBAQBDNvD2Vm9sA5A9AlOJR8+en5Xz9hXcxJB5phxcZQ8jFoG04Vshvd0e -LEnUrMcfFgIZ4njMKTQCM4ZFUPAieyLx4f52HuDopp3e5JyIMfW+KFcNIpKwCsak -oSoKtIUOsUJK7qBVZxcrIyeQV2qcYOeZhtS5wBqIwOAhFwlCET7Ze58QHmS48slj -S9K0JAcps2xdnGu0fkzhSQxY8GPQNFTlr6rYld5+ID/hHeS76gq0YG3q6RLWRkHf -4eTkRjivAlExrFzKcljC4axKQlnOvVAzz+Gm32U0xPBF4ByePVxCJUHw1TsyTmel -RxNEp7yHoXcwn+fXna+t5JWh1gxUZty3 ------END CERTIFICATE----- From 1ca878a6ecdd7115ab2d2a2c65649c8684be3310 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Wed, 28 Dec 2022 14:48:54 +0100 Subject: [PATCH 4/6] remove empty line at EOL --- compose.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/compose.sh b/compose.sh index 9b93213..ca99030 100755 --- a/compose.sh +++ b/compose.sh @@ -11,4 +11,3 @@ fi rpm-ostree compose tree --unified-core --cachedir=$CACHE --repo=$REPO x13-gen1-sway-desktop.yaml ostree summary --repo=$REPO --update - From 23cd1ce2ee25600e5f3b946e580a36363f676f55 Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Wed, 28 Dec 2022 15:56:56 +0100 Subject: [PATCH 5/6] add wldash + config --- config/sway/config.d/10-variables.conf | 2 +- config/wldash.yaml | 82 ++++++++++++++++++++++++++ x13-gen1-sway-desktop.yaml | 3 +- 3 files changed, 85 insertions(+), 2 deletions(-) create mode 100644 config/wldash.yaml diff --git a/config/sway/config.d/10-variables.conf b/config/sway/config.d/10-variables.conf index afc9aff..6397e62 100644 --- a/config/sway/config.d/10-variables.conf +++ b/config/sway/config.d/10-variables.conf @@ -12,4 +12,4 @@ set $term alacritty # Your preferred application launcher # Note: it's recommended that you pass the final command to sway # set $menu wofi -c $HOME/.config/wofi/config -s $HOME/.config/wofi/style.css | xargs swaymsg exec -- -set $menu ~/src/wldash/target/release/wldash +set $menu wldash diff --git a/config/wldash.yaml b/config/wldash.yaml new file mode 100644 index 0000000..4667602 --- /dev/null +++ b/config/wldash.yaml @@ -0,0 +1,82 @@ +--- +outputMode: active +scale: 0.6 +background: + red: 0.0 + green: 0.0 + blue: 0.0 + opacity: 0.8999999761581421 +widget: + margin: + margins: + - 20 + - 20 + - 20 + - 20 + widget: + verticalLayout: + - horizontalLayout: + - margin: + margins: + - 0 + - 88 + - 0 + - 32 + widget: + verticalLayout: + - date: + font: ~ + font_size: 64.0 + - clock: + font: ~ + font_size: 256.0 + - verticalLayout: + - margin: + margins: + - 0 + - 0 + - 0 + - 8 + widget: + battery: + font: ~ + font_size: 24.0 + length: 0 + - margin: + margins: + - 0 + - 0 + - 0 + - 8 + widget: + backlight: + device: intel_backlight + font: ~ + font_size: 24.0 + length: 0 + - margin: + margins: + - 0 + - 0 + - 0 + - 8 + widget: + pulseAudio: + font: ~ + font_size: 24.0 + length: 0 + - calendar: + font_primary: ~ + font_secondary: ~ + font_size: 16.0 + sections: 3 + - launcher: + font: ~ + font_size: 32.0 + length: 0 + app_opener: "" + term_opener: "" + url_opener: "" +fonts: + sans: sans + mono: mono diff --git a/x13-gen1-sway-desktop.yaml b/x13-gen1-sway-desktop.yaml index 4c37db3..7fa366c 100644 --- a/x13-gen1-sway-desktop.yaml +++ b/x13-gen1-sway-desktop.yaml @@ -190,7 +190,7 @@ packages: - wayland-devel - wdisplays - wl-clipboard - - wofi + - wldash - xdg-desktop-portal-wlr # virtualization - libguestfs-tools @@ -369,3 +369,4 @@ add-files: - ["config/waybar/config", "/etc/xdg/waybar/config"] - ["config/waybar/style.css", "/etc/xdg/waybar/style.css"] - ["config/waybar/keyboard-layout.py", "/etc/xdg/waybar/keyboard-layout.py"] + - ["config/wldash.yaml", "/usr/share/wldash/config.yaml"] From 2a8d2ada457011bdbf3edd4a93165f7fb6c4aeea Mon Sep 17 00:00:00 2001 From: Vladan Popovic Date: Wed, 28 Dec 2022 22:44:49 +0100 Subject: [PATCH 6/6] remove unneeded sway services --- config/modprobe.d/i2c_i801-blacklist.conf | 1 - config/sway-service.desktop | 6 ------ config/systemd/sway-session.target | 6 ------ config/systemd/wayland-session.target | 16 ---------------- x13-gen1-sway-desktop.yaml | 4 ---- 5 files changed, 33 deletions(-) delete mode 100644 config/modprobe.d/i2c_i801-blacklist.conf delete mode 100644 config/sway-service.desktop delete mode 100644 config/systemd/sway-session.target delete mode 100644 config/systemd/wayland-session.target diff --git a/config/modprobe.d/i2c_i801-blacklist.conf b/config/modprobe.d/i2c_i801-blacklist.conf deleted file mode 100644 index 70f1f9b..0000000 --- a/config/modprobe.d/i2c_i801-blacklist.conf +++ /dev/null @@ -1 +0,0 @@ -blacklist i2c_i801 diff --git a/config/sway-service.desktop b/config/sway-service.desktop deleted file mode 100644 index 63f18af..0000000 --- a/config/sway-service.desktop +++ /dev/null @@ -1,6 +0,0 @@ -# /usr/share/wayland-sessions/sway-service.desktop -[Desktop Entry] -Name=Sway Service -Comment=i3-compatible Wayland compositor as a systemd service -Exec=sway-service.sh -Type=Application diff --git a/config/systemd/sway-session.target b/config/systemd/sway-session.target deleted file mode 100644 index 87fe41d..0000000 --- a/config/systemd/sway-session.target +++ /dev/null @@ -1,6 +0,0 @@ -[Unit] -Description=sway compositor session -Documentation=man:systemd.special(7) -BindsTo=graphical-session.target wayland-session.target -Wants=graphical-session-pre.target -After=graphical-session-pre.target diff --git a/config/systemd/wayland-session.target b/config/systemd/wayland-session.target deleted file mode 100644 index d0b2888..0000000 --- a/config/systemd/wayland-session.target +++ /dev/null @@ -1,16 +0,0 @@ -# SPDX-License-Identifier: LGPL-2.1+ -# -# This file is inspired from systemd's `graphical-session.target` -# -# systemd is free software; you can redistribute it and/or modify it -# under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or -# (at your option) any later version. - -[Unit] -Description=Current wayland user session -Documentation=man:systemd.special(7) -Requires=basic.target -RefuseManualStart=yes -StopWhenUnneeded=yes -BindsTo=graphical-session.target diff --git a/x13-gen1-sway-desktop.yaml b/x13-gen1-sway-desktop.yaml index 7fa366c..bd9e0c4 100644 --- a/x13-gen1-sway-desktop.yaml +++ b/x13-gen1-sway-desktop.yaml @@ -350,10 +350,6 @@ add-files: - ["config/systemd/nm-applet.service", "/etc/systemd/user/nm-applet.service"] - ["config/systemd/swayidle.service", "/etc/systemd/user/swayidle.service"] - ["config/systemd/swaylock.service", "/etc/systemd/user/swaylock.service"] - - ["config/systemd/sway-session.target", "/etc/systemd/user/sway-session.target"] - - ["config/systemd/wayland-session.target", "/etc/systemd/user/wayland-session.target"] - - ["config/sway-service.desktop", "/usr/share/wayland-sessions/sway-service.desktop"] - - ["config/modprobe.d/i2c_i801-blacklist.conf", "/etc/modprobe.d/i2c_i801-blacklist.conf"] - ["config/environment.d/wayland.conf", "/etc/environment.d/wayland.conf"] - ["config/greetd/config.toml", "/etc/greetd/config.toml"] - ["config/sway/config", "/etc/sway/config"]