aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/modules/workstation/ui/i3/core/tools/i3-move.nix
blob: bb724d88bbe0044a31bbbb90642bb7387ac0d973 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/**    A utility script to move a window to a workspace
 *
 *  This tool relies on i3-msg, jq, and dmenu to move a window to a
 *  different workspace.  In the future, maybe the display mechanism
 *  (dmenu) could be made configurable, so not to rely on nazi code.
 */

{ pkgs, ... }: with pkgs; writeShellScript "libkookie-i3-move" ''
  WS=$(${i3}/bin/i3-msg -t get_workspaces | \
    ${jq}/bin/jq -M '.[] | .name' | tr -d '"' \
    | sort -u | ${dmenu}/bin/dmenu -b -i "$@")
  

  ${i3}/bin/i3-msg -t command move workspace $WS
  ${i3}/bin/i3-msg workspace $WS
''