CommandLine:
            # List windows
            wmctrl -l
            # List desktops
            wmctrl -d

            # Window info
            xwininfo -id 60817412

            python -m utool.util_ubuntu XCtrl.move_window joncrall 0+1920,680,400,600,400
            python -m utool.util_ubuntu XCtrl.move_window joncrall [0,0,1000,1000]
            python -m utool.util_ubuntu XCtrl.move_window GVIM special2
            python -m utool.util_ubuntu XCtrl.move_window joncrall special2
            python -m utool.util_ubuntu XCtrl.move_window x-terminal-emulator.X-terminal-emulator [0,0,1000,1000]

        # >>> import utool as ut
        # >>> from utool import util_ubuntu
        # >>> orig_window = []
        # >>> X = util_ubuntu.XCtrl
        win_key =  'x-terminal-emulator.X-terminal-emulator'
        win_id = X.findall_window_ids(key)[0]

        python -m utool.util_ubuntu XCtrl.findall_window_ids gvim --src

def move_window(win_key, bbox):
        """
        CommandLine:
            # List windows
            wmctrl -l
            # List desktops
            wmctrl -d

            # Window info
            xwininfo -id 60817412

            python -m utool.util_ubuntu XCtrl.move_window joncrall 0+1920,680,400,600,400
            python -m utool.util_ubuntu XCtrl.move_window joncrall [0,0,1000,1000]
            python -m utool.util_ubuntu XCtrl.move_window GVIM special2
            python -m utool.util_ubuntu XCtrl.move_window joncrall special2
            python -m utool.util_ubuntu XCtrl.move_window x-terminal-emulator.X-terminal-emulator [0,0,1000,1000]

        # >>> import utool as ut
        # >>> from utool import util_ubuntu
        # >>> orig_window = []
        # >>> X = util_ubuntu.XCtrl
        win_key =  'x-terminal-emulator.X-terminal-emulator'
        win_id = X.findall_window_ids(key)[0]

        python -m utool.util_ubuntu XCtrl.findall_window_ids gvim --src

        """
        import utool as ut
        import plottool as pt  # NOQA
        import plottool.screeninfo as screeninfo
        monitor_infos = {
            i + 1: screeninfo.get_resolution_info(i)
            for i in range(2)
        }
        # TODO: cut out borders
        # TODO: fix screeninfo monitor offsets
        # TODO: dynamic num screens
        def rel_to_abs_bbox(m, x, y, w, h):
            """ monitor_num, relative x, y, w, h """
            minfo = monitor_infos[m]
            # print('minfo(%d) = %s' % (m, ut.repr3(minfo),))
            mx, my = minfo['off_x'], minfo['off_y']
            mw, mh = minfo['pixels_w'], minfo['pixels_h']
            # Transform to the absolution position
            abs_x = (x * mw) + mx
            abs_y = (y * mh) + my
            abs_w = (w * mw)
            abs_h = (h * mh)
            abs_bbox = [abs_x, abs_y, abs_w, abs_h]
            abs_bbox = ','.join(map(str, map(int, abs_bbox)))
            return abs_bbox

        if win_key.startswith('joncrall') and bbox == 'special2':
            # Specify the relative position
            abs_bbox = rel_to_abs_bbox(m=2,
                                       x=0.0, y=0.7,
                                       w=1.0, h=0.3)
        elif win_key.startswith('GVIM') and bbox == 'special2':
            # Specify the relative position
            abs_bbox = rel_to_abs_bbox(m=2,
                                       x=0.0, y=0.0,
                                       w=1.0, h=0.7)
        else:
            abs_bbox = ','.join(map(str, eval(bbox)))

        print('MOVING: win_key = %r' % (win_key,))
        print('TO: abs_bbox = %r' % (abs_bbox,))
        # abs_bbox.replace('[', '').replace(']', '')
        # get = lambda cmd: ut.cmd2(' '.join(["/bin/bash", "-c", cmd]))['out']  # NOQA
        win_id = XCtrl.find_window_id(win_key, error='raise')
        print('MOVING: win_id = %r' % (win_id,))
        fmtdict = locals()
        cmd_list = [
            ("wmctrl -ir {win_id} -b remove,maximized_horz".format(**fmtdict)),
            ("wmctrl -ir {win_id} -b remove,maximized_vert".format(**fmtdict)),
            ("wmctrl -ir {win_id} -e 0,{abs_bbox}".format(**fmtdict)),
        ]
        print('\n'.join(cmd_list))
        for cmd in cmd_list:
            ut.cmd2(cmd)