# arcmenu, the extensive and configurable menu
[org/gnome/shell/extensions/arcmenu]
arc-menu-icon = 64
arc-menu-placement = 'Panel'
disable-recently-installed-apps = false
menu-button-appearance = 'None'
menu-button-icon = 'Arc_Menu_Icon'
menu-height = 550

# Use the non-intrusive runner.
menu-hotkey = 'Super_L'
menu-layout = 'Runner'
enable-standlone-runner-menu = true
runner-position = 'Centered'
runner-menu-hotkey = 'Super_L'

# Making the default runner nicely usable.
runner-show-frequent-apps = true
search-provider-open-windows = true
show-activities-button = true
show-search-result-details = true
apps-show-extra-details = true


# Minor tweaks ahoy!
[org/gnome/shell/extensions/just-perfection]
clock-menu-position-offset = 9
clock-menu-position = 1
notification-banner-position = 2
ripple-box = false
window-demands-attention-focus = true
invert-calendar-column-items = true
workspace-wrap-around = false

# The lovely tool if you're a mouse handler.
[org/gnome/shell/extensions/flypie]
menu-configuration = '[{"name":"Global palette","icon":"🐶️","shortcut":"<Super>space","centered":false,"id":0,"children":[{"name":"Close window","type":"Shortcut","icon":"window-close-symbolic","data":{"shortcut":"<Super>q"},"angle":-1},{"name":"Next workspace","icon":"go-next-symbolic","type":"Shortcut","data":{"shortcut":"<Control><Super>l"},"angle":90},{"name":"Favorites","icon":"emblem-favorite-symbolic-#fae","type":"Favorites","data":{},"angle":-1},{"name":"Fly-Pie settings","icon":"applications-system-symbolic","type":"Command","data":"gnome-extensions prefs flypie@schneegans.github.com","angle":-1},{"name":"Previous workspace","icon":"go-previous-symbolic","type":"Shortcut","data":{"shortcut":"<Control><Super>h"},"angle":270},{"name":"Running apps","icon":"flypie-menu-running-apps-symbolic-#74a","type":"RunningApps","data":{"activeWorkspaceOnly":false,"appGrouping":true,"hoverPeeking":true,"nameRegex":""},"angle":-1},{"name":"Maximize window","icon":"window-maximize-symbolic","type":"Shortcut","data":{"shortcut":"<Shift><Super>f"},"angle":-1}],"type":"CustomMenu","data":{},"touchButton":false,"superRMB":false}]'

# !!! Most of the settings for burn-my-windows has been transfered to a new
# settings system that is not dconf but it does have segments of code that will
# automatically migrate it for you (only for the first time you've opened it
# though).
# A little novelty couldn't hurt.
[org/gnome/shell/extensions/burn-my-windows]
close-animation = 'tv'
destroy-animation-time = 500
destroy-dialogs = true
disable-on-battery = true

# Disable the default set of animations.
fire-close-effect = false
fire-open-effect = false

# Subtle effects FTW!
tv-glitch-animation-time = 560
tv-glitch-scale = 1.65
tv-glitch-strength = 3.0
tv-glitch-speed = 3.0
tv-glitch-close-effect = true
tv-glitch-open-effect = true

glitch-animation-time = 560
glitch-scale = 1.65
glitch-strength = 3.0
glitch-speed = 3.0
glitch-open-effect = true
glitch-close-effect = true

paint-brush-animation-time = 400
paint-brush-size = 3
paint-brush-close-effect = true
paint-brush-open-effect = true

pixelate-animation-time = 300
pixelate-noise = 50
pixelate-pixel-size = 25
pixelate-close-effect = true
pixelate-open-effect = true

# Make app grid somewhat usable.
[org/gnome/shell/extensions/alphabetical-app-grid]
folder-order-position = 'start'

# PaperWM for an alternative shell.
[org/gnome/shell/extensions/paperwm]
cycle-height-steps = [0.38195, 0.5, 0.61804, 0.75]
cycle-width-steps = [0.38195, 0.5, 0.61804, 0.75]
disable-topbar-styling = true
edge-preview-click-enable = false
horizontal-margin = 0
override-hot-corner = false
restore-workspaces-only-on-primary = true
show-focus-mode-icon = false
show-window-position-bar = false
show-workspace-indicator = true
show-open-position-icon = false
use-default-background = true
vertical-margin = 0
vertical-margin-bottom = 0
window-gap = 10

# The shortcuts are closely tied to my shell keybindings to make it easier to
# follow.
[org/gnome/shell/extensions/paperwm/keybindings]
new-window = ['<Super>Return']
close-window = ['<Super>q', '<Alt>F4']
live-alt-tab = ['<Super>Tab']
live-alt-tab-existing = ['<Super><Shift>Tab']
paper-toggle-fullscreen = ['<Super>f']
toggle-maximize-width = ['<Super><Shift>f']

# I don't want scratchpads or whatever these things.
toggle-scratch-window = ['<Super>Y']
toggle-scratch-layer = ['<Super><Shift>Y']
toggle-scratch = @as []

# I prefer to cycle the sizes instead.
resize-h-inc = @as []
resize-h-dec = @as []
resize-w-inc = @as []
resize-w-dec = @as []
cycle-width = ['<Super>r']

# Slurping and puking windows... weird.
slurp-in = ['<Super>t']
barf-out = ['<Super><Shift>t']

# Navigating with workspaces should be similar with my workflow.
switch-right = ['<Super>l', '<Super>Right']
switch-left = ['<Super>h', '<Super>Left']
switch-up = ['<Super>k', '<Super>Up']
switch-down = ['<Super>j', '<Super>Down']
move-right = ['<Super><Shift>l', '<Super><Shift>Right']
move-left = ['<Super><Shift>h', '<Super><Shift>Left']
move-up = ['<Super><Shift>k', '<Super><Shift>Up']
move-down = ['<Super><Shift>j', '<Super><Shift>Down']
switch-up-workspace = ['<Super><Control>k', '<Super><Control>Up']
switch-down-workspace = ['<Super><Control>j', '<Super><Control>Down']
move-up-workspace = ['<Super><Control><Shift>k', '<Super><Control><Shift>Up']
move-down-workspace = ['<Super><Control><Shift>j', '<Super><Control><Shift>Down']

# There's not much point to these as it is pretty rare.
switch-monitor-above = @as []
switch-monitor-below = @as []
switch-monitor-left = @as []
switch-monitor-right = @as []
move-monitor-above = @as []
move-monitor-below = @as []
move-monitor-left = @as []
move-monitor-right = @as []
