Compare commits
	
		
			6 commits
		
	
	
		
			x13-gen1-s
			...
			x13-gen1-s
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 2a8d2ada45 | |||
| 23cd1ce2ee | |||
| 1ca878a6ec | |||
| 10f017a9ff | |||
| 394063b9d2 | |||
| e93bcf8baf | 
					 29 changed files with 795 additions and 337 deletions
				
			
		|  | @ -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----- | ||||
							
								
								
									
										92
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										92
									
								
								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 <https://github.com/TheWaWaR/simple-http-server>: | ||||
| 
 | ||||
|   ``` | ||||
|   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: | ||||
| 
 | ||||
| - <https://fedoraproject.org/wiki/Workstation/AtomicWorkstation> | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -10,3 +10,4 @@ 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 | ||||
|  |  | |||
|  | @ -1 +0,0 @@ | |||
| blacklist i2c_i801 | ||||
|  | @ -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 | ||||
							
								
								
									
										42
									
								
								config/sway/bin/keyboard-layout-per-window.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								config/sway/bin/keyboard-layout-per-window.py
									
										
									
									
									
										Executable file
									
								
							|  | @ -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() | ||||
							
								
								
									
										1
									
								
								config/sway/config
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								config/sway/config
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1 @@ | |||
| include /etc/sway/config.d/* | ||||
							
								
								
									
										15
									
								
								config/sway/config.d/10-variables.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								config/sway/config.d/10-variables.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 wldash | ||||
							
								
								
									
										16
									
								
								config/sway/config.d/20-output.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								config/sway/config.d/20-output.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
							
								
								
									
										27
									
								
								config/sway/config.d/30-input.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								config/sway/config.d/30-input.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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%- | ||||
							
								
								
									
										47
									
								
								config/sway/config.d/50-style.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								config/sway/config.d/50-style.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
							
								
								
									
										34
									
								
								config/sway/config.d/60-app-windows.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								config/sway/config.d/60-app-windows.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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"] | ||||
							
								
								
									
										150
									
								
								config/sway/config.d/90-bindings.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										150
									
								
								config/sway/config.d/90-bindings.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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" | ||||
|     } | ||||
| 
 | ||||
							
								
								
									
										52
									
								
								config/sway/config.d/91-swaysome.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								config/sway/config.d/91-swaysome.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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" | ||||
							
								
								
									
										3
									
								
								config/sway/config.d/99-startup.conf
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								config/sway/config.d/99-startup.conf
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -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": "<span weight=\"bold\">{}</span>" | ||||
|   }, | ||||
|   "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": "| <span color='#ef9f33'>{}</span>" | ||||
|   }, | ||||
|   "clock": { | ||||
|     "tooltip": false, | ||||
|     "format": "| {:%d.%m.%Y %H:%M}" | ||||
|   }, | ||||
|   "tray": { | ||||
|     "tooltip": false, | ||||
|     "icon-size": 18, | ||||
|     "spacing": 5 | ||||
|   } | ||||
| } | ||||
|  |  | |||
							
								
								
									
										36
									
								
								config/waybar/keyboard-layout.py
									
										
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								config/waybar/keyboard-layout.py
									
										
									
									
									
										Executable file
									
								
							|  | @ -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() | ||||
|  | @ -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; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										82
									
								
								config/wldash.yaml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								config/wldash.yaml
									
										
									
									
									
										Normal file
									
								
							|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -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 | ||||
							
								
								
									
										3
									
								
								post.sh
									
										
									
									
									
								
							
							
						
						
									
										3
									
								
								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 | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -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 | ||||
|  | @ -191,7 +190,7 @@ packages: | |||
|   - wayland-devel | ||||
|   - wdisplays | ||||
|   - wl-clipboard | ||||
|   - wofi | ||||
|   - wldash | ||||
|   - xdg-desktop-portal-wlr | ||||
| # virtualization | ||||
|   - libguestfs-tools | ||||
|  | @ -351,10 +350,19 @@ 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/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"] | ||||
|   - ["config/wldash.yaml", "/usr/share/wldash/config.yaml"] | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue