diff options
author | ZachIR <zachir@librem.one> | 2025-07-26 11:19:47 -0500 |
---|---|---|
committer | ZachIR <zachir@librem.one> | 2025-07-26 11:19:47 -0500 |
commit | ff8f57ea7ac4d850adcb3e2ab0bc625bd9552222 (patch) | |
tree | 589cc72142a7876e84a86a5f0bb7b5e8e945e5ad /scroll | |
parent | 0cbbcd5764bedfc0a583d204eb935587a94740b4 (diff) |
Add configs to use scroll
Diffstat (limited to 'scroll')
-rw-r--r-- | scroll/config | 516 |
1 files changed, 516 insertions, 0 deletions
diff --git a/scroll/config b/scroll/config new file mode 100644 index 0000000..c715eed --- /dev/null +++ b/scroll/config @@ -0,0 +1,516 @@ +# vim: ft=swayconfig +# +# Default config for scroll +# +# Copy this to ~/.config/scroll/config and edit it to your liking. +# +# Read `man 5 scroll` for a complete reference. + +### Variables +# +# Logo key. Use Mod1 for Alt. +set $mod Mod4 +# Home row direction keys, like vim +set $left Left +set $down Down +set $up Up +set $right Right +# Your preferred terminal emulator +set $term kitty +# Your preferred application launcher +set $rmenu tofi-drun --drun-launch=true -c ~/.config/tofi/themes/dmenu_vertical +set $dmenu dmenu_run -l 15 +# Your preferred file manager +set $filemanager kitty -e lf + +bar mode invisible +exec waybar +exec hypridle +exec hyprpaper + +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/scroll/) +# output * bg /usr/share/backgrounds/scroll/Sway_Wallpaper_Blue_1920x1080.png fill +# +# Example configuration: +# +# output HDMI-A-1 resolution 1920x1080 position 1920,0 +# +# You can get the names of your outputs by running: scrollmsg -t get_outputs + +### Idle configuration +# +# Example configuration: +# +# exec swayidle -w \ +# timeout 300 'swaylock -f -c 000000' \ +# timeout 600 'scrollmsg "output * power off"' resume 'scrollmsg "output * power 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. + +### Input configuration +# +# Example configuration: +# +# input type:touchpad { +# dwt enabled +# tap enabled +# natural_scroll enabled +# middle_emulation enabled +# } +# +# input type:keyboard { +# xkb_layout "eu" +# } +# +# You can also configure each device individually. +# Read `man 5 scroll-input` for more information about this section. + +### Windows defaults +default_border pixel 2 +gaps inner 4 +gaps outer 20 +client.focused #15439e #000000 #e0e0e0 #2e9ef4 #15439e +client.focused_inactive #595959 #000000 #e0e0e0 #2e9ef4 #595959 +client.unfocused #595959 #000000 #e0e0e0 #2e9ef4 #595959 + +# Idle inhibit for fullscreen windows +for_window [all] inhibit_idle fullscreen + +# Layout settings +layout_default_width 0.5 +layout_default_height 1.0 +layout_widths [0.33333333 0.5 0.666666667 1.0] +layout_heights [0.33333333 0.5 0.666666667 1.0] + +fullscreen_movefocus true + +mouse_warping container + +# Animations +animations { + enabled yes + default yes 300 var 3 [ 0.215 0.61 0.355 1 ] + window_open yes 300 var 3 [ 0 0 1 1 ] + window_move yes 300 var 3 [ 0.215 0.61 0.355 1 ] off 0.05 6 [0 0.6 0.4 0 1 0 0.4 -0.6 1 -0.6] + window_size yes 300 var 3 [ -0.35 0 0 0.5 ] +} + +### Key bindings +# +# Basics: +# + # Start a terminal + bindsym $mod+Return exec $term + + # Kill focused window + bindsym $mod+Backspace kill + bindsym $mod+Shift+Backspace kill unfocused + bindsym $mod+Ctrl+Backspace kill all + + # Start your launcher + bindsym $mod+r exec $rmenu + bindsym $mod+d exec $dmenu + + bindsym $mod+e exec $filemanager + + # 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 + + # Closes the active application (hopefully) + bindsym $mod+Shift+q view_close + + # Exit scroll (logs you out of your Wayland session) + bindsym $mod+Shift+e exec scrollnag -t warning -m 'You pressed the exit shortcut. Do you really want to exit scroll? This will end your Wayland session.' -B 'Yes, exit scroll' 'scrollmsg exit' + + # Layout mode + bindsym $mod+bracketleft set_mode h + bindsym $mod+bracketright set_mode v +# +# Moving around: +# + # Move your focus around + bindsym $mod+h focus left + bindsym $mod+j focus down + bindsym $mod+k focus up + bindsym $mod+l focus right + bindsym $mod+home focus beginning + bindsym $mod+end focus end + # Move the focused window with the same, but add Ctrl + bindsym $mod+Ctrl+h move left + bindsym $mod+Ctrl+j move down + bindsym $mod+Ctrl+k move up + bindsym $mod+Ctrl+l move right + bindsym $mod+Ctrl+home move beginning + bindsym $mod+Ctrl+end move end + # nomode + bindsym $mod+Alt+h move left nomode + bindsym $mod+Alt+j move down nomode + bindsym $mod+Alt+k move up nomode + bindsym $mod+Alt+l move right nomode + bindsym $mod+Alt+home move beginning nomode + bindsym $mod+Alt+end move end nomode + + # Focus other monitors + bindsym $mod+Shift+h focus output left + bindsym $mod+Shift+j focus output down + bindsym $mod+Shift+k focus output up + bindsym $mod+Shift+l focus output right +# +# Workspaces: +# + # Switch to workspace + bindsym $mod+1 workspace number 1 + bindsym $mod+2 workspace number 2 + bindsym $mod+3 workspace number 3 + bindsym $mod+4 workspace number 4 + bindsym $mod+5 workspace number 5 + bindsym $mod+6 workspace number 6 + bindsym $mod+7 workspace number 7 + bindsym $mod+8 workspace number 8 + bindsym $mod+9 workspace number 9 + bindsym $mod+0 workspace number 10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1 + bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2 + bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3 + bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4 + bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5 + bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6 + bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7 + bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8 + bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9 + bindsym $mod+Shift+0 move container to workspace number 10; workspace number 10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. + + bindsym $mod+Ctrl+1 move workspace to output left + bindsym $mod+Ctrl+2 move workspace to output right + +# Scaling + # Workspace + bindsym $mod+Shift+comma scale_workspace incr -0.05 + bindsym --whole-window $mod+Shift+button4 scale_workspace incr -0.05 + bindsym $mod+Shift+period scale_workspace incr 0.05 + bindsym --whole-window $mod+Shift+button5 scale_workspace incr 0.05 + bindsym $mod+Shift+Ctrl+period scale_workspace reset + + # Overview + bindsym --no-repeat $mod+tab scale_workspace overview + bindsym --whole-window button8 scale_workspace overview + + # Jump + # jump_labels_color #9e1530FF + # jump_labels_background #15309eFF + # jump_labels_scale 0.9 + # jump_labels_keys asdf + bindsym --no-repeat $mod+slash jump + bindsym --no-repeat $mod+Shift+slash jump container + bindsym --no-repeat $mod+Ctrl+slash jump workspaces + bindsym --no-repeat $mod+Alt+slash jump floating + + # Content + bindsym $mod+comma scale_content incr -0.05 + bindsym --whole-window $mod+button4 scale_content incr -0.05 + bindsym $mod+period scale_content incr 0.05 + bindsym --whole-window $mod+button5 scale_content incr 0.05 + bindsym $mod+Ctrl+period scale_content reset + +# +# Layout stuff: +# + # Make the current focus fullscreen + bindsym $mod+f fullscreen + bindsym $mod+Ctrl+f fullscreen global + bindsym $mod+Alt+f fullscreen_application toggle + bindsym $mod+Ctrl+Alt+f fullscreen_application reset + + # Toggle the current focus between tiling and floating mode + bindsym $mod+y focus mode_toggle + # Toggle layout type (h<->v) + bindsym $mod+Shift+y layout_transpose + + # Float a window + bindsym $mod+Shift+f floating toggle + + # Toggle sticky + bindsym $mod+Shift+Ctrl+a sticky toggle + # Toggle pin + bindsym --no-repeat $mod+a pin beginning + bindsym --no-repeat $mod+Shift+a pin end + + # Selection + bindsym --no-repeat $mod+Insert selection toggle + bindsym --no-repeat $mod+Ctrl+Insert selection reset + bindsym --no-repeat $mod+Shift+Insert selection move + bindsym --no-repeat $mod+Ctrl+Shift+Insert selection workspace + bindsym --no-repeat $mod+Alt+Insert selection to_trail + + # Marks + # bindsym $mod+m exec scroll-mark-toggle.sh + # bindsym $mod+Shift+m exec scroll-mark-remove.sh + # bindsym $mod+apostrophe exec scroll-mark-switch.sh + +# +# Scratchpad: +# + # Scroll 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+z 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+z scratchpad show + bindsym --no-repeat $mod+Alt+z scratchpad jump + + bindsym $mod+Ctrl+z workspace back_and_forth + +# +# Mode modifiers +# +mode "modifiers" { + bindsym $right set_mode after; mode default + bindsym $left set_mode before; mode default + bindsym home set_mode beginning; mode default + bindsym end set_mode end; mode default + bindsym $up set_mode focus; mode default + bindsym $down set_mode nofocus; mode default + bindsym h set_mode center_horiz; mode default + bindsym Shift+h set_mode nocenter_horiz; mode default + bindsym v set_mode center_vert; mode default + bindsym Shift+v set_mode nocenter_vert; mode default + bindsym r set_mode reorder_auto; mode default + bindsym Shift+r set_mode noreorder_auto; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+backslash mode "modifiers" + +# +# Resizing containers: +# +bindsym $mod+minus cycle_size h prev +bindsym $mod+equal cycle_size h next +bindsym $mod+Shift+minus cycle_size v prev +bindsym $mod+Shift+equal cycle_size v next + +mode "setsizeh" { + bindsym 1 set_size h 0.125; mode default + bindsym 2 set_size h 0.1666666667; mode default + bindsym 3 set_size h 0.25; mode default + bindsym 4 set_size h 0.333333333; mode default + bindsym 5 set_size h 0.375; mode default + bindsym 6 set_size h 0.5; mode default + bindsym 7 set_size h 0.625; mode default + bindsym 8 set_size h 0.6666666667; mode default + bindsym 9 set_size h 0.75; mode default + bindsym 0 set_size h 0.833333333; mode default + bindsym minus set_size h 0.875; mode default + bindsym equal set_size h 1.0; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+b mode "setsizeh" + +mode "setsizev" { + bindsym 1 set_size v 0.125; mode default + bindsym 2 set_size v 0.1666666667; mode default + bindsym 3 set_size v 0.25; mode default + bindsym 4 set_size v 0.333333333; mode default + bindsym 5 set_size v 0.375; mode default + bindsym 6 set_size v 0.5; mode default + bindsym 7 set_size v 0.625; mode default + bindsym 8 set_size v 0.6666666667; mode default + bindsym 9 set_size v 0.75; mode default + bindsym 0 set_size v 0.833333333; mode default + bindsym minus set_size v 0.875; mode default + bindsym equal set_size v 1.0; mode default + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+Shift+b mode "setsizev" + +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 100px + bindsym $down resize grow height 100px + bindsym $up resize shrink height 100px + bindsym $right resize grow width 100px + + # Return to default mode + bindsym Escape mode "default" +} +bindsym $mod+Shift+r mode "resize" + +mode "align" { + bindsym c align center; mode default + bindsym m align middle; mode default + bindsym r align reset; mode default + bindsym $left align left; mode default + bindsym $right align right; mode default + bindsym $up align up; mode default + bindsym $down align down; mode default + bindsym Escape mode "default" +} +bindsym $mod+c mode "align" + +mode "fit_size" { + bindsym w fit_size h visible proportional; mode default + bindsym Shift+w fit_size v visible proportional; mode default + bindsym Ctrl+w fit_size h visible equal; mode default + bindsym Ctrl+Shift+w fit_size v visible equal; mode default + + bindsym $right fit_size h toend proportional; mode default + bindsym Shift+$right fit_size v toend proportional; mode default + bindsym Ctrl+$right fit_size h toend equal; mode default + bindsym Ctrl+Shift+$right fit_size v toend equal; mode default + + bindsym $left fit_size h tobeg proportional; mode default + bindsym Shift+$left fit_size v tobeg proportional; mode default + bindsym Ctrl+$left fit_size h tobeg equal; mode default + bindsym Ctrl+Shift+$left fit_size v tobeg equal; mode default + + bindsym $up fit_size h active proportional; mode default + bindsym Shift+$up fit_size v active proportional; mode default + #bindsym Ctrl+$up fit_size h active equal; mode default + #bindsym Ctrl+Shift+$up fit_size v active equal; mode default + + bindsym $down fit_size h all proportional; mode default + bindsym Shift+$down fit_size v all proportional; mode default + bindsym Ctrl+$down fit_size h all equal; mode default + bindsym Ctrl+Shift+$down fit_size v all equal; mode default + bindsym Escape mode "default" +} +bindsym $mod+w mode "fit_size" + +mode "trailmark" { + bindsym bracketright trailmark next + bindsym bracketleft trailmark prev + bindsym semicolon trailmark toggle; mode default + bindsym Escape mode "default" +} +bindsym $mod+semicolon mode "trailmark" + +mode "trail" { + bindsym bracketright trail next + bindsym bracketleft trail prev + bindsym semicolon trail new; mode default + bindsym d trail delete; mode default + bindsym c trail clear; mode default + bindsym insert trail to_selection; mode default + bindsym Escape mode "default" +} +bindsym $mod+Shift+semicolon mode "trail" + +mode "spaces" { + bindsym 1 space load 1; mode default + bindsym 2 space load 2; mode default + bindsym 3 space load 3; mode default + bindsym 4 space load 4; mode default + bindsym 5 space load 5; mode default + bindsym 6 space load 6; mode default + bindsym 7 space load 7; mode default + bindsym 8 space load 8; mode default + bindsym 9 space load 9; mode default + bindsym 0 space load 0; mode default + bindsym Shift+1 space save 1; mode default + bindsym Shift+2 space save 2; mode default + bindsym Shift+3 space save 3; mode default + bindsym Shift+4 space save 4; mode default + bindsym Shift+5 space save 5; mode default + bindsym Shift+6 space save 6; mode default + bindsym Shift+7 space save 7; mode default + bindsym Shift+8 space save 8; mode default + bindsym Shift+9 space save 9; mode default + bindsym Shift+0 space save 0; mode default + bindsym Ctrl+1 space restore 1; mode default + bindsym Ctrl+2 space restore 2; mode default + bindsym Ctrl+3 space restore 3; mode default + bindsym Ctrl+4 space restore 4; mode default + bindsym Ctrl+5 space restore 5; mode default + bindsym Ctrl+6 space restore 6; mode default + bindsym Ctrl+7 space restore 7; mode default + bindsym Ctrl+8 space restore 8; mode default + bindsym Ctrl+9 space restore 9; mode default + bindsym Ctrl+0 space restore 0; mode default + bindsym Escape mode "default" +} +bindsym $mod+g mode "spaces" + +# +# Utilities: +# + # Special keys to adjust volume via PulseAudio + bindsym --locked XF86AudioMute exec pactl set-sink-mute \@DEFAULT_SINK@ toggle + bindsym --locked XF86AudioLowerVolume exec pactl set-sink-volume \@DEFAULT_SINK@ -5% + bindsym --locked XF86AudioRaiseVolume exec pactl set-sink-volume \@DEFAULT_SINK@ +5% + bindsym --locked XF86AudioMicMute exec pactl set-source-mute \@DEFAULT_SOURCE@ toggle + + # Special keys to control media via playerctl + bindsym --locked XF86AudioPlay exec playerctl play-pause + bindsym --locked XF86AudioPause exec playerctl play-pause + bindsym --locked XF86AudioPrev exec playerctl previous + bindsym --locked XF86AudioNext exec playerctl next + bindsym --locked XF86AudioStop exec playerctl stop + + # Special keys to adjust brightness via brightnessctl + bindsym --locked XF86MonBrightnessDown exec brightnessctl set 5%- + bindsym --locked XF86MonBrightnessUp exec brightnessctl set 5%+ + + # Special key to take a screenshot with grim + bindsym Print exec grim + + +focus_wrapping no + +bindgesture swipe:4:right workspace next +bindgesture swipe:4:left workspace prev + +bindgesture swipe:4:up scale_workspace overview + +# +# Workspace rules: +# +# Opens a terminal when creating workspace 6 +# workspace 6 exec kitty + + +# +# Status Bar: +# +# Read `man 5 scroll-bar` for more information about this section. +bar { + position top + + # When the status_command prints a new line to stdout, scrollbar updates. + # The default just shows the current date and time. + status_command while date +'%Y-%m-%d %X'; do sleep 1; done + + colors { + statusline #ffffff + background #323232 + inactive_workspace #32323200 #32323200 #5c5c5c + scroller #2F343AFF #055E20FF #FFFFFFFF + } +} +# +# include /etc/scroll/config.d/* |