diff --git a/.config/sway/config b/.config/sway/config index 1bc849b..50d225c 100644 --- a/.config/sway/config +++ b/.config/sway/config @@ -15,21 +15,20 @@ set $up k set $right l # Your preferred terminal emulator set $term kitty -# Gaps -gaps inner 5 -# Mouse warping -mouse_warping container -# Border -default_border none # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened # on the original workspace that the command was run on. -set $menu dmenu_path | wofi --show drun -I | xargs swaymsg exec -- +set $menu dmenu_path | rofi -show drun | xargs swaymsg exec -- + +# Disable border +default_border none +# Gaps +gaps inner 8 ### Output configuration # # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) -output * bg /usr/share/backgrounds/background2.png fill +output * bg /usr/share/backgrounds/wall2.jpg fill # # Example configuration: # @@ -37,25 +36,15 @@ output * bg /usr/share/backgrounds/background2.png fill # # You can get the names of your outputs by running: swaymsg -t get_outputs -### Fix for Window that should not be tiling -for_window [app_id="gcolor3"] floating enable -for_window [title="About Mozilla Firefox"] floating enable -for_window [title="Anime Downloader"] floating enable -#for_window [title="Pengaturan Sistem"] floating enable -for_window [title="Ubah Kata Sandi "] floating enable - -### Polkit -exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 - ### Idle configuration # # Example configuration: # -exec swayidle -w \ - timeout 300 'swaylock -f -i /usr/share/backgrounds/background2.png' \ - timeout 600 'exec systemctl suspend' \ - before-sleep 'swaylock -f -i /usr/share/backgrounds/background2.png' - +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ +# before-sleep 'swaylock -f -c 000000' +# # This will lock your screen after 300 seconds of inactivity, then turn off # your displays after another 300 seconds, and turn your screens back on when # resumed. It will also lock your screen before your computer goes to sleep. @@ -68,7 +57,7 @@ exec swayidle -w \ dwt enabled tap enabled natural_scroll enabled - middle_emulation disabled + middle_emulation enabled } # # You can get the names of your inputs by running: swaymsg -t get_inputs @@ -98,7 +87,7 @@ exec swayidle -w \ bindsym $mod+Shift+c reload # Exit sway (logs you out of your Wayland session) - bindsym $mod+Shift+e exec wlogout + bindsym $mod+Shift+e exec wlogout # # Moving around: # @@ -151,6 +140,20 @@ exec swayidle -w \ # Note: workspaces can have any name you want, not just numbers. # We just use 1-10 as the default. # +# Fn keys: +# + bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% + bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% + bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle + bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle + bindsym XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym XF86MonBrightnessUp exec brightnessctl set 5%+ + bindsym XF86AudioPlay exec playerctl play-pause + bindsym XF86AudioNext exec playerctl next + bindsym XF86AudioPrev exec playerctl previous + bindsym XF86Search exec $menu + +# # Layout stuff: # # You can "split" the current object of your focus with @@ -211,35 +214,27 @@ mode "resize" { bindsym Escape mode "default" } bindsym $mod+r mode "resize" -# -# Fn keys -# -bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% -bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% -bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle -bindsym XF86AudioMicMute exec pactl set-source-mute @DEFAULT_SOURCE@ toggle -bindsym XF86MonBrightnessDown exec brightnessctl set 5%- -bindsym XF86MonBrightnessUp exec brightnessctl set +5% -bindsym XF86AudioPlay exec playerctl play-pause -bindsym XF86AudioNext exec playerctl next -bindsym XF86AudioPrev exec playerctl previous -bindsym XF86Search exec bemenu-run -bindsym XF86Mail exec wldash -bindsym XF86WWW exec qutebrowser -# -# Print keys -# -bindsym Print exec grimshot save screen # # Status Bar: # # Read `man 5 sway-bar` for more information about this section. + bar { - -swaybar_command waybar - -position top - + position top + swaybar_command waybar } + +# +# Window configuration: +# +# class border backgr. text indicator child_border +client.focused #1e66f5 #1e66f5 #4c4f69 #fe640b #1e66f5 +client.focused_inactive #bcc0cc #bcc0cc #4c4f69 #04a5e5 #04a5e5 +client.unfocused #bcc0cc #bcc0cc #4c4f69 #bcc0cc #bcc0cc +client.urgent #d20f39 #d20f39 #eff1f5 #d20f39 #d20f39 +client.placeholder #dce0e8 #dce0e8 #4c4f69 #dce0e8 #dce0e8 +client.background #eff1f5 + include /etc/sway/config.d/* +include /home/ss54/config/sway/config.d/* diff --git a/.config/sway/config.d/colors b/.config/sway/config.d/colors new file mode 100644 index 0000000..a328320 --- /dev/null +++ b/.config/sway/config.d/colors @@ -0,0 +1,26 @@ +set rosewater #dc8a78 +set flamingo #dd7878 +set pink #ea76cb +set mauve #8839ef +set red #d20f39 +set maroon #e64553 +set peach #fe640b +set yellow #df8e1d +set green #40a02b +set teal #179299 +set sky #04a5e5 +set sapphire #209fb5 +set blue #1e66f5 +set lavender #7287fd +set text #4c4f69 +set subtext1 #5c5f77 +set subtext0 #6c6f85 +set overlay2 #7c7f93 +set overlay1 #8c8fa1 +set overlay0 #9ca0b0 +set surface2 #acb0be +set surface1 #bcc0cc +set surface0 #ccd0da +set crust #dce0e8 +set mantle #e6e9ef +set base #eff1f5 diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..7e9b427 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,159 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "custom/media"], + "modules-center": ["sway/window"], + "modules-right": ["pulseaudio", "network", "backlight", "battery", "clock", "tray"], + // Modules configuration + // "sway/workspaces": { + // "disable-scroll": true, + // "all-outputs": true, + // "format": "{name}: {icon}", + // "format-icons": { + // "1": "", + // "2": "", + // "3": "", + // "4": "", + // "5": "", + // "urgent": "", + // "focused": "", + // "default": "" + // } + // }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": "{name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "sway/mode": { + "format": "{}" + }, + "mpd": { + "format": "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) ⸨{songPosition}|{queueLength}⸩ {volume}% ", + "format-disconnected": "Disconnected ", + "format-stopped": "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ", + "unknown-tag": "N/A", + "interval": 2, + "consume-icons": { + "on": " " + }, + "random-icons": { + "off": " ", + "on": " " + }, + "repeat-icons": { + "on": " " + }, + "single-icons": { + "on": "1 " + }, + "state-icons": { + "paused": "", + "playing": "" + }, + "tooltip-format": "MPD (connected)", + "tooltip-format-disconnected": "MPD (disconnected)" + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + "timezone": "Asia/Jakarta", + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", "", "", "", "", "", "", "", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}% {icon}", + "format-charging": "{capacity}% ", + "format-plugged": "{capacity}% ", + "format-alt": "{time} {icon}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + "format-icons": ["", "", "", "", ""] + }, + "battery#bat2": { + "bat": "BAT2" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{ipaddr} ({signalStrength}%) ", + "format-ethernet": "{ipaddr}/{cidr} ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon} {format_source}", + "format-bluetooth": "{volume}% {icon} {format_source}", + "format-bluetooth-muted": " {icon} {format_source}", + "format-muted": " {format_source}", + "format-source": "{volume}% ", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/media": { + "format": "{icon} {}", + "return-type": "json", + "max-length": 40, + "format-icons": { + "spotify": "", + "default": "🎜" + }, + "escape": true, + "exec": "$HOME/.config/waybar/mediaplayer.py 2> /dev/null" // Script in resources folder + // "exec": "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" // Filter player based on name + } +} + diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 2efdaf8..5b5fef7 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -1,17 +1,15 @@ * { - border: none; - border-radius: 0; /* `otf-font-awesome` is required to be installed for icons */ - font-family: Roboto, Helvetica, Arial, sans-serif; + font-family: FontAwesome, Roboto, Helvetica, Arial, sans-serif; font-size: 13px; - min-height: 0; } window#waybar { - background-color: rgba(0, 0, 0, 0.2); - color: transparent; + background-color: #eff1f5; + border-bottom: 3px solid #eff1f5; + color: #4c4f69; transition-property: background-color; - transition-duration: .10s; + transition-duration: .5s; } window#waybar.hidden { @@ -23,43 +21,48 @@ window#waybar.empty { background-color: transparent; } window#waybar.solo { - background-color: transparent; + background-color: #FFFFFF; } */ window#waybar.termite { - background-color: #3F3F3F; + background-color: #5c5f77; } window#waybar.chromium { - background-color: #000000; + background-color: #5c5f77; border: none; } #workspaces button { padding: 0 5px; background-color: transparent; - color: white; + color: #4c4f69; /* Use box-shadow instead of border so the text isn't offset */ box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each workspace name */ + border: none; + border-radius: 0; } /* 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); + background: #bcc0cc; + box-shadow: inset 0 -3px #4c4f69; } #workspaces button.focused { - background-color: #ffa34c; + background-color: #bcc0cc; + box-shadow: inset 0 -3px #4c4f69; } #workspaces button.urgent { - background-color: #eb4d4b; + background-color: #d20f39; } #mode { - background-color: #ffa34c; - border-bottom: 3px solid #ffffff; + background-color: #bcc0cc; + border-bottom: 3px solid #4c4f69; } #clock, @@ -77,8 +80,7 @@ window#waybar.chromium { #idle_inhibitor, #mpd { padding: 0 10px; - margin: 0 4px; - color: #ffffff; + color: #eff1f5; } #window, @@ -97,29 +99,30 @@ window#waybar.chromium { } #clock { - background-color: #ffa34c; + background-color: #bcc0cc; + color: #4c4f69; } #battery { - background-color: #0800ff; - color: #ffffff; + background-color: #bcc0cc; + color: #4c4f69; } #battery.charging, #battery.plugged { - color: #ffffff; - background-color: #26A65B; + color: #eff1f5; + background-color: #40a02b; } @keyframes blink { to { - background-color: #ffffff; - color: #000000; + background-color: #eff1f5; + color: #4c4f69; } } #battery.critical:not(.charging) { - background-color: #f53c3c; - color: #ffffff; + background-color: #d20f39; + color: #eff1f5; animation-name: blink; animation-duration: 0.5s; animation-timing-function: linear; @@ -128,68 +131,69 @@ window#waybar.chromium { } label:focus { - background-color: #000000; + background-color: #4c4f69; } #cpu { - background-color: #2ecc71; - color: #000000; + background-color: #04a5e5; + color: #4c4f69; } #memory { - background-color: #9b59b6; + background-color: #7287fd; } #disk { - background-color: #964B00; + background-color: #fe640b; } #backlight { - background-color: #90b1b1; + background-color: #bcc0cc; + color: #4c4f69; } #network { - background-color: #2980b9; + background-color: #1e66f5; } #network.disconnected { - background-color: #f53c3c; + background-color: #d20f39; } #pulseaudio { - background-color: #00ffb3; - color: #000000; + background-color: #1e66f5; + color: #eff1f5; } #pulseaudio.muted { - background-color: #90b1b1; - color: #2a5c45; + background-color: #bcc0cc; + color: #eff1f5; } #custom-media { - background-color: #66cc99; - color: #2a5c45; + background-color: #04a5e5; + color: #4c4f69; min-width: 100px; } #custom-media.custom-spotify { - background-color: #66cc99; + background-color: #40a02b; } #custom-media.custom-vlc { - background-color: #ffa000; + background-color: #df8e1d; } #temperature { - background-color: #f0932b; + background-color: #fe640b; } #temperature.critical { - background-color: #eb4d4b; + background-color: #fe640b; } #tray { - background-color: #2980b9; + background-color: #1e66f5; } #tray > .passive { @@ -198,21 +202,21 @@ label:focus { #tray > .needs-attention { -gtk-icon-effect: highlight; - background-color: #eb4d4b; + background-color: #d20f39; } #idle_inhibitor { - background-color: #2d3436; + background-color: #6c6f85; } #idle_inhibitor.activated { - background-color: #ecf0f1; - color: #2d3436; + background-color: #bcc0cc; + color: #4c4f69; } #mpd { - background-color: #ffa34c; - color: #ffffff; + background-color: #66cc99; + color: #2a5c45; } #mpd.disconnected { @@ -220,24 +224,24 @@ label:focus { } #mpd.stopped { - background-color: #ffa34c; + background-color: #90b1b1; } #mpd.paused { - background-color: #ffa34c; + background-color: #51a37a; } #language { - background: #00b093; - color: #740864; + background: #179299; + color: #eff1f5; padding: 0 5px; margin: 0 5px; min-width: 16px; } #keyboard-state { - background: #97e1ad; - color: #000000; + background: #40a02b; + color: #eff1f5; padding: 0 0px; margin: 0 5px; min-width: 16px; @@ -248,5 +252,5 @@ label:focus { } #keyboard-state > label.locked { - background: rgba(0, 0, 0, 0.2); + background: #4c4f69; } diff --git a/.config/wlogout/layout b/.config/wlogout/layout new file mode 100644 index 0000000..488aa5b --- /dev/null +++ b/.config/wlogout/layout @@ -0,0 +1,36 @@ +{ + "label" : "lock", + "action" : "swaylock", + "text" : "Lock", + "keybind" : "l" +} +{ + "label" : "hibernate", + "action" : "systemctl hibernate", + "text" : "Hibernate", + "keybind" : "h" +} +{ + "label" : "logout", + "action" : "loginctl terminate-user $USER", + "text" : "Logout", + "keybind" : "e" +} +{ + "label" : "shutdown", + "action" : "systemctl poweroff", + "text" : "Shutdown", + "keybind" : "s" +} +{ + "label" : "suspend", + "action" : "systemctl suspend", + "text" : "Suspend", + "keybind" : "u" +} +{ + "label" : "reboot", + "action" : "systemctl reboot", + "text" : "Reboot", + "keybind" : "r" +} diff --git a/.config/wlogout/style.css b/.config/wlogout/style.css new file mode 100644 index 0000000..e975154 --- /dev/null +++ b/.config/wlogout/style.css @@ -0,0 +1,44 @@ +* { + background-image: none; +} +window { + background-color: #eff1f5; +} +button { + color: #4c4f69; + background-color: #bcc0cc; + border-style: solid; + border-width: 2px; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; +} + +button:focus, button:active, button:hover { + background-color: #209fb5; + outline-style: none; +} + +#lock { + background-image: image(url("/usr/share/wlogout/icons/lock.png"), url("/usr/local/share/wlogout/icons/lock.png")); +} + +#logout { + background-image: image(url("/usr/share/wlogout/icons/logout.png"), url("/usr/local/share/wlogout/icons/logout.png")); +} + +#suspend { + background-image: image(url("/usr/share/wlogout/icons/suspend.png"), url("/usr/local/share/wlogout/icons/suspend.png")); +} + +#hibernate { + background-image: image(url("/usr/share/wlogout/icons/hibernate.png"), url("/usr/local/share/wlogout/icons/hibernate.png")); +} + +#shutdown { + background-image: image(url("/usr/share/wlogout/icons/shutdown.png"), url("/usr/local/share/wlogout/icons/shutdown.png")); +} + +#reboot { + background-image: image(url("/usr/share/wlogout/icons/reboot.png"), url("/usr/local/share/wlogout/icons/reboot.png")); +}