Files
kutu.rb/src/ruby/commands.rb
T
2025-10-29 17:27:23 +00:00

30 lines
820 B
Ruby

def handle_command(command)
reply = {}
command_parts = command.split(" ")
command = command_parts[0]
args = command_parts[1..-1]
case command
when "get-ws"
monitor = args[0] ? $monitors[args[0].to_sym] : current_monitor
return reply if monitor.nil?
reply[:workspace] = monitor[:selected_workspace]
reply[:monitor] = $monitors.key(monitor)
reply[:count] = monitor[:workspaces].length
when "set-ws"
monitor = args[1] ? $monitors[args[1].to_sym] : current_monitor
return reply if monitor.nil?
select_workspace args[0].to_i, monitor
reply[:workspace] = monitor[:selected_workspace]
reply[:monitor] = $monitors.key(monitor)
reply[:count] = monitor[:workspaces].length
when "topped"
reply[:topped] = $topped_windows
when "stop"
exit 1
end
reply
end