summaryrefslogtreecommitdiff
path: root/alot/commands/bufferlist.py
blob: 3850e4e3258fa5ccd0c6fdd0c2517ca80df5c8ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# Copyright (C) 2011-2012  Patrick Totzke <patricktotzke@gmail.com>
# Copyright © 2018 Dylan Baker
# This file is released under the GNU GPL, version 3 or a later revision.
# For further details see the COPYING file

from .          import globals
from ..commands import Command, registerCommand

MODE = 'bufferlist'


@registerCommand(MODE, 'open')
class BufferFocusCommand(Command):
    """focus selected buffer"""
    def apply(self, ui):
        selected = ui.current_buffer.get_selected_buffer()
        ui.buffer_focus(selected)


@registerCommand(MODE, 'close')
class BufferCloseCommand(Command):
    """close focussed buffer"""

    async def apply(self, ui):
        bufferlist = ui.current_buffer
        selected = bufferlist.get_selected_buffer()
        await ui.apply_command(globals.BufferCloseCommand(buffer=selected))
        if bufferlist is not selected:
            bufferlist.rebuild()
        ui.update()