# Define launch keybindings and rules for automatically assigning windows to specific
# workspaces/outputs to make them floating by default, etc.

# LAUNCH KEYBINDINGS
# ~~~~~~~~~~~~~~~~~~

# Password manager
bindsym $mod+p exec passrofi

# Pavucontrol
bindsym $mod+Mod1+p exec pavucontrol

# Screenshot tool (Mod1 is Alt)
# (Uses our custom screenshot tool ~/bin/wlscreenshot.)
bindsym Print exec wlscreenshot screen
bindsym Mod1+Print exec wlscreenshot window

# Quick screenshots (saved directly without editing)
bindsym Ctrl+Print exec wlscreenshot --quick screen
bindsym Ctrl+Mod1+Print exec wlscreenshot --quick window

# Open file browser
# TODO: A keybinding to open a file browser in floating mode would be good. THis doesn't work
#   with Nemo because it always runs in a shared process, so using "--name=" only works for the
#   first window and is applied to all other windows as well. Maybe a different file browser?)
# TODO: Keybind? n, b, o?
bindsym $mod+n exec nemo

# Emoji selector
bindsym $mod+m exec rofi -show emoji


# WINDOW RULES
# ~~~~~~~~~~~~

# Floating terminal windows (depends on terminal emulator)
for_window [app_id="^(kitty|sakura)-floating$"] floating enable

# Pavucontrol: Always floating
for_window [app_id="^org.pulseaudio.pavucontrol$"] floating enable

# Flameshot: Always floating
for_window [app_id="^flameshot$"] floating enable, fullscreen disable
