# Application bindings
bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)" tmux new
bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(omarchy-cmd-terminal-cwd)"

bindd = SUPER, A, Alacritty, exec, alacritty
bindd = SUPER, D, Notepad, exec, notepad.alexkdeveloper
bindd = SUPER CTRL, RETURN, Browser, exec, omarchy-launch-browser
bindd = SUPER CTRL, E, Email, exec, thunderbird
bindd = SUPER CTRL, V, Vault, exec, bitwarden-desktop
bindd = SUPER CTRL, C, Calendar, exec, omarchy-launch-webapp "https://cloud.aime.team/index.php/apps/calendar/timeGridWeek/now"
bindd = SUPER, E, File manager, exec, uwsm-app -- nautilus --new-window
bindd = SUPER ALT CTRL, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(omarchy-cmd-terminal-cwd)"
bindd = SUPER CTRL, B, Browser, exec, omarchy-launch-browser
bindd = SUPER SHIFT ALT, B, Browser (private), exec, omarchy-launch-browser --private
bindd = SUPER CTRL, N, Trilium, exec, triliumnext
bindd = SUPER CTRL, M, Zabbix, exec, omarchy-launch-webapp "http://192.168.1.151/zabbix/"
bindd = SUPER CTRL, S, Sublime, exec, subl
bindd = SUPER CTRL, R, Rocketchat, exec, rocketchat-desktop
bindd = SUPER CTRL, D, Discord, exec, omarchy-launch-webapp "https://discord.com/channels/@me"
bindd = SUPER CTRL, G, Signal, exec, omarchy-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
bindd = SUPER CTRL, K, Logins, exec, keepassxc
# bindd = SUPER CTRL, L, Writer, exec, libreoffice
bindd = SUPER CTRL, Q, Remmina, exec, remmina
bindd = SUPER CTRL, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime

# bindd = SUPER CTRL, O, Obsidian, exec, omarchy-launch-or-focus ^obsidian$ "uwsm-app -- obsidian"
# bindd = SUPER CTRL, Y, Screenshot, exec, ~/.config/screenshot-gui/screenshot-gui
# bindd = SUPER CTRL, SLASH, Passwords, exec, uwsm-app -- 1password
# unbind = SUPER, SPACE


# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
bindd = SUPER CTRL, A, AI, exec, omarchy-launch-webapp "https://chatty.aime.team"
bindd = SUPER SHIFT CTRL, A, Grok, exec, omarchy-launch-webapp "https://grok.com"
bindd = SUPER SHIFT ALT, G, WhatsApp, exec, omarchy-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"
bindd = SUPER SHIFT CTRL, G, Google Messages, exec, omarchy-launch-or-focus-webapp "Google Messages" "https://messages.google.com/web/conversations"
bindd = SUPER CTRL, P, Google Photos, exec, omarchy-launch-or-focus-webapp "Google Photos" "https://photos.google.com/"
bindd = SUPER CTRL, X, X, exec, omarchy-launch-webapp "https://x.com/"
bindd = SUPER SHIFT ALT, X, X Post, exec, omarchy-launch-webapp "https://x.com/compose/post"

# bindd = SUPER CTRL, Y, YouTube, exec, omarchy-launch-webapp "https://youtube.com/"

# Overwrite existing bindings, like putting Omarchy Menu on Super + Space
# unbind = SUPER, SPACE
# bindd = SUPER, SPACE, Omarchy menu, exec, omarchy-menu

## Utilities.conf
# Menus
bindd = SUPER, SPACE, Launch apps, exec, omarchy-launch-walker
bindd = SUPER SHIFT, E, Emoji picker, exec, omarchy-launch-walker -m symbols
bindd = SUPER SHIFT, C, Capture menu, exec, omarchy-menu capture
bindd = SUPER SHIFT, O, Toggle menu, exec, omarchy-menu toggle
bindd = SUPER SHIFT, H, Hardware menu, exec, omarchy-menu hardware
bindd = SUPER ALT, SPACE, Omarchy menu, exec, omarchy-menu
bindd = SUPER SHIFT, code:201, Omarchy menu, exec, omarchy-menu
bindd = SUPER, ESCAPE, System menu, exec, omarchy-menu system
bindld = , XF86PowerOff, Power menu, exec, omarchy-menu system
bindd = SUPER, K, Show key bindings, exec, omarchy-menu-keybindings
bindd = , XF86Calculator, Calculator, exec, gnome-calculator

# Aesthetics
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, omarchy-toggle-waybar
bindd = SUPER SHIFT, SPACE, Theme background menu, exec, omarchy-menu background
bindd = SUPER CTRL SHIFT, SPACE, Theme menu, exec, omarchy-menu theme
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, omarchy-hyprland-window-transparency-toggle
bindd = SUPER SHIFT, BACKSPACE, Toggle window gaps, exec, omarchy-hyprland-window-gaps-toggle
bindd = SUPER SHIFT, BACKSPACE, Toggle single-window square aspect, exec, omarchy-hyprland-window-single-square-aspect-toggle

# Notifications
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all
bindd = SUPER SHIFT, COMMA, Toggle silencing notifications, exec, omarchy-toggle-notification-silencing
bindd = SUPER ALT, COMMA, Invoke last notification, exec, makoctl invoke
bindd = SUPER CTRL ALT, COMMA, Restore last notification, exec, makoctl restore

# Toggles
bindd = SUPER SHIFT, I, Toggle locking on idle, exec, omarchy-toggle-idle
bindd = SUPER SHIFT, N, Toggle nightlight, exec, omarchy-toggle-nightlight
bindd = SUPER SHIFT, Delete, Toggle laptop display, exec, omarchy-hyprland-monitor-internal toggle
bindd = SUPER CTRL ALT, Delete, Toggle laptop display mirroring, exec, omarchy-hyprland-monitor-internal-mirror toggle
bindl = , switch:on:Lid Switch, exec, omarchy-hw-external-monitors && omarchy-hyprland-monitor-internal off
bindl = , switch:off:Lid Switch, exec, omarchy-hyprland-monitor-internal on

# Captures
bindd = , PRINT, Screenshot, exec, omarchy-capture-screenshot
bindd = ALT, PRINT, Screenrecording, exec, omarchy-menu screenrecord
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
bindd = SUPER SHIFT, PRINT, Extract text (OCR) from screenshot, exec, omarchy-capture-text-extraction

# File sharing
bindd = SUPER SHIFT, S, Share, exec, omarchy-menu share

# Transcoding
bindd = SUPER SHIFT, PERIOD, Transcode, exec, omarchy-transcode

# Reminders
bindd = SUPER SHIFT, R, Set reminder, exec, omarchy-menu reminder-set
bindd = SUPER CTRL ALT, R, Show reminders, exec, omarchy-reminder show
bindd = SUPER CTRL SHIFT, R, Clear reminders, exec, omarchy-reminder clear

# Waybar-less information
bindd = SUPER CTRL ALT, T, Show time, exec, notify-send -u low "    $(date +"%A %H:%M  ·  %d %B %Y  ·  Week %V")"
bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send -u low "$(omarchy-battery-status)"
bindd = SUPER CTRL ALT, W, Show weather, exec, notify-send -u low "$(omarchy-weather-status)"

# Control panels
bindd = SUPER SHIFT, A, Audio controls, exec, omarchy-launch-audio
bindd = SUPER SHIFT, B, Bluetooth controls, exec, omarchy-launch-bluetooth
bindd = SUPER SHIFT, W, Wifi controls, exec, omarchy-launch-wifi
bindd = SUPER SHIFT, T, Activity, exec, omarchy-launch-tui btop

# Dictation
bindd = SUPER SHIFT, X, Toggle dictation, exec, voxtype record toggle

bindd  = , F9, Start dictation (push-to-talk), exec, voxtype record start
binddr = , F9, Stop dictation (push-to-talk),  exec, voxtype record stop

# Zoom
bindd = SUPER SHIFT, Z, Zoom in, exec, hyprctl keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float + 1')
bindd = SUPER CTRL ALT, Z, Reset zoom, exec, hyprctl keyword cursor:zoom_factor 1

# Lock system
bindd = SUPER CTRL, L, Lock system, exec, omarchy-system-lock

## Tiling-v2.conf
# Close windows
bindd = SUPER, W, Close window, killactive,
bindd = CTRL ALT, DELETE, Close all windows, exec, omarchy-hyprland-window-close-all

# Control tiling
bindd = SUPER, J, Toggle window split, layoutmsg, togglesplit
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
bindd = SUPER, F, Full screen, fullscreen, 0
bindd = SUPER SHIFT, F, Tiled full screen, fullscreenstate, 0 2
bindd = SUPER ALT, F, Full width, fullscreen, 1
bindd = SUPER, O, Pop window out (float & pin), exec, omarchy-hyprland-window-pop
bindd = SUPER, L, Toggle workspace layout, exec, omarchy-hyprland-workspace-layout-toggle

# Move focus with SUPER + arrow keys
bindd = SUPER, LEFT, Focus on left window, movefocus, l
bindd = SUPER, RIGHT, Focus on right window, movefocus, r
bindd = SUPER, UP, Focus on above window, movefocus, u
bindd = SUPER, DOWN, Focus on below window, movefocus, d

# Switch workspaces with SUPER + [1-9; 0]
bindd = SUPER, code:10, Switch to workspace 1, workspace, 1
bindd = SUPER, code:11, Switch to workspace 2, workspace, 2
bindd = SUPER, code:12, Switch to workspace 3, workspace, 3
bindd = SUPER, code:13, Switch to workspace 4, workspace, 4
bindd = SUPER, code:14, Switch to workspace 5, workspace, 5
bindd = SUPER, code:15, Switch to workspace 6, workspace, 6
bindd = SUPER, code:16, Switch to workspace 7, workspace, 7
bindd = SUPER, code:17, Switch to workspace 8, workspace, 8
bindd = SUPER, code:18, Switch to workspace 9, workspace, 9
bindd = SUPER, code:19, Switch to workspace 10, workspace, 10

# Move active window to a workspace with SUPER + CTRL + [1-9; 0]
bindd = SUPER SHIFT, code:10, Move window to workspace 1, movetoworkspace, 1
bindd = SUPER SHIFT, code:11, Move window to workspace 2, movetoworkspace, 2
bindd = SUPER SHIFT, code:12, Move window to workspace 3, movetoworkspace, 3
bindd = SUPER SHIFT, code:13, Move window to workspace 4, movetoworkspace, 4
bindd = SUPER SHIFT, code:14, Move window to workspace 5, movetoworkspace, 5
bindd = SUPER SHIFT, code:15, Move window to workspace 6, movetoworkspace, 6
bindd = SUPER SHIFT, code:16, Move window to workspace 7, movetoworkspace, 7
bindd = SUPER SHIFT, code:17, Move window to workspace 8, movetoworkspace, 8
bindd = SUPER SHIFT, code:18, Move window to workspace 9, movetoworkspace, 9
bindd = SUPER SHIFT, code:19, Move window to workspace 10, movetoworkspace, 10

# Move active window silently to a workspace with SUPER + CTRL + ALT + [1-9; 0]
bindd = SUPER CTRL ALT, code:10, Move window silently to workspace 1, movetoworkspacesilent, 1
bindd = SUPER CTRL ALT, code:11, Move window silently to workspace 2, movetoworkspacesilent, 2
bindd = SUPER CTRL ALT, code:12, Move window silently to workspace 3, movetoworkspacesilent, 3
bindd = SUPER CTRL ALT, code:13, Move window silently to workspace 4, movetoworkspacesilent, 4
bindd = SUPER CTRL ALT, code:14, Move window silently to workspace 5, movetoworkspacesilent, 5
bindd = SUPER CTRL ALT, code:15, Move window silently to workspace 6, movetoworkspacesilent, 6
bindd = SUPER CTRL ALT, code:16, Move window silently to workspace 7, movetoworkspacesilent, 7
bindd = SUPER CTRL ALT, code:17, Move window silently to workspace 8, movetoworkspacesilent, 8
bindd = SUPER CTRL ALT, code:18, Move window silently to workspace 9, movetoworkspacesilent, 9
bindd = SUPER CTRL ALT, code:19, Move window silently to workspace 10, movetoworkspacesilent, 10

# Control scratchpad
# bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad
bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad

# TAB between workspaces
# bindd = SUPER, TAB, Next workspace, workspace, e+1
# bindd = SUPER SHIFT, TAB, Previous workspace, workspace, e-1
# bindd = SUPER SHIFT, TAB, Former workspace, workspace, previous

# Move workspaces to other monitors
bindd = SUPER CTRL ALT, LEFT, Move workspace to left monitor, movecurrentworkspacetomonitor, l
bindd = SUPER CTRL ALT, RIGHT, Move workspace to right monitor, movecurrentworkspacetomonitor, r
bindd = SUPER CTRL ALT, UP, Move workspace to up monitor, movecurrentworkspacetomonitor, u
bindd = SUPER CTRL ALT, DOWN, Move workspace to down monitor, movecurrentworkspacetomonitor, d

# Swap active window with the one next to it with SUPER + CTRL + arrow keys
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r
bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u
bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d

# Cycle through applications on active workspace
bindd = SUPER, TAB, Focus on next window, cyclenext
bindd = SUPER SHIFT, TAB, Focus on previous window, cyclenext, prev
bindd = ALT, TAB, Reveal active window on top, bringactivetotop
# bindd = ALT SHIFT, TAB, Reveal active window on top, bringactivetotop

# Cycle through monitors
bindd = CTRL ALT, TAB, Focus on next monitor, focusmonitor, +1
bindd = CTRL ALT SHIFT, TAB, Focus on previous monitor, focusmonitor, -1

# Resize active window
bindd = SUPER, code:20, Expand window left, resizeactive, -100 0    # - key
bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0     # = key
bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100
bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100

# Scroll through existing workspaces with SUPER + scroll
bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1

# Move/resize windows with mainMod + LMB/RMB and dragging
bindmd = SUPER, mouse:272, Move window, movewindow
bindmd = SUPER, mouse:273, Resize window, resizewindow

# Toggle groups
bindd = SUPER, G, Toggle window grouping, togglegroup
bindd = SUPER ALT, G, Move active window out of group, moveoutofgroup

# Join groups
bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l
bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r
bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u
bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d

# Navigate a single set of grouped windows
bindd = ALT, TAB, Next window in group, changegroupactive, f
bindd = ALT SHIFT, TAB, Previous window in group, changegroupactive, b

# Window navigation for grouped windows
bindd = SUPER SHIFT, LEFT, Move grouped window focus left, changegroupactive, b
bindd = SUPER SHIFT, RIGHT, Move grouped window focus right, changegroupactive, f

# Scroll through a set of grouped windows with SUPER + ALT + scroll
bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f
bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b

# Activate window in a group by number
bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1
bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5

# Cycle monitor scaling with SUPER + /
bindd = SUPER, code:61, Cycle monitor scaling, exec, omarchy-hyprland-monitor-scaling-cycle
bindd = SUPER ALT, code:61, Cycle monitor scaling backwards, exec, omarchy-hyprland-monitor-scaling-cycle --reverse
