From 24888b484bb57b2bee55147bc6cf0c68ac0d4156 Mon Sep 17 00:00:00 2001 From: BluishHumility Date: Mon, 29 Jul 2024 22:17:44 -0400 Subject: [PATCH] Change the default terminal to [Foot terminal](https://codeberg.org/dnkl/foot), a Wayland-first terminal which is the default for the Sway project. Compared to xfce4-terminal, Foot is faster and more lightweight (both in size and resource usage). It also has native Sixel support, which allows rendering images in the terminal. I have added a foot.ini which preserves the color scheme that had been set up on xfce4-terminal (with the purple background and transparency), except using the Material color scheme for terminal fonts. The bright colors of the fonts look good on the purple, and are easier to read than the old font colors. Other changes in this PR: * Add foot to package lists; remove xfce4-terminal * Autostart foot-server in Sway config * Change default terminal in Sway config * Change Waybar on-click actions to use footclient instead of xfce4-terminal * Update cheatsheet, keyhint files * Update Wofi, Thunar configs to use footclient instead of xfce4-terminal --- .config/Thunar/uca.xml | 2 +- .config/foot/foot.ini | 195 ++++++++++++++++++ .config/sway/cheatsheet | 5 +- .config/sway/config.d/application_defaults | 4 +- .config/sway/config.d/default | 11 +- .config/waybar/config | 6 +- .config/waybar/scripts/keyhint.sh | 2 +- .config/wofi/config | 2 +- .config/xfce4/terminal/accels.scm | 58 ------ .config/xfce4/terminal/terminalrc | 43 ---- .../xfce-perchannel-xml/thunar-volman.xml | 10 - netinstall.yaml | 2 +- packages-repository.txt | 1 + 13 files changed, 213 insertions(+), 128 deletions(-) create mode 100644 .config/foot/foot.ini delete mode 100644 .config/xfce4/terminal/accels.scm delete mode 100644 .config/xfce4/terminal/terminalrc delete mode 100644 .config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml diff --git a/.config/Thunar/uca.xml b/.config/Thunar/uca.xml index cd42094..fea0520 100644 --- a/.config/Thunar/uca.xml +++ b/.config/Thunar/uca.xml @@ -4,7 +4,7 @@ utilities-terminal Open Terminal Here 1611168259857250-1 - sh -c 'cd %f; xfce4-terminal' + sh -c 'cd %f; footclient' Example for a custom action * diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100644 index 0000000..da54517 --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,195 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot +# title=foot +# locked-title=no + +font=JetBrainsMono-Regular:size=13 +# font-bold= +# font-italic= +# font-bold-italic= +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# box-drawings-uses-font-glyphs=no +# dpi-aware=auto + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars= +# initial-window-mode=windowed +pad=12x12 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=0.9 # Adjust alpha to match transparency level +foreground=e3e3ea # ColorForeground +background=08052b # ColorBackground + +## Normal/regular colors (color palette 0-7) +regular0=546E7A # black +regular1=FF5252 # red +regular2=5CF19E # green +regular3=FFD740 # yellow +regular4=40C4FF # blue +regular5=FF4081 # magenta +regular6=64FCDA # cyan +regular7=FFFFFF # white + +## Bright colors (color palette 8-15) +bright0=B0BEC5 # bright black +bright1=FF8A80 # bright red +bright2=B9F6CA # bright green +bright3=FFE57F # bright yellow +bright4=80D8FF # bright blue +bright5=FF80AB # bright magenta +bright6=A7FDEB # bright cyan +bright7=FFFFFF # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +size=0 +# font= +# color= +# hide-when-typing=no +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=none +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 + +# vim: ft=dosini diff --git a/.config/sway/cheatsheet b/.config/sway/cheatsheet index 4b1a94c..629d698 100644 --- a/.config/sway/cheatsheet +++ b/.config/sway/cheatsheet @@ -23,12 +23,9 @@ MOD key is set to the WINKEY/LINKEY -# start floating xfce4-terminal +# Launch the terminal MOD+Return -# start fixed termite-terminal -MOD+Shift+Return - # kill focused window MOD+q diff --git a/.config/sway/config.d/application_defaults b/.config/sway/config.d/application_defaults index 445796f..8b5bd20 100644 --- a/.config/sway/config.d/application_defaults +++ b/.config/sway/config.d/application_defaults @@ -40,8 +40,8 @@ for_window [title="File Operation Progress"] floating enable, border pixel 1, st for_window [app_id="firefox" title="^Library$"] floating enable, border pixel 1, sticky enable, resize set width 40 ppt height 30 ppt for_window [app_id="floating_shell_portrait"] floating enable, border pixel 1, sticky enable, resize set width 30 ppt height 40 ppt for_window [title="Picture in picture"] floating enable, sticky enable -for_window [title="nmtui"] floating enable, resize set width 50 ppt height 70 ppt -for_window [title="htop"] floating enable, resize set width 50 ppt height 70 ppt +for_window [title="waybar_htop"] floating enable, resize set width 70 ppt height 70 ppt +for_window [title="waybar_nmtui"] floating enable for_window [app_id="xsensors"] floating enable for_window [title="Save File"] floating enable for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill diff --git a/.config/sway/config.d/default b/.config/sway/config.d/default index 75ef7d2..84a6444 100644 --- a/.config/sway/config.d/default +++ b/.config/sway/config.d/default @@ -15,8 +15,11 @@ set $volume_up $(pactl set-sink-volume @DEFAULT_SINK@ +5% && $sink_volume) set $volume_mute $(pactl set-sink-mute @DEFAULT_SINK@ toggle && pactl get-sink-mute @DEFAULT_SINK@ | sed -En "/no/ s/.*/$($sink_volume)/p; /yes/ s/.*/0/p") set $mic_mute $(pactl set-source-mute @DEFAULT_SOURCE@ toggle && pactl get-source-mute @DEFAULT_SOURCE@ | sed -En "/no/ s/.*/$($source_volume)/p; /yes/ s/.*/0/p") -# Your preferred terminal emulators -set $term-float xfce4-terminal +# Start foot server +exec_always --no-startup-id foot --server + +# Set default terminal emulator +set $term footclient # Your preferred application launcher # Note: pass the final command to swaymsg so that the resulting window can be opened @@ -42,8 +45,8 @@ exec swayidle -w\ # # Basics: # - # Start a floating terminal - bindsym $mod+Return exec $term-float + # Launch the terminal + bindsym $mod+Return exec $term # Open the power menu bindsym $mod+Shift+e exec $powermenu diff --git a/.config/waybar/config b/.config/waybar/config index 73e0d23..f960f18 100644 --- a/.config/waybar/config +++ b/.config/waybar/config @@ -65,7 +65,7 @@ "warning": 70, "critical": 90, }, - "on-click": "xfce4-terminal -e 'htop'", + "on-click": "footclient -T waybar_htop -e htop", }, "custom/keyboard-layout": { @@ -82,7 +82,7 @@ "memory": { "interval": 5, "format": " {}%", // Icon: memory - "on-click": "xfce4-terminal -e 'htop'", + "on-click": "footclient -T waybar_htop -e htop", "states": { "warning": 70, "critical": 90 @@ -95,7 +95,7 @@ "format-ethernet": " {ifname}: {ipaddr}/{cidr}", // Icon: ethernet "format-disconnected": "⚠ Disconnected", "tooltip-format": "{ifname}: {ipaddr}", - "on-click": "xfce4-terminal -e 'nmtui'", + "on-click": "footclient -T waybar_nmtui -e nmtui", }, "network#vpn": { "interface": "tun0", diff --git a/.config/waybar/scripts/keyhint.sh b/.config/waybar/scripts/keyhint.sh index 01f3396..79b2768 100644 --- a/.config/waybar/scripts/keyhint.sh +++ b/.config/waybar/scripts/keyhint.sh @@ -1,2 +1,2 @@ #!/bin/sh -yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(xfce4-terminal)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list" +yad --title="EndeavourOS Sway-WM keybindings:" --no-buttons --geometry=400x345-15-400 --list --column=key: --column=description: --column=command: "ESC" "close this app" "" "=" "modkey" "(set mod Mod4)" "+enter" "Terminal" "(Foot)" "+d" "Application Menu" "(wofi)" "+p" "Activities" "(wofi)" "+o" "" "Open Broswer" "+n" "" "Open Files" "+q" "close focused app" "(kill)" "[Shift]+Print-key" "screenshot" "(grim)" "+Shift+e" "power-menu" "(wofi)" "+t" "open keybinding helper" "full list" diff --git a/.config/wofi/config b/.config/wofi/config index 091c2f0..54f832c 100644 --- a/.config/wofi/config +++ b/.config/wofi/config @@ -3,7 +3,7 @@ show=drun width=25% lines=10 line_wrap=word -term=xfce4-terminal +term=footclient allow_markup=true always_parse_args=true show_all=true diff --git a/.config/xfce4/terminal/accels.scm b/.config/xfce4/terminal/accels.scm deleted file mode 100644 index 1b6accf..0000000 --- a/.config/xfce4/terminal/accels.scm +++ /dev/null @@ -1,58 +0,0 @@ - xfce4-terminal GtkAccelMap rc-file -*- scheme -*- -; this file is an automated accelerator map dump -; -(gtk_accel_path "/terminal-window/goto-tab-2" "2") -(gtk_accel_path "/terminal-window/goto-tab-6" "6") -; (gtk_accel_path "/terminal-window/copy-input" "") -; (gtk_accel_path "/terminal-window/close-other-tabs" "") -; (gtk_accel_path "/terminal-window/move-tab-right" "Page_Down") -(gtk_accel_path "/terminal-window/goto-tab-7" "7") -; (gtk_accel_path "/terminal-window/set-title-color" "") -; (gtk_accel_path "/terminal-window/edit-menu" "") -; (gtk_accel_path "/terminal-window/zoom-menu" "") -(gtk_accel_path "/terminal-window/goto-tab-1" "1") -; (gtk_accel_path "/terminal-window/fullscreen" "F11") -; (gtk_accel_path "/terminal-window/read-only" "") -; (gtk_accel_path "/terminal-window/preferences" "") -; (gtk_accel_path "/terminal-window/reset-and-clear" "") -; (gtk_accel_path "/terminal-window/about" "") -(gtk_accel_path "/terminal-window/goto-tab-5" "5") -; (gtk_accel_path "/terminal-window/close-window" "q") -; (gtk_accel_path "/terminal-window/reset" "") -; (gtk_accel_path "/terminal-window/save-contents" "") -(gtk_accel_path "/terminal-window/toggle-menubar" "F10") -; (gtk_accel_path "/terminal-window/copy" "c") -; (gtk_accel_path "/terminal-window/copy-html" "") -; (gtk_accel_path "/terminal-window/last-active-tab" "") -; (gtk_accel_path "/terminal-window/show-borders" "") -; (gtk_accel_path "/terminal-window/view-menu" "") -; (gtk_accel_path "/terminal-window/detach-tab" "d") -; (gtk_accel_path "/terminal-window/scroll-on-output" "") -; (gtk_accel_path "/terminal-window/show-toolbar" "") -; (gtk_accel_path "/terminal-window/next-tab" "Page_Down") -; (gtk_accel_path "/terminal-window/tabs-menu" "") -; (gtk_accel_path "/terminal-window/search-next" "") -; (gtk_accel_path "/terminal-window/search-prev" "") -; (gtk_accel_path "/terminal-window/undo-close-tab" "") -; (gtk_accel_path "/terminal-window/set-title" "s") -; (gtk_accel_path "/terminal-window/contents" "F1") -; (gtk_accel_path "/terminal-window/zoom-reset" "0") -; (gtk_accel_path "/terminal-window/close-tab" "w") -; (gtk_accel_path "/terminal-window/new-tab" "t") -; (gtk_accel_path "/terminal-window/new-window" "n") -; (gtk_accel_path "/terminal-window/terminal-menu" "") -; (gtk_accel_path "/terminal-window/show-menubar" "") -; (gtk_accel_path "/terminal-window/select-all" "a") -; (gtk_accel_path "/terminal-window/paste" "v") -(gtk_accel_path "/terminal-window/goto-tab-9" "9") -; (gtk_accel_path "/terminal-window/move-tab-left" "Page_Up") -; (gtk_accel_path "/terminal-window/search" "f") -; (gtk_accel_path "/terminal-window/file-menu" "") -; (gtk_accel_path "/terminal-window/prev-tab" "Page_Up") -; (gtk_accel_path "/terminal-window/paste-selection" "") -; (gtk_accel_path "/terminal-window/zoom-in" "plus") -; (gtk_accel_path "/terminal-window/zoom-out" "minus") -(gtk_accel_path "/terminal-window/goto-tab-8" "8") -; (gtk_accel_path "/terminal-window/help-menu" "") -(gtk_accel_path "/terminal-window/goto-tab-4" "4") -(gtk_accel_path "/terminal-window/goto-tab-3" "3") diff --git a/.config/xfce4/terminal/terminalrc b/.config/xfce4/terminal/terminalrc deleted file mode 100644 index 67444c0..0000000 --- a/.config/xfce4/terminal/terminalrc +++ /dev/null @@ -1,43 +0,0 @@ -[Configuration] -BackgroundDarkness=0.860000 -MiscSearchDialogOpacity=100 -MiscShowUnsafePasteDialog=FALSE -BackgroundMode=TERMINAL_BACKGROUND_TRANSPARENT -FontUseSystem=TRUE -MiscAlwaysShowTabs=FALSE -MiscBell=FALSE -MiscBellUrgent=FALSE -MiscBordersDefault=TRUE -MiscCursorBlinks=FALSE -MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK -MiscDefaultGeometry=100x30 -MiscInheritGeometry=FALSE -MiscMenubarDefault=FALSE -MiscMouseAutohide=FALSE -MiscMouseWheelZoom=TRUE -MiscToolbarDefault=FALSE -MiscConfirmClose=TRUE -MiscCycleTabs=TRUE -MiscTabCloseButtons=TRUE -MiscTabCloseMiddleClick=TRUE -MiscTabPosition=GTK_POS_TOP -MiscHighlightUrls=TRUE -MiscMiddleClickOpensUri=FALSE -MiscCopyOnSelect=FALSE -MiscShowRelaunchDialog=TRUE -MiscRewrapOnResize=TRUE -MiscUseShiftArrowsToScroll=FALSE -MiscSlimTabs=TRUE -MiscNewTabAdjacent=FALSE -ColorForeground=#e3e3ea -ColorBackground=#08052b -ColorCursor=#ff7f7f -ColorCursorForeground=#FFFFFF -ColorBold=#7fbaff -TabActivityColor=#47B35D -ColorCursorUseDefault=FALSE -ColorBoldIsBright=FALSE -ScrollingUnlimited=TRUE -TitleMode=TERMINAL_TITLE_REPLACE -ScrollingBar=TERMINAL_SCROLLBAR_NONE -TextBlinkMode=TERMINAL_TEXT_BLINK_MODE_FOCUSED diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml b/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml deleted file mode 100644 index c38dbdf..0000000 --- a/.config/xfce4/xfconf/xfce-perchannel-xml/thunar-volman.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/netinstall.yaml b/netinstall.yaml index 0330476..024e0a9 100644 --- a/netinstall.yaml +++ b/netinstall.yaml @@ -147,6 +147,7 @@ - dex - diffuse - file-roller + - foot - grim - gtk-engine-murrine - gtk-layer-shell @@ -177,7 +178,6 @@ - wofi - xdg-desktop-portal-wlr - xed - - xfce4-terminal - xorg-xhost - name: "Zen Kernel" description: "https://github.com/zen-kernel/zen-kernel" diff --git a/packages-repository.txt b/packages-repository.txt index ffccabc..51c58e2 100644 --- a/packages-repository.txt +++ b/packages-repository.txt @@ -7,6 +7,7 @@ dex egl-wayland eos-sddm-theme file-roller +foot grim gtk-engine-murrine gtk-layer-shell