KR20150038724A - 향상된 창 상태를 이용한 디스플레이 영역의 배열 - Google Patents

향상된 창 상태를 이용한 디스플레이 영역의 배열 Download PDF

Info

Publication number
KR20150038724A
KR20150038724A KR20157007302A KR20157007302A KR20150038724A KR 20150038724 A KR20150038724 A KR 20150038724A KR 20157007302 A KR20157007302 A KR 20157007302A KR 20157007302 A KR20157007302 A KR 20157007302A KR 20150038724 A KR20150038724 A KR 20150038724A
Authority
KR
South Korea
Prior art keywords
display area
dock
state
width
window
Prior art date
Application number
KR20157007302A
Other languages
English (en)
Other versions
KR101608183B1 (ko
Inventor
데이비드 에이. 매튜스
모하메드 에이.엠. 사덱
스테판 호프나겔스
이반 브루지올로
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20150038724A publication Critical patent/KR20150038724A/ko
Application granted granted Critical
Publication of KR101608183B1 publication Critical patent/KR101608183B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • G06F9/4443
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

디스플레이 영역을 원래의 상태로부터 일련의 향상된 창 상태들 중 하나의 상태로 전환시킴으로써 GUI 작업공간 상에서 디스플레이 영역들 조작하는 컴퓨터-판독가능 매체, 컴퓨터화된 방법 및 사용자 인터페이스(UI)가 제공된다. 먼저, 디스플레이 영역을 크기 조정하는 표시가 운영 체제에 수신되고, 그 결과 운영 체제는 적절한 창 상태를 호출한다. 이 표시는 디스플레이 영역의 경계를 포착하여 그 경계를 도크-타겟 영역으로 수직으로 드래그함으로써 수직으로 최대화된 상태를 호출하는 것을 포함한다. 그에 따라, 수직으로 최대화된 상태의 구성 설정들이 적용됨으로써 디스플레이 영역이 대략 스크린 높이까지 연장된다. 다른 경우에, 이 표시는 디스플레이 영역을 포착하여 디스플레이 영역을 도크-타겟 영역 내로 드래그함으로써 반폭-확대된 상태를 호출하는 것을 포함할 수 있다. 반폭-최대화된 상태의 구성 설정들이 적용되어, 사전 정의된 GUI 작업공간 영역을 대략 덮도록 디스플레이 영역을 확장한다.

Description

향상된 창 상태를 이용한 디스플레이 영역의 배열{ARRANGING DISPLAY AREAS UTILIZING ENHANCED WINDOW STATES}
현재, 운영 체제들은 디스플레이 장치(예를 들어, 컴퓨터 모니터, 모바일 장치 상의 스크린, 기타)에서 제시되는 GUI 작업공간 내에 디스플레이 영역(예를 들어, 창)을 여는 각종의 유틸리티들을 제공한다. 종종, GUI 작업공간이 어수선하게 되어, 각각의 창을 전체적으로 보여주기에 불충분한 공간을 남긴다. 입력 장치(예를 들어, 마우스 또는 키보드)를 이용하여 창들을 배열함으로써 이러한 어수선함이 감소될 수 있다. 통상적으로, 배열하는 것은 GUI 작업공간과 관련하여 창의 속성들을 조정(창의 크기 조정 및 위치 조정 등)함으로써 사용자들이 특정의 작업을 하고 있는 동안에 각각의 창 내의 컨텐츠 또는 기타 정보를 효율적으로 인지할 수 있게 해주는 것을 포함한다. 그렇지만, 창들을 재배열하는 것을 달성하기 위해서는 입력 장치를 여러번 클릭하고 정확하게 이동시켜야만 한다. 그에 따라, 창들을 배열하는 것이 매끄럽거나 유연하지 않으며, 입력 장치 작동의 양이 컴퓨팅 효율성을 떨어뜨린다. 게다가, 통상적인 사용자는 GUI 작업공간 내의 디스플레이 영역들을 빈번히 재배열시키며, 따라서 현재의 기법들에 따르면 디스플레이 영역들을 배열하는 것의 번거로움이 과대하게 된다.
때때로, 디스플레이 영역들을 배열하는 현재의 기법들을 회피하는 데 도움을 주기 위해 작동 장치들이 제공된다. 작동 장치들은 통상적으로 GUI 작업공간 상에서 눈에 보이며 활성화 시에 창 상태들을 트리거한다. 창 상태들은 일군의 선택된 공통의 디스플레이 영역 크기들(예를 들어, 최소화됨, 최대화됨 및 복원됨)로 제한된다. 디스플레이 영역을 다른 크기로 전환하려면 현재의 번거로운 기법들을 이용하여 디스플레이 영역들을 배열해야 한다. 그에 따라, 공통의 디스플레이 영역 크기들에 액세스하는 일이 단지 몇가지 경우들을 위해서만 예비되어 있다. 또한, 눈에 보이는 작동 장치들이 GUI 디스플레이를 더욱 어수선하게 만듦으로써, 사용자가 디스플레이 영역들 내의 컨텐츠에 집중하지 못하게 된다.
<요약>
이 요약은 이하에서 상세한 설명에 더 기술되는 일련의 개념들을 간략화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니며, 청구된 발명 대상의 범위를 정하는 데 보조 수단으로 사용되기 위한 것도 아니다.
본 발명의 실시예들은, 운영 체제에 존재하는, 하나 이상의 디스플레이 장치들 상에 제시되는 GUI 작업공간 상의 디스플레이 영역들을 관리 및 조작하는 컴퓨터화된 방법, 사용자 인터페이스(UI), 및 컴퓨터-실행가능 명령어들이 구현되어 있는 컴퓨터-판독가능 매체를 제공한다. 상세하게는, 디스플레이 영역의 원래의 상태를 일련의 향상된 창 상태들 중 하나의 상태로 전환함으로써 디스플레이 영역들을 배열하는 직관적인 기법들이 제공된다.
먼저, 디스플레이 영역을 크기 조정하는 표시(indication to resize)가 운영 체제에 수신된다. 통상적으로, 디스플레이 영역은 운영 체체에 결합되어 동작하는, 디스플레이 장치 상에 렌더링되는 GUI(graphical user interface) 작업영역에 존재한다. 크기 조정하는 표시가 다양한 사용자-개시 동작들(user-initiated actions)을 포함할 수 있다. 이 동작들 각각은 일련의 창 상태들 중 트리거된 상태를 호출하며, 이 경우 트리거된 상태는 특정의 구성 설정들과 연관되어 있다. 일련의 창 상태들은 제한된 사용자-개시 동작들에 의해 디스플레이 영역을 크기 조정하도록 구성되어 있으며, 따라서 디스플레이 영역이 이용가능한 공간 내에 재치있게 배열된다.
그에 부가하여, 적절한 구성 설정들이 디스플레이 영역에 적용되고, 그에 따라 디스플레이가 원래의 상태로부터 트리거된 상태로 전환된다. 한 경우에, 크기 조정하는 표시가 디스플레이 영역의 경계(edge)를 포착하여 그 경계를 GUI 작업공간의 경계에 위치한 도크-타겟 영역(dock-target region)으로 수직으로 드래그하는 것을 포함한다. 이 경우에, 수직으로 최대화된 상태(vertically-maximized state)가 일련의 창 상태들 중에서 선택된 트리거된 상태이다. 그에 따라, 수직으로 최대화된 상태의 구성 설정들이 디스플레이 영역에 적용됨으로써, 디스플레이 영역을 대략 스크린 높이까지 연장시킨다. 다른 경우에, 크기 조정하는 표시가 디스플레이 영역을 포착하여 커서 도구를 GUI 작업공간의 좌측 또는 우측 경계에 위치한 도크-타겟 영역 내로 드래그하는 것을 포함한다. 이 경우에, 반폭-최대화된 상태(semi-maximized state)가 일련의 창 상태들 중에서 선택된 트리거된 상태이다. 그에 따라, 반폭-최대화된 상태의 구성 설정들이 디스플레이 영역에 적용됨으로써, 디스플레이 영역을 GUI 작업공간의 대략 절반 상에 렌더링한다. 그에 따라, 본 발명의 실시예들은, 부분적으로, 창 상태들 간의 이동이 빠르고(예를 들어, 마우스가 움직이는 거리가 더 작음, 더 적은 횟수의 클릭) 직관적이도록 GUI 작업공간에 거동들을 추가하는 방식에 관한 것이다. 그에 부가하여, 본 발명의 특징은 디스플레이 영역의 유형들을 증가시켜 사전 정의된 창 상태들에 액세스할 기회를 더 많이 제공하는 것이다.
첨부 도면들을 참조하여 이하에서 본 발명에 대해 상세히 기술한다.
도 1은 본 발명의 실시예들을 구현하는 데 사용하기 적당한 예시적인 컴퓨팅 환경의 블록도.
도 2는 본 발명의 일 실시예에 따른, 본 발명의 실시예들을 구현하는 데 사용하기 적당한 예시적인 시스템 아키텍처의 개략도.
도 3은 본 발명의 일 실시예에 따른, 도크-타겟 영역들을 이용하여 디스플레이 영역을 반폭-최대화된 상태(semi-maximized state)와 복원된 상태(restored state) 사이에서 전환시키는 방법을 전체적으로 나타낸 흐름도.
도 4는 본 발명의 일 실시예에 따른, GUI(graphical user interface) 작업공간 상에 디스플레이 영역을 배열하는 방법을 전체적으로 나타낸 흐름도.
도 5 내지 도 10은 본 발명의 실시예들에 따른, 예시적인 디스플레이 영역들을 원래의 상태, 트리거된 상태 및 복원된 상태 사이에서 전환시키는 단계들을 나타낸 점진적 스크린 디스플레이들을 나타낸 도면.
도 11은 본 발명의 일 실시예에 따른, 디스플레이 영역의 창 상태에 영향을 미치는 도크-타겟 영역들을 구비한 예시적인 GUI 디스플레이의 개략도.
법적 요건들을 만족시키기 위해 발명 대상이 본 명세서에 구체적으로 기술되어 있다. 그렇지만, 그 설명 자체가 이 특허의 범위를 제한하기 위한 것은 아니다. 오히려, 발명자들은, 현재 또는 장래의 다른 기술들과 함께, 이 문서에 기술된 단계들과 다른 단계들 또는 이 문서에 기술된 단계들과 유사한 단계들의 조합들을 포함시키기 위해, 청구된 발명 대상이 다른 방식들로도 구현될 수 있다는 것을 생각하고 있다. 게다가, "단계" 및/또는 "블록"이라는 용어들이 이용되는 방법들의 서로 다른 구성요소들을 암시하기 위해 본 명세서에서 사용될 수 있지만, 개별 단계들의 순서가 명시적으로 기술되어 있지 않은 한 또 그러한 경우를 제외하고는, 이들 용어가 본 명세서에 개시된 다양한 단계들 사이에 임의의 특정의 순서를 암시하는 것으로 해석되어서는 안된다.
본 발명의 실시예들은, 운영 체제에 존재하는, 하나 이상의 디스플레이 장치들 상에 제시되는 GUI 작업공간 상의 디스플레이 영역들을 관리 및 조작하는 컴퓨터화된 방법, UI, 및 컴퓨터-실행가능 명령어들이 구현되어 있는 컴퓨터-판독가능 매체를 제공한다.
따라서, 한 측면에서, 본 발명의 실시예들은, 실행될 때, 스크린 높이(screen height) 및 스크린 폭(screen width)으로 특징지워지는 GUI 작업공간 상에 디스플레이 영역(display area)을 배열하는 방법을 수행하는 컴퓨터-실행가능 명령어들이 구현되어 있는 하나 이상의 컴퓨터-판독가능 매체를 제공한다. 먼저, 이 방법은 GUI 작업공간 상에 제시되는 디스플레이 영역을 크기 조정하는 하나 이상의 표시들을 수신하는 단계를 포함한다. 한 경우에, 그 표시들은 디스플레이 영역을 크기 조정하기 위해 수직으로 최대화된 상태(vertically-maximized state)를 선택할 수 있다. 그 표시들이 수직으로 최대화된 상태를 선택하는 경우, 수직으로 최대화된 상태와 관련된 구성 설정들이 디스플레이 영역에 적용된다. 일반적으로, 수직으로 최대화된 상태의 구성 설정들은 수직 치수(vertical dimension) 및 수평 치수(horizontal dimension)를 포함한다. 실시예들에서, 수직 치수는 대략 스크린 높이에 대응하고, 수평 치수는 스크린 폭보다 작다. 그에 따라, 디스플레이 영역은, 디스플레이 영역의 창 높이(window height)가 수직으로 최대화된 상태의 수직 치수에 따라 GUI 작업공간 상에 렌더링되도록, 수직으로 최대화된 상태로 자동으로 전환된다.
다른 양태에서, 반폭-최대화된 상태와 복원된 상태 사이에서 디스플레이 영역을 전환시키는 컴퓨터화된 방법이 제공된다. 실시예들에서, GUI 작업공간 상의 하나 이상의 도크-타겟 영역들(dock-target regions)이 이용된다. GUI 작업공간은 GUI 작업공간의 수평 경계들 사이에서 측정된 스크린 높이, 및 GUI 작업공간의 수직 경계들 사이에서 측정된 스크린 폭을 포함한다. 먼저, 이 방법은 GUI 작업공간 내에서의 커서 도구의 움직임을 추적하는 단계를 포함하며, 여기서 GUI 작업공간은 디스플레이 영역을 원래의 상태로 제시하도록 구성되어 있다. 커서 도구로 디스플레이 영역을 포착하는 표시(indication of capturing)가 수신된다. 포착하는 표시를 수신한 것에 수반하여, 적어도 GUI 작업공간의 수평 경계들 또는 수직 경계들 중 하나에 인접하여 도크-타겟 영역들이 구성된다. 예시적인 실시예에서, 도크-타겟 영역들 각각 내의 스크린 영역이 식별된 입력 장치의 유형에 따라 구축되도록, 포착하는 표시를 제공하는 입력 장치의 유형이 식별된다. 그에 부가하여, 도크-타겟 영역들 각각은 일련의 창 상태들 중 하나의 창 상태와 연관되어 있다. 디스플레이 영역이 포착되어 있는 동안 커서 도구의 추적된 움직임을 이용하여, 커서 도구가 도크-타겟 영역들 내에 들어갔는지 여부의 판정이 행해진다. 커서 도구가 도크-타겟 영역들 내에 들어간 것으로 판정한 것에 수반하여, 디스플레이 영역이 원래의 상태로부터 트리거된 상태로 자동으로 전환된다. 일반적으로, 트리거된 상태는 들어간 도크-타겟 영역들과 연관된 일련의 창 상태들 중 하나의 창 상태에 대응한다.
또 다른 양태에서, 본 발명의 실시예들은 GUI 작업공간 상에 디스플레이 영역을 배열하는 특징들을 생성하도록 구성된 사용자 인터페이스를 디스플레이 장치 상에 제시하는 컴퓨터-실행가능 명령어들이 구현되어 있는 컴퓨터-판독가능 매체에 관한 것이다. 통상적으로, 이 특징들은 커서 도구를 이용하여 디스플레이 영역을 드래그함으로써 작동된다. 일반적으로, 사용자 인터페이스는 GUI 작업공간, 상부 도크-타겟 영역, 하부 도크-타겟 영역, 우측 도크-타겟 영역, 및 좌측 도크-타겟 영역을 포함한다. GUI 작업공간은 수평 경계들 및 수직 경계들을 포함하며, 여기서 스크린 파라미터들이 GUI 작업공간으로부터 도출된다. 한 경우에, 스크린 파라미터들은 수평 경계들 사이에서 측정된 스크린 높이, 및 수직 경계들 사이에서 측정된 스크린 폭을 포함한다. 수직 경계들은 좌측 경계 및 우측 경계를 포함할 수 있고, 수평 경계들은 상부 경계 및 하부 경계를 포함할 수 있다. 상부 도크-타겟 영역은 상부 경계 및 상부 경계에 대해 거의 평행하게 떨어져 있는 관계(parallel-spaced relation)로 있는 제1 트리거 라인(trigger line)에 의해 정의된다. 하부 도크-타겟 영역은 하부 경계 및 하부 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제2 트리거 라인에 의해 정의된다. 우측 도크-타겟 영역은 우측 경계 및 우측 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제3 트리거 라인에 의해 정의된다. 좌측 도크-타겟 영역은 좌측 경계 및 좌측 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제4 트리거 라인에 의해 정의된다. 예시적인 실시예에서, 상부 도크-타겟 영역 및 하부 도크-타겟 영역 내의 스크린 영역들은 최대화된 상태의 구성 설정들에 매핑되고, 우측 도크-타겟 영역 및 좌측 도크-타겟 영역 내의 스크린 영역들은 반폭-최대화된 상태의 구성 설정들에 매핑된다.
일반적으로, 본 발명의 실시예들은 원래의 상태와 트리거된 상태 사이에서 디스플레이 영역을 전환시키는 것에 관한 것이다. 앞서 기술한 바와 같이, 트리거된 상태는 들어간 도크-타겟 영역과 연관된 일련의 창 상태들 중 하나의 창 상태에 대응한다. 일 실시예에서, 크기 조정하는 표시는 일련의 창 상태들 중에서 선택된 수직으로 최대화된 상태인 트리거된 상태를 호출한다. 본 명세서에서 사용되는 바와 같이, "수직으로 최대화된 상태"라는 어구는 제한하기 위한 것이 아니며, 디스플레이 영역을 대략 스크린 높이까지 연장시키는 상태라면 어느 것이라도 포괄할 수 있다. 한 경우에, 커서 도구에 의한 디스플레이 영역의 상부 또는 하부 경계의 사용자-개시 선택(user-initiated selection)(예를 들어, 디스플레이 영역의 경계를 포착하는 것), 및 그 경계가 포착된 채로 있는 동안에, 커서 도구가 상부 또는 하부 도크-타겟 영역 내로 움직이는 것을 검출할 시에 수직으로 최대화된 상태가 호출된다. 수직으로 최대화된 상태가 호출된 것을 인식할 때, 수직으로 최대화된 상태를 정의하는 구성 설정들이 디스플레이 영역에 적용된다. 실시예들에서, 구성 설정들을 적용하는 것은 선택된 경계의 반대쪽에 있는 경계가 스냅-스타일 조정(snap-style adjustment)에서 커서 도구가 들어간 도크-타겟 영역과 정반대쪽에 있는(orthogonally opposed) 도크-타겟 영역까지 확장되도록 지시한다. 그에 따라, 수직으로 최대화된 상태에서, 디스플레이 영역은 거의 스크린 높이의 창 높이를 갖는 반면, 창 폭은 일정하게 유지된다.
다른 경우에서, 수직으로 최대화된 상태를 호출하는 표시는 커서 도구에 의한 작동 장치(actuation device)(예를 들어, 디스플레이 영역의 경계들에 근접한 상부 및 하부 크기 조정 바)에서의 선택이다. 예시적인 실시예에서, 작동 장치가 숨겨져 있다(예를 들어, GUI 작업공간 상에서 중요하지 않음). 그에 따라, 이 방식은 GUI 작업공간 상에 어수선함(clutter) 및 복잡함(complexity)을 야기하는 새로운 버튼들 또는 아이콘들을 디스플레이 영역에 추가하는 것을 회피한다. 또 다른 경우에, 수직으로 최대화된 상태를 호출하는 표시는 키 패드에서 작동되는 키스트로크 시퀀스(keystroke sequence) 또는 단축키(shortcut key)(들)이다. 디스플레이 영역을 수직으로 최대화된 상태로 크기 조정하는 표시의 3가지 서로 다른 구성들에 대해 기술하였지만, 크기 조정하는 다른 표시들이 사용될 수 있고 또 본 발명이 도시되고 기술된 그 표시들로 제한되지 않는다는 것을 잘 알 것이다.
다른 실시예에서, 크기 조정하는 표시는 일련의 창 상태들 중에서 선택된 반폭-최대화된 상태(semi-maximized state)인 트리거된 상태를 호출한다. 본 명세서에서 사용되는 바와 같이, "반폭-최대화된 상태"라는 어구는 제한하기 위한 것이 아니며, GUI 작업공간의 미리 정해진 부분에 걸쳐 뻗어 있도록 디스플레이 영역을 크기 조정하고 위치시키는 상태라면 어느 것이라도 포괄할 수 있다. 예시적인 실시예에서, 반폭-최대화된 상태를 정의하는 구성 설정들은 GUI 작업공간의 스크린 높이에 대응하는 수직 치수, 및 스크린 폭의 비율에 대응하는 수평 치수를 포함한다. 통상적으로, 그 비율은 스크린 폭의 1/2이며, 그에 따라 디스플레이 영역을 스크린의 우반부 또는 좌반부 중 어느 하나 상에 반폭-최대화된 상태로 제시한다. 그렇지만, GUI 작업공간의 크기, GUI 인터페이스를 제시하기 위해 협동하여 동작하는 디스플레이 장치들의 수, 사용자 환경설정, 및 GUI 작업공간의 구성에 영향을 미치는 임의의 다른 기준들에 의존할 수 있는 기타 비율들이 사용될 수 있다.
한 경우에, 커서 도구에 의한 디스플레이 영역의 사용자-개시 선택[예를 들어, 디스플레이 영역의 헤더 바(header bar)를 포착하는 것], 및 경계가 포착된 채로 있는 동안에, 커서 도구가 좌측 또는 우측 도크-타겟 영역 내로 움직이는 것을 검출할 시에 수직으로 최대화된 상태가 호출된다. 반폭-최대화된 상태가 호출된 것을 인식할 때, 전술한 바와 같이, 반폭-최대화된 상태를 정의하는 구성 설정들이 디스플레이 영역에 적용된다. 그에 따라, 반폭-최대화된 상태에서, 디스플레이 영역은 GUI 작업공간의 미리 정해진 부분을 채우며, 그에 따라 창들을 GUI 작업공간 상에서 편리한 배향으로 신속하게 배열하는 것(예를 들어, 개개의 디스플레이 영역들에 나란히 디스플레이된 2개의 문서를 보는 것)을 용이하게 해준다.
다른 경우에서, 수직으로 최대화된 상태를 호출하는 표시는 커서 도구에 의한 작동 장치(예를 들어, 디스플레이 영역의 경계들에 근접해 있는 우측 또는 좌측 크기 조정 바)에서의 선택이다. 앞서 기술한 바와 같이, 작동 장치가 사용자의 눈에 잘 띄지 않도록 디스플레이될 수 있다. 또 다른 경우에, 반폭-최대화된 상태를 호출하는 표시는 키스트로크 시퀀스(keystroke sequence)이다. 디스플레이 영역을 반폭-최대화된 상태로 크기 조정하는 표시의 3가지 서로 다른 구성들에 대해 기술하였지만, 크기 조정하는 다른 표시들이 사용될 수 있고 또 본 발명이 도시되고 기술된 그 표시들로 제한되지 않는다는 것을 잘 알 것이다.
2가지 서로 다른 최적의 창 상태들에 대해 이상에서 기술하였지만, 당업자라면 도크-타겟 영역을 트리거할 시에 사용자 효율성을 개선시키는 창 상태들(예를 들어, 최대화된 상태)이 호출될 수 있다는 것과 본 발명의 실시예들이 도시되고 기술된 그 창 상태들로 제한되지 않는다는 것을 잘 알 것이다.
예시적인 실시예들에서, 커서 도구 또는 커서 도구의 팁(tip)이 도크-타겟 영역에 들어갈 때, 디스플레이 영역의 트리거된 상태를 호출하는 데 도크-타겟 영역들이 이용가능하게 된다. 다른 대안으로서, 커서 도구가 도크-타겟 영역을 빠져 나갈 때, 디스플레이 영역의 복원된 상태가 호출될 수 있고, 이 경우 복원된 상태는 트리거된 상태로 전환되기 전의 디스플레이 영역의 원래의 상태에 대응한다. 본 명세서에서 사용되는 바와 같이, "도크-타겟 영역"은 제한하기 위한 것이 아니며, 창 상태들 간의 전환을 실시하기 위해 구축된 GUI 작업공간 상의 영역이라면 어느 것이라도 포괄할 수 있다. 예시적인 실시예에서, 앞서 기술한 바와 같이, 각각의 도크-타겟 영역은 커서가 도크-타겟 영역에 들어갈 때 트리거되는 특정의 창 상태와 연관되어 있다. 구조적으로, 도크-타겟 영역들은 GUI 작업공간 내의 임의의 스크린 영역(예를 들어, 기하학적 형상의 섹션)을 둘러싸고 있을 수 있다. 그에 부가하여, 둘러싸인 스크린 영역이 GUI 작업공간의 경계에 고정되어 있거나, 중앙에 위치하거나, 임의의 다른 장소에 구축될 수 있다.
일반적으로, 도크-타겟 영역의 둘러싸인 스크린 영역은 GUI 작업공간의 경계 및 트리거 라인(trigger line)에 의해 정의된다. 통상적으로, 트리거 라인은 커서 도구가 트리거 라인을 지나갔는지 여부를 검출하는 문턱값으로서 기능하는, 눈에 보이지 않는 사용자-인터페이스 특징이다. 트리거 라인은 직선(예를 들어, 경계에 대해 거의 평행하게 떨어져 있는 관계로 있을 수 있음)일 수 있거나, 운영 체제에 의해 구성되는 임의의 다른 경로를 따라갈 수 있다. 예시적인 실시예에서, 트리거 라인의 배향은 디스플레이 영역을 크기 조정하는 표시를 제공하는 입력 장치의 유형에 의해 영향을 받는다. 예를 들어, 경계와 트리거 라인 사이의 둘러싸인 스크린 영역의 깊이(depth)(예를 들어, 픽셀 단위로 측정됨)가 입력 장치의 유형에 따라 조정된다. 단지 예시로서, 입력 장치가 마우스인 경우, 둘러싸인 스크린 영역의 깊이가 감소되는데, 그 이유는 마우스가 커서 도구보다 정밀한 위치 제어를 실행하기 때문이다. 즉, 커서 도구의 팁이 GUI 작업공간의 경계를 따라 있는 좁은 도크-타겟 영역 내에 위치될 수 있으며, 따라서 사용자에게 더 큰 중앙 작업 영역을 제공한다. 그렇지만, 입력 장치가 터치-스크린 패널인 경우, 트리거 라인의 위치가 경계로부터 바깥쪽으로 위치하는데, 그 이유는 터치 스크린에 입력을 제공하는 방법들이, 특히 GUI 작업공간의 경계에서, 부정확하기 때문이다. 그에 따라, 트리거 라인을 조정하는 기법이 다양한 식별된 입력 장치의 유형들에 적응할 수 있는 안정적인 창-상태 조작 도구를 증진시킨다.
본 발명의 실시예들 및 본 발명의 특징을 이루는 창 상태들 중 몇몇의 개요를 간략하게 기술하였으며, 본 발명을 구현하는 데 적합한 예시적인 동작 환경에 대해 이하에서 기술한다.
전체적으로 첨부 도면들을 참조하고 먼저 특히 도 1을 참조하면, 본 발명의 실시예들을 구현하는 예시적인 동작 환경이 도시되어 있으며 전체적으로 컴퓨팅 장치(100)로서 나타내어져 있다. 컴퓨팅 장치(100)는 적당한 컴퓨팅 환경의 일례에 불과하며 본 발명의 용도 또는 기능의 범위에 관한 어떤 제한을 암시하기 위한 것이 아니다. 컴퓨팅 장치(100)가 예시된 컴포넌트들 중 어느 하나 또는 예시된 컴포넌트들의 임의의 조합에 관한 어떤 의존관계 또는 요구조건을 갖는 것으로 해석되어서도 안된다.
본 발명은 일반적으로 컴퓨터 또는 기타 기계[PDA(personal data assistant) 또는 기타 핸드헬드 장치 등]에 의해 실행되는 프로그램 컴포넌트들과 같은 컴퓨터 실행가능 명령어들을 비롯한 컴퓨터 코드 또는 기계-사용가능 명령어들과 관련하여 기술될 수 있다. 일반적으로, 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조, 기타 등등을 포함하는 프로그램 컴포넌트들은 특정의 태스크들을 수행하거나 특정의 추상 데이터 유형들을 구현하는 코드를 말한다. 본 발명의 실시예들은 핸드헬드 장치, 가전 제품, 범용 컴퓨터, 전용 컴퓨팅 장치(specialty computing device), 기타 등등을 비롯한 각종의 시스템 구성들에서 실시될 수 있다. 본 발명의 실시예들은 또한 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있다.
계속하여 도 1을 참조하면, 컴퓨팅 장치(100)는 메모리(112), 하나 이상의 프로세서들(114), 하나 이상의 프리젠테이션 컴포넌트들(presentation components)(116), 입/출력(I/O) 포트들(118), I/O 컴포넌트들(120), 및 예시적인 전원 공급 장치(122)를 직접 또는 간접적으로 연결시키는 버스(110)를 포함하고 있다. 버스(110)는 하나 이상의 버스일 수 있는 것(주소 버스, 데이터 버스, 또는 이들의 조합 등)을 나타낸다. 도 1의 다양한 블록들이 명확함을 위해 선으로 나타내어져 있지만, 실제로는, 다양한 컴포넌트들을 구분하는 것이 그렇게 명확하지 않으며, 비유적으로 말하면, 이들 선은 보다 정확하게는 애매모호하다(grey and fuzzy). 예를 들어, 디스플레이 장치와 같은 프리젠테이션 컴포넌트(presentation component)를 I/O 컴포넌트라고 생각할 수 있다. 또한, 프로세서들은 메모리를 갖는다. 본 발명의 발명자들은 이러한 것이 기술의 본질임을 잘 알 것이며, 다시 말하지만 도 1의 도면은 단지 본 발명의 하나 이상의 실시예들과 관련하여 사용될 수 있는 예시적인 컴퓨팅 장치를 나타낸 것에 불과하다. "워크스테이션", "서버", "랩톱", "핸드헬드 장치", 기타 등등의 카테고리들 간에 구별을 두지 않는데, 그 이유는 이들 모두가 도 1의 범위 내에 속하는 것으로 생각되고 "컴퓨터" 또는 "컴퓨팅 장치"를 말하는 것이기 때문이다.
컴퓨팅 장치(100)는 통상적으로 각종의 컴퓨터-판독가능 매체를 포함하고 있다. 제한이 아닌 일례로서, 컴퓨터-판독가능 저장 매체로는 RAM(Random Access Memory), ROM(Read Only Memory), EEPROM(Electronically Erasable Programmable Read Only Memory), 플래쉬 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 또는 홀로그래픽 매체, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 반송파 또는 원하는 정보를 인코딩하는 데 사용될 수 있고 또 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 다른 매체가 있을 수 있다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 메모리는 이동식, 비이동식, 또는 이들의 조합일 수 있다. 예시적인 하드웨어 장치로는 고상 메모리(solid-state memory), 하드 드라이브, 광 디스크 드라이브, 기타가 있다. 컴퓨팅 장치(100)는 메모리(112) 또는 I/O 컴포넌트들(120)과 같은 다양한 개체들로부터 데이터를 판독하는 하나 이상의 프로세서들을 포함한다. 프리젠테이션 컴포넌트(들)(116)는 사용자 또는 기타 장치에 데이터 표시(data indication)를 제공한다. 예시적인 프리젠테이션 컴포넌트들로는 디스플레이 장치, 스피커, 인쇄 컴포넌트, 진동 컴포넌트, 기타가 있다. I/O 포트들(118)에 의해 컴퓨팅 장치(100)는 I/O 컴포넌트들(120)을 비롯한 다른 장치들(이들 중 일부는 내장되어 있을 수 있음)에 논리적으로 결합될 수 있다. 예시적인 컴포넌트들로는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 프린터, 무선 장치, 기타가 있다.
이제 도 2를 참조하면, 본 발명의 일 실시예에 따른, 본 발명의 실시예들을 구현하는 데 사용하기에 적당한 예시적인 시스템 아키텍처(200)의 개략도가 도시되어 있다. 당업자라면 도 2에 도시된 예시적인 시스템 아키텍처(200)가 하나의 적당한 컴퓨팅 환경의 일례에 불과하며 본 발명의 용도 또는 기능의 범위에 관한 어떤 제한을 암시하기 위한 것이 아님을 잘 알 것이다. 예시적인 시스템 아키텍처(200)가 그 안에 예시된 컴포넌트들 중 임의의 하나의 컴포넌트 또는 그 컴포넌트들의 임의의 조합에 관한 어떤 의존관계 또는 요구조건을 갖는 것으로 해석되어서도 안된다. 게다가, 예시적인 시스템 아키텍처(200)를 지원하는 운영 체제(220) 내의 논리가 독립형 제품으로서, 소프트웨어 패키지의 일부로서, 또는 이들의 임의의 조합으로서 제공될 수 있다.
예시적인 시스템 아키텍처(200)는 레지스트리에 포착되어 있는 사용 데이터로부터 목적지 리스트(destination list)를 발생하고 사용자로부터의 요청을 검출 시에 서브-메뉴 영역 내에 목적지들을 렌더링하는 컴퓨팅 장치(210)를 포함한다. 컴퓨팅 장치(210)는 다양한 유형의 컴퓨팅 장치들의 형태를 취할 수 있다. 단지 예시로서, 컴퓨팅 장치(210)는 퍼스널 컴퓨팅 장치[예를 들어, 도 1의 컴퓨팅 장치(100)], 핸드헬드 장치[예를 들어, PDA(personal digital assistant)], 가전 장치, 다양한 서버들, 기타일 수 있다. 그에 부가하여, 컴퓨팅 장치는 서로 간에 정보를 공유하도록 구성되어 있는 2개 이상의 전자 장치를 포함할 수 있다.
실시예들에서, 컴퓨팅 장치(210)는 디스플레이 장치(215), 입력 장치들(216 및 217), 및 운영 체제(220)가 설치되어 있는 하드웨어를 포함한다. 컴퓨팅 장치(210)는 UI 디스플레이(225)를 디스플레이 장치(215) 상에 제시하도록 구성되어 있다. 컴퓨팅 장치(210)에 결합되어 동작하는 디스플레이 장치(215)는 사용자에게 정보를 제시할 수 있는 임의의 프리젠테이션 컴포넌트(모니터, 전자 디스플레이 패널, 터치 스크린, 기타 등등)로서 구성될 수 있다. 한 예시적인 실시예에서, UI 디스플레이(225)는 다양한 창 상태(도시 생략)로 디스플레이 영역을 제시하도록 및/또는 운영 체제(220)에 의해 개시되는 하나 이상의 도크-타겟 영역들을 생성하도록 구성되어 있으며, 여기서 디스플레이 영역은 애플리케이션들(230)에 의해 발생된 컨텐츠를 게시한다. 다른 예시적인 실시예에서, UI 디스플레이(225)는 운영 체제(220)와 통신하고 있는 입력 장치[예를 들어, 입력 장치들(216 및 217)]의 유형에 부분적으로 기초하여 각종의 구성의 도크-타겟 영역들을 생성할 수 있다.
그 중에서도 특히, 사전 정의된 창 상태들 간의 디스플레이 영역의 조작에 영향을 미치는 입력(들)을 제공하기 위해 입력 장치들(216 및 217)이 제공된다. 예시적인 장치들로는 키 패드[참조 번호(216)로 표시됨], 마우스[참조 번호(217)로 표시됨], 조이스틱, 마이크, 도 1의 I/O 컴포넌트들(120) 또는 사용자 입력을 수신하고 그 입력의 표시를 컴퓨팅 장치(210)에 전달할 수 있는 임의의 다른 컴포넌트가 있다. 예시로서, 입력 장치들(216 및 217)은 UI 디스플레이(225) 상에서 커서 도구가 위치해 있는(즉, 놓여 있는) 곳의 위치 및 UI 디스플레이(225) 상에 나타나는 버튼들의 선택을 제어한다.
운영 체제(OS)(220)는 일반적으로 컴퓨팅 장치(210)의 자원들의 공유를 관리하고 프로그래머들에게 그 자원들에 액세스하는 데 사용되는 인터페이스를 제공하는 소프트웨어를 말한다. 동작을 설명하면, 운영 체제(220)는 시스템 데이터를 해석하고 [예를 들어, 입력 장치들(216 및 217)을 통한] 사용자 입력들을 검출하며, 시스템 요청들(예를 들어, 목적지 리스트를 보기 위한 사용자-개시 요청)의 우선순위를 부여하는 것, 내부 시스템 자원들을 할당하는 것, 자원들 및/또는 장치들 간의 네트워킹을 용이하게 해주는 것, 태스크들(예를 들어, 트리거된 도크-타겟 영역과 연관된 적절한 창 상태를 선택하는 것) 및 파일 시스템들을 관리하는 것, 출력 장치들을 제어하는 것[예를 들어, 디스플레이 영역을 적절한 상태로 디스플레이 장치(215)에 렌더링하는 것], 및 타겟 애플리케이션(target application)(230) 등의 운영 체제 상에 존재하는 프로그램들에 대한 플랫폼으로서 동작하는 것 등의 프로세스들을 실행하는 것으로 응답한다.
예시적인 실시예에서, 운영 체제(220)는 입력-수신 컴포넌트(235), GUI 작업공간 컴포넌트(240), 상태-판정 컴포넌트(245) 및 렌더링 컴포넌트(250)를 포함하고 있다. 그에 부가하여, 운영 체제(220)는 데이터베이스(280)도 포함할 수 있다. 다른 실시예에서, 데이터베이스(280)는 원격 컴퓨팅 장치(remotely-located computing device) 상에(예를 들어, 다른 운영 체제 상에, 웹 주소를 통해 위치 확인되는 서버 상에, 기타) 존재할 수 있다. 데이터베이스(280)는 일련의 창 상태들을 저장하는 정보를 저장하도록 구성될 수 있다. 다양한 실시예들에서, 이러한 정보는 원래의 상태, 수직으로 최대화된 상태, 반폭-최대화된 상태, 복원된 상태, 최대화된 상태(이하에서 기술함), 최소화된 상태, 및 관련 분야에서 알려져 있는 임의의 다른 창 상태들을 포함할 수 있지만, 이들로 제한되지 않는다. 게다가, 하나의 독립적인 컴포넌트로서 도시되어 있지만, 데이터베이스(280)는 사실 복수의 데이터베이스들(예를 들어, 서버 클러스터)일 수 있다.
운영 체제 컴포넌트(220)의 이 운영 체제 구조는 컴퓨팅 장치(210) 상에서 실행될 수 있는 적당한 구조의 일례에 불과하며 본 발명의 용도 또는 기능의 범위에 관한 어떤 제한을 암시하기 위한 것이 아니다. 예시된 운영 체제(220)가 예시된 컴포넌트들(235, 240, 245, 및 250) 중 어느 하나 또는 예시된 컴포넌트들의 임의의 조합에 관한 어떤 의존관계 또는 요구조건을 갖는 것으로 해석되어서도 안된다. 어떤 실시예들에서, 컴포넌트들(235, 240, 245, 및 250) 중 하나 이상의 컴포넌트들이 독립형 애플리케이션으로서 구현될 수 있다. 다른 실시예들에서, 컴포넌트들(235, 240, 245, 및 250) 중 하나 이상의 컴포넌트들이 컴퓨팅 장치(210)의 디스플레이 장치(215), 애플리케이션(230), 또는 이들의 조합 내에 직접 통합되어 있을 수 있다. 단지 예시로서, 렌더링 컴포넌트(250)는 디스플레이 장치(215)와 연관되어 제공되어 있을 수 있다. 당업자라면 도 2에 예시된 컴포넌트들(235, 240, 245, 및 250)의 성질 및 수가 예시적인 것이며 제한하는 것으로 해석되어서는 안된다는 것을 잘 알 것이다.
임의의 수의 컴포넌트들이 본 발명의 실시예들의 범위 내에서 원하는 기능을 달성하는 데 이용될 수 있다. 도 2의 다양한 컴포넌트들이 명확함을 위해 선으로 나타내어져 있지만, 실제로는, 다양한 컴포넌트들/요소들을 구분하는 것이 그렇게 명확하지 않으며, 비유적으로 말하면, 이들 선은 보다 정확하게는 애매모호하다(grey or fuzzy). 게다가, 도 2의 어떤 컴포넌트들 및 장치들이 하나의 블록으로 나타내어져 있지만, 이와 같이 나타낸 것이 성질 및 수가 예시적인 것이며 제한하는 것으로 해석되어서는 안된다[예를 들어, 단지 하나의 디스플레이 장치(215)가 도시되어 있지만, 더 많은 수의 디스플레이 장치들이 컴퓨터 장치(210)에 결합되어 동작할 수 있음으로써, UI 디스플레이(225)를 제시하는 데 협력하여 기능할 수 있다].
실시예들에서, 입력-수신 컴포넌트(235)는 입력 장치들(216 및 217)로부터의 크기 조정하는 표시(225) 및/또는 입력 장치(217)로부터의 추적된 움직임을 수신하고 처리하도록 구성되어 있다. 다양한 다른 입력 장치들(예를 들어, 터치-스크린 패널)로부터의 다른 입력들이 입력-수신 장치에 의해 수신되고 해석될 수 있으며, 그에 따라 본 발명의 범위가 본 명세서에 기술된 입력들 및 입력 장치들로 제한되지 않는다는 것을 잘 알 것이다. 크기 조정하는 표시(255)는 입력 장치들(216 및 217)에 의해 생성된 출력들의 범위 내의 임의의 출력들을 포함한다. 일 실시예에서, 그 출력들은 디스플레이 영역의 크기 및/또는 위치를 조작하는 것과 연관된 사용자-개시 작동 이벤트들의 표시들을 포함한다. 한 경우에, 이하에서 더 상세히 기술하는 바와 같이, 크기 조정하는 표시(255)는 디스플레이 영역의 크기 조정 바(resize bar) 상에서의 더블-클릭 선택이다. 다른 경우에, 크기 조정하는 표시(255)는 키들의 조합을 함께 작동시키는 것(예를 들어, 단축키)과 같은 키스트로크 시퀀스이다. 또 다른 경우에, 크기 조정하는 표시(255)는 장시간 클릭-앤-홀드 명령(prolonged click-and-hold command) 등 디스플레이 영역의 도구모음 또는 헤더의 지속된 선택(maintained selection)이다.
그에 부가하여, 입력-수신 컴포넌트(235)는 커서의 움직임을 추적하도록 구성될 수 있다. 실시예들에서, 추적된 움직임(260)은 임의의 입력 장치[예를 들어, 입력 장치(217), 태블릿의 터치-스크린 패널과의 접촉, 기타]로부터 수신될 수 있다. 추적된 움직임(260)은 협동하여 처리될 수 있으며, 따라서 트리거된 상태를 호출하는 상보적 명령(complimentary command)으로서 기능한다. 예시로서, 크기 조정하는 표시(255)는 디스플레이 영역을 포착하는 것을 포함할 수 있는 반면, 추적된 움직임(260)은 구축된 도크-타겟 영역 내로의 커서의 횡단(traversal)을 포함할 수 있다. 그에 따라, 들어간 도크-타겟 영역과 연관된 트리거된 상태가 식별된다.
실시예에서, 크기 조정하는 표시(255)를 수신할 때, 수신 컴포넌트는 자신에게 입력을 제공하고 있는 입력 장치의 유형을 판정한다. 앞서 언급한 바와 같이, 도크-타겟 영역들은 판정된 입력 장치의 유형에 기초하여 동적으로 구성될 수 있다. 구성하는 프로세스는 크기 조정하는 표시(255)를 수신하는 것과 직렬로, 병렬로 또는 비동기적으로 실행될 수 있다. 그에 따라, GUI 작업공간 상에 하나 이상의 도크-타겟 영역들을 구성하는 것이 그와 통신하는 입력 장치의 ID(identity)에 의해 영향받을 수 있는 수신 컴포넌트(235) 내의 규칙들에 따라 실현된다는 것을 잘 알 것이다.
GUI 작업공간 컴포넌트(240)는 디스플레이 장치(215)에 제시되는 GUI 작업공간[예를 들어, UI 디스플레이(225)]의 스크린 높이 및 스크린 폭을 식별하도록 구성되어 있다. GUI 작업공간의 이 스크린 파라미터들(290)은 디스플레이 장치(215)로부터 또는 UI 디스플레이(225)를 렌더링하고 있는 운영 체제(220)로부터 내부적으로 GUI 작업공간 컴포넌트(240)로 전달될 수 있다. 도 10을 참조하여 이하에서 더 상세히 기술되는 다른 실시예에서, GUI 작업공간 컴포넌트(240)는 운영 체제(220)에 결합되어 동작하는 디스플레이 장치들의 수 및 그의 속성들을 판정하도록 구성되어 있다. 그에 따라, GUI 작업공간 컴포넌트(240)는 디스플레이 영역이 하나의 UI 디스플레이(225) 상에서 디스플레이 장치들 간에 횡단될 수 있도록 논리적 배열에서 디스플레이 장치들을 서로 연결시키는 탐색 순서부여 방식(navigation ordering scheme)을 설정할 수 있다.
또 다른 실시예에서, GUI 작업공간 컴포넌트(240)는 창 높이 및 창 폭을 결정하기 위해 디스플레이 영역에 대한 속성들을 조회하도록 구성되어 있다. 이 파라미터들은, 스크린 폭, 스크린 높이, 및 구성 설정들(configuration settings)(295)을 발생하는 것과 관련된 디스플레이 영역 및/또는 GUI 작업공간의 임의의 다른 구분가능한 속성들과 함께, GUI 작업공간 컴포넌트(240)에 의해 검색되고, 처리되며, 상태-판정 컴포넌트(245)로 전달될 수 있다.
일반적으로, 상태-판정 컴포넌트(245)는 디스플레이를 원래의 상태로부터 트리거된 상태로 또는 트리거된 상태로부터 복원된 상태로 자동으로 전환시키는 것을 용이하게 해준다. 일 실시예에서, 복원된 상태는 크기가 원래의 상태와 거의 유사하다. 동작을 설명하면, 상태-판정 컴포넌트(245)는 입력-수신 컴포넌트(235)가 일련의 창 상태들[예를 들어, 검색가능한 방식으로 데이터베이스(280)에 저장되어 있거나 상태-판정 컴포넌트(245) 내에 내장된 코드에 의해 발생됨] 중에서 트리거 상태를 식별해주는 크기 조정하는 표시(255)를 검출했다는 것을 확인한다. 한 경우에, 식별하는 것은 트리거된 도크-타겟 영역과 연관된 창 상태 간의 매핑을 따라가는 것에 의해 수행된다. 적절한 창 상태 또는 트리거된 상태를 선택할 시에, 상태-판정 컴포넌트(245)는 GUI 작업공간 컴포넌트(240)로부터 디스플레이 영역 및 GUI 작업공간을 기술하는 파라미터들을 받는다. 이 파라미터들은 트리거된 상태의 ID에 포함되거나 그에 첨부되어 렌더링 컴포넌트(250)에 제공된다.
실시예들에서, 렌더링 컴포넌트(250)는, 디스플레이 영역이 선택된 창 상태에 따라 조작(예를 들어, 배치 및 크기 결정)될 수 있도록, 디스플레이 장치(215)에 구성 설정들(295)을 제공하도록 구성되어 있다. 이 구성 설정은, 관련 기술 분야에 공지된 임의의 방법에 의해, 선택된 창 상태로부터 도출되거나 추출될 수 있다. 게다가, 구성 설정들(295)은 구성 설정들(295)이 하나 이상의 도크-타겟 영역들에 매핑되는 렌더링 컴포넌트(250)에 의해 액세스가능한 룩업 테이블[예를 들어, 데이터베이스(280)를 이용함]에 저장될 수 있다. 그에 따라, 렌더링 컴포넌트(250)는 디스플레이 영역을 특정의 창 상태로서 제시하는 것 또는 디스플레이 영역을 창 상태들 간에 전환시키는 것을 제공할 수 있다.
예시적인 실시예에서, 디스플레이 영역을 리포맷팅(reformat)하는 데 구성 설정들(295)이 이용된다. 일반적으로, 구성 설정들(295)은 구성 설정들(295)에 의해 정의되는 선택된 창 상태에 부합하는 디스플레이 영역을 제시하도록 GUI 작업공간을 안내하는 규칙들을 포함한다. 구성 설정들(295)은 임의의 창 상태에 기초한 광범위한 기준들 또는 속성들을 포괄할 수 있다. 한 경우에, 구성 설정들(295)은 수직으로 최대화된 상태로부터 도출될 수 있고 수직 치수 및 수평 치수를 포함할 수 있다. 단지 예시로서, 수직 치수는 대략 GUI 작업공간 컴포넌트(240)에 의해 검색된 스크린 높이에 대응하고, 수평 치수는 디스플레이 영역의 창 폭 또는 임의적인 폭에 대응한다. 다른 경우에, 구성 설정들(295)은 반폭-최대화된 상태로부터 도출되고 수직 치수 및 수평 치수를 포함한다. 단지 예시로서, 수직 치수는 스크린 높이에 대응하고, 수평 치수는 스크린 폭의 비율에 대응하며, 이에 대해서는 이상에서 더 상세히 기술하였다.
그에 따라, 구성 설정들(295)은 디스플레이 영역의 동적 전환을 안내한다. 즉, 구성 설정들(295)이 디스플레이 영역의 치수들 및 GUI 작업공간 내에서의 디스플레이 영역의 위치의 좌표들을 결정한다. 일 실시예에 대해 이상에서 기술하였지만, 구성 설정들은 디스플레이 영역의 특성들 및/또는 디스플레이 속성들에 영향을 미치는 임의의 일련의 발견적 학습법(heuristics)(예를 들어, 규칙들 또는 논리)을 포함할 수 있다. 그에 부가하여, 구성 설정들(295)은 디스플레이 영역 내에 게시된 컨텐츠를 관리하는 것을 용이하게 해주거나, 파라미터들(이 파라미터들에 따라 컨텐츠가 제시될 수 있음)을 애플리케이션(230)에게 알려준다.
일반적으로, 애플리케이션(230)은 운영 체제(220)에 의해 기동되고 조작될 수 있는 임의의 프로그램이다. 앞서 기술한 바와 같이, 애플리케이션(230)은 디스플레이 영역 내에 게시되는 컨텐츠를 관리한다. 따라서, 크기 조정하는 표시(255)를 수신할 시에 디스플레이 영역의 크기가 조작되기 때문에, 컨텐츠가 이 변경들을 반영하기 위해 조정될 수 있다. 한 경우에, 렌더링 컴포넌트(250)는 구성 설정들(295)을 애플리케이션(230)에 노출시키는 애플리케이션 프로그래밍 인터페이스(API)를 포함한다. 그에 따라, 애플리케이션(230)이 구성 설정들(295)에 기초하여 소프트웨어 구성을 커스터마이즈(customize)하도록 개발될 수 있다. 즉, 애플리케이션은 전환에 응답하여, 디스플레이 영역의 크기에 기초하여 UI 디스플레이(225)(예를 들어, GUI 작업공간)에 제시하기 위해 애플리케이션이 제공하는 컨텐츠를 조정할 수 있다. 일 실시예에서, 컨텐츠를 조정하는 이 프로세스는 애플리케이션(230) 내부에서 실행되며, 따라서 운영 체제(220)에 투명하다.
그에 부가하여, 애플리케이션(230)은 렌더링 컴포넌트(250)에 의해 발생되는 구성 설정들(295)에 영향을 미칠 수 있다. 예를 들어, 애플리케이션(230)이 특정의 일련의 디스플레이-영역 크기들 상에 컨텐츠를 노출시키도록 설계되어 있는 경우, 이 일련의 크기들은 구성 설정들(295)을 GUI 디스플레이로 보내기 전에 고려를 위해 렌더링 컴포넌트(250)로 전송된다. 단지 예시로서, 일련의 디스플레이-영역 크기들은 전환된 디스플레이 영역의 크기가 최대 및 최소 크기 한계 내에 있어야 할 것을 요구할 수 있다. 그에 따라, 보다 큰 창 상태가 트리거되는 경우(예를 들어, 수직으로 최대화된 상태 또는 반폭-최대화된 상태) 구성 설정들(295)이 최대 크기 한계와 비교되는 반면, 감소된 창 상태가 트리거되는 경우(예를 들어, 복원된 상태) 구성 설정들(295)이 최소 크기 한계와 비교된다. 일련의 디스플레이-영역 크기들이 구성 설정들(295)과 비슷하거나 그와 관련된 창 상태를 포함하는 경우, 구성 설정들(295)이 변경되지 않은 채로 있다. 그렇지만, 구성 설정들(295)이 일련의 디스플레이-영역 크기들을 벗어나 뻗어 있는 디스플레이 영역을 호출하는 경우, 구성 설정들이 애플리케이션(230)의 일련의 디스플레이-영역 크기들과 일치하도록 재형성된다.
이제 도 3을 참조하면, 본 발명의 일 실시예에 따른, 도크-타겟 영역들을 이용하여 디스플레이 영역을 반폭-최대화된 상태와 복원된 상태 사이에서 전환시키는 방법(300)을 전체적으로 나타낸 흐름도가 도시되어 있다. 먼저, 블록(305)에 나타낸 바와 같이, [예를 들어, 도 2의 입력-수신 컴포넌트(235)에 제공되는 추적된 움직임(260)을 통해] GUI 작업공간 내에서 커서 도구의 움직임이 추적된다. 블록(310)에 나타낸 바와 같이, 커서 도구로 디스플레이 영역을 포착하는 표시[예를 들어, 도 2의 크기 조정하는 표시(255)]가 입력 장치로부터 제공된다. 실시예들에서, 입력 장치의 유형이 판정된다. 블록(315)에 나타낸 바와 같이, 이 정보는, 앞서 기술한 스크린 파라미터들과 함께, 도크-타겟 영역들을 구성하는 데 사용될 수 있다. 일반적으로, 블록(320)에 나타낸 바와 같이, 도크-타겟 영역들을 구성하는 것은 GUI 작업공간의 상부 경계에 상부 도크-타겟 영역을 구성하고 그 작업공간의 하부 경계에 하부 도크-타겟 영역을 구성하는 것을 포함한다. 동작을 설명하면, 커서 도구가 상부 도크-타겟 영역 또는 하부 도크-타겟 영역에 들어간 것으로 판정할 시에, 최대화된 상태를 트리거된 상태로서 선택하고 그의 구성 설정들을 디스플레이 영역에 적용하기 위해 상태-선택 프로세스가 [예를 들어, 도 2의 상태-판정 컴포넌트(245)에 의해] 실행된다. 그에 부가하여, 블록(325)에 나타낸 바와 같이, 도크-타겟 영역들을 구성하는 것은 GUI 작업공간의 좌측 경계에 좌측 도크-타겟 영역을 구성하고 그 작업공간의 우측 경계에 우측 도크-타겟 영역을 구성하는 것을 포함한다. 동작을 설명하면, 커서 도구가 좌측 도크-타겟 영역 또는 우측 도크-타겟 영역에 들어간 것으로 판정할 시에, 반폭-최대화된 상태를 트리거된 상태로서 선택하고 그의 구성 설정들을 디스플레이 영역에 적용하기 위해 상태-선택 프로세스가 실행된다.
커서 도구의 사용자-개시 움직임이 추적되고, 블록(330)에 나타낸 바와 같이, 추적된 움직임에 기초하여, 커서 도구가 도크-타겟 영역들 중 하나 이상에 들어갔는지 여부의 판정이 수행된다. 커서 도구가 도크-타겟 영역에 들어가지 않은 경우, 블록(335)에 나타낸 바와 같이, 디스플레이 영역의 크기가 그의 원래의 상태와 부합하게 유지된다. 커서 도구가 도크-타겟 영역에 들어간 경우, 블록(340)에 나타낸 바와 같이, 디스플레이 영역이 원래의 상태로부터 트리거된 상태로 자동으로 전환된다. 디스플레이 영역을 자동으로 전환시킬 때, 블록(345)에 나타낸 바와 같이, 디스플레이 영역이 포착된 채로 있는 동안, 커서 도구가 도크-타겟 영역들 중 하나를 빠져 나갔는지 여부의 판정이 수행된다. 커서 도구가 도크-타겟 영역을 빠져 나간 경우, 블록(335)에 나타낸 바와 같이, 디스플레이 영역이 트리거된 상태로부터 복원된 상태로 자동으로 전환되며, 이 복원된 상태는 통상적으로 원래의 상태의 크기와 거의 유사하다. 커서 도구가 도크-타겟 영역을 빠져 나가지 않은 경우, 블록(340)에 나타낸 바와 같이, 디스플레이 영역의 크기가 그의 트리거된 상태와 부합하게 유지된다.
블록(340)에 나타낸 바와 같이, 디스플레이를 자동으로 전환시키는 것은 몇가지 논리적 단계들을 포함할 수 있다. 먼저, 블록(350)에 나타낸 바와 같이, 들어간 도크-타겟 영역에 매핑되는 구성 설정들이 결정된다. 블록(360)에 나타낸 바와 같이, 이 결정된 구성 설정들이 디스플레이 영역에 적용될 수 있고, 따라서 디스플레이 영역을 원래의 상태로부터 구성 설정들에 의해 정의되는 트리거된 상태로 전환시킨다. 그에 따라, 블록(370)에 나타낸 바와 같이, 디스플레이 영역이 트리거된 상태의 속성들과 연관되어 저장될 수 있다.
도 4를 참조하면, 본 발명의 일 실시예에 따른, GUI(graphical user interface) 작업공간 상에 디스플레이 영역을 배열하는 방법을 전체적으로 나타낸 흐름도가 도시되어 있다. 먼저, 블록(405)에 나타낸 바와 같이, 디스플레이 영역을 크기 조정하는 하나 이상의 표시들이 수신된다. 상세하게는, 크기 조정하는 표시를 수신하는 것은, 클릭-앤-홀드(click-and-hold) 동작 등, 커서 도구가 디스플레이 영역의 경계를 포착했다는 표시를 수신하는 것[블록(410) 참조], 및 커서 도구가 도크-타겟 영역 내로 움직이는 것을 검출하는 것[블록(415) 참조]을 포함할 수 있다. 다른 실시예들에서, 크기 조정하는 하나 이상의 표시들을 수신하는 것은 디스플레이 영역의 경계에 근접해 있는 숨겨진 작동 장치(예를 들어, 크기 조정 바)에서의 더블-클릭 등 커서에 의한 선택을 검출하는 것, 특정의 키스트로크 시퀀스를 인식하는 것, 또는 창 상태의 변경을 호출하는 공지된 임의의 다른 거동의 표시를 수신하는 것을 포함한다.
크기 조정하는 하나 이상의 표시들을 수신하는 것에 수반하여, 블록(420)에 나타낸 바와 같이, 일련의 사전 정의된 창 상태들 내에서 어느 창 상태를 선택할지의 결정이 행해진다. 상세하게는, 블록(425)에 나타낸 바와 같이, 표시들이 수직으로 최대화된 상태를 선택하는지 여부의 질의가 실행된다. 수직으로 최대화된 상태가 선택되지 않은 경우, 블록(430)에 나타낸 바와 같이, 실제의 선택된 상태의 구성 설정들이 디스플레이 영역에 적용된다. 다른 대안으로서, 수직으로 최대화된 상태가 선택되는 경우, 블록(435)에 나타낸 바와 같이, 수직으로 최대화된 상태의 구성 설정들이 디스플레이 영역에 적용된다. 일반적으로, 구성 설정들을 적용하는 것은, 적어도, 다음과 같은 논리적 단계들, 즉 디스플레이 영역의 창 폭을 결정하는 것[블록(440) 참조], GUI 작업공간의 스크린 높이를 결정하는 것[블록(445) 참조], 및 구성 설정들의 수직 치수 및 수평 치수를 각각 스크린 높이 및 창 폭에 맞추는 것[블록 참조]을 포함한다. 그에 따라, 블록(455)에 나타낸 바와 같이, 디스플레이 영역이 원래의 상태로부터 수직으로 최대화된 상태로 전환된다. 블록(460)에 나타낸 바와 같이, 디스플레이 영역이 수직으로 최대화된 상태를 정의하는 구성 설정들에 부합하는 수직으로 최대화된 상태로 디스플레이 장치 상의 GUI 작업공간에 렌더링될 수 있다.
이제 도 5 내지 도 10을 참조하면, 본 발명의 실시예들에 따른, 예시적인 디스플레이 영역들을 원래의 상태, 트리거된 상태 및 복원된 상태 사이에서 전환시키는 단계들을 나타낸 점진적인 스크린 디스플레이들이 도시되어 있다. 상세하게는, 본 발명의 실시예들에 따른, 디스플레이 영역(510)을 원래의 상태로부터 최대화된 상태로 전환시키는 절차(500)가 도 5에 도시되어 있다. 먼저, 포착 단계에서, 디스플레이 영역(510)이 통상적으로 커서 도구로 헤더(540)를 선택하는 것에 의해 포착된다. 이어서, 디스플레이 영역(510)이 포착되어 있는 동안에 커서 도구가 상부 또는 하부 도크-타겟 영역(550)에 들어가도록 디스플레이 영역이 GUI 작업공간(520)을 가로질러 이동된다. 이것은 드래그 단계에 나타내어져 있다. 전환 단계에서, 디스플레이 영역(510)이 원래의 상태로부터 최대화된 상태로 전환된다. 즉, 디스플레이 영역(510)이 확장되어 GUI 작업공간(520)의 영역을 거의 전부 채운다. 커서 도구(530)를 릴리스(release)하면, 릴리스 단계에 나타낸 바와 같이, 디스플레이 영역(510)이 최대화된 상태로 유지된다.
이제 도 6을 참조하면, 본 발명의 실시예들에 따른, 디스플레이 영역(610)을 원래의 상태로부터 반폭-최대화된 상태로 전환시키는 절차(600)가 도시되어 있다. 먼저, 디스플레이 영역(610)이 그의 원래의 상태로 존재한다. 클릭-앤-드래그(click-and-drag) 동작을 위해 구성된 헤더(640) 또는 디스플레이 영역(610) 상의 임의의 다른 섹션이 커서 도구(630)에 의해 선택된다. 그에 따라, 디스플레이 영역(610)이 포착 단계에서 포착된다. 드래그 단계에서, 디스플레이 영역(610)이 GUI 작업공간(620)의 좌측 또는 우측으로 이동된다. 커서 도구(630)가 좌측 또는 우측 도크-타겟 영역에 들어갈 때, 디스플레이 영역이 원래의 상태로부터 반폭-최대화된 상태로 전환된다. 이것은 전환 단계에 나타내어져 있다. 릴리스 상태에서, 디스플레이 영역(610)이 포착으로부터 릴리스된다. 그에 따라, 반폭-최대화된 단계에서, 디스플레이 영역이 이제 GUI 작업공간의 우측 또는 좌측을 차지한다.
이제 도 7을 참조하면, 본 발명의 실시예들에 따른, 원래의 상태로부터 수직으로 최대화된 상태로 디스플레이 영역(710)을 전환시키는 절차(700)가 도시되어 있다. 먼저, 디스플레이 영역(710)이 그의 원래의 상태로 존재한다. 포착 단계에서 커서 도구(730)에 의해 디스플레이 영역(710)의 상부 경계(740) 또는 하부 경계가 선택된다. 한 경우에, 상부 경계(740)가 포착되어 있음을 나타내기 위해 커서 도구를 나타내는 아이콘이 시각적으로 변경된다. 드래그 단계에서, 디스플레이 영역(710)이 위쪽으로 또는 아래쪽으로 도크-타겟 영역까지 연장된다. 이 경우에, 상부 경계(740)는 상부 도크-타겟 영역(750)까지 수직으로 이동된다. 커서 도구(730)가 상부 도크-타겟 영역(750)에 들어갈 때, 전환 단계에서 화살표(770)로 나타낸 바와 같이, 선택된 상부 경계(740)의 반대쪽에 있는 경계(780)가 스냅-스타일 조정에서 확장된다. 그에 따라, 수직으로 최대화된 상태에서, 디스플레이 영역(710)은 거의 GUI 작업공간(720)의 스크린 높이의 창 높이를 갖는 반면, 창 폭은 일정하게 유지된다.
발명의 실시예들에 따른, 디스플레이 영역(810)을 수직으로 최대화된 상태로부터 복원된 상태로 전환시키는 도 8에 도시된 절차(800)가 제공된다. 먼저, 포착 단계에서 디스플레이 영역(810)이 수직으로 최대화된 상태로 존재한다. 커서 도구(830)에 의해 디스플레이 영역(810)의 상부 경계(890) 또는 하부 경계가 선택될 수 있다. 드래그 단계에서, 디스플레이 영역(810)이 도크-타겟 영역을 벗어나 위쪽으로 또는 아래쪽으로 수직으로 축소된다. 이 경우에, 상부 경계(890)는 상부 도크-타겟 영역(850)을 벗어나 수직으로 이동된다. 커서 도구(830)가 상부 도크-타겟 영역(850)을 빠져 나갈 때, 전환 단계에서 화살표(870)로 나타낸 바와 같이, 선택된 상부 경계(890)의 반대쪽에 있는 경계(880)가 스냅-스타일 조정에서 위쪽으로 당겨진다. 그에 따라, 복원된 상태에서, 디스플레이 영역(810)은 원래의 상태에서의 도 7의 디스플레이 영역(710)의 폭의 창 높이를 갖는다.
예시적인 실시예에서, 본 발명의 창-상태 전환 거동(window-state transitional behavior)에 취소 기능(cancelability feature)이 포함되어 있다. 일반적으로, 취소(cancelability)는 디스플레이 영역이 포착되어 있는 동안 커서 도구를 도크-타겟 영역 내로 드래그하고, 릴리스하지 않은 채로, 커서 도구를 그곳으로부터 드래그하는 기법을 말한다. 그에 따라, 커서 도구가 도크-타겟 영역에 들어갈 때, 디스플레이 창이 일시적으로 적절한 트리거된 상태로서[예를 들어, 가상 창(phantom window) 또는 임의의 다른 미리보기 모델 또는 실제 디스플레이로] 제시된다. 커서 도구가 디스플레이 영역을 릴리스하지 않는 경우, 커서 도구가 도크-타겟 영역을 빠져 나갈 때, 디스플레이 영역이 다시 복원된 상태로 되돌아간다. 도 7의 전환 단계 및 도 8의 전환 단계를 살펴보면, 취소 특징의 한 적용이 도시되어 있다. 상세하게는, 커서 도구(730)가 상부 도크-타겟 영역(750)에 들어갈 때, 창(710)이 원래의 상태로부터 수직-확장된 상태(vertically-extended state)로 전환된다. 상부 경계(740)를 릴리스하지 않은 채로 커서 도구가 상부 도크-타겟 영역(750)을 빠져 나가는 경우, 부가적인 선택 또는 명령 없이 디스플레이 영역(710)[이제, 디스플레이 영역(810)]이 원래의 창 상태로 되돌아간다.
발명의 실시예들에 따른, 수직으로 최대화된 상태로부터 복원된 상태로 디스플레이 영역(910)을 전환시키는 도 9에 도시된 절차(900)가 제공된다. 먼저, 포착 단계에서 디스플레이 영역(910)이 수직으로 최대화된 상태로 존재한다. 커서 도구(930)에 의해 헤더(990)가 선택될 수 있다. 드래그 단계에서, 커서 도구(930)가 도크-타겟 영역을 빠져 나가도록 디스플레이 영역(910)이 위쪽으로 또는 아래쪽으로 이동된다. 이 경우에, 헤더(990)가 상부 도크-타겟 영역(950)을 벗어나 아래쪽으로 수직으로 이동된다. 커서 도구(930)가 상부 도크-타겟 영역(950)을 빠져 나갈 때, 전환 단계에서 화살표(970)로 나타낸 바와 같이, 선택된 헤더(990)의 반대쪽에 있는 경계(980)가 스냅-스타일 조정에서 위쪽으로 당겨진다. 그에 따라, 복원된 상태에서, 디스플레이 영역(910)은 원래의 상태에서의 도 7의 디스플레이 영역(710)의 폭의 창 높이를 갖는다.
이제 도 10을 참조하면, 본 발명의 실시예들에 따른, 디스플레이 영역(1010)을 디스플레이 장치(1025) 상의 최대화된 상태로부터 디스플레이 장치(1035) 상의 최대화된 상태로 전환시키는 절차(1000)가 도시되어 있다. 먼저, 디스플레이 장치들(1025 및 1035)의 스크린들이 GUI 작업공간(1020)을 제시하기 위해 협동하여 동작한다. 예시적인 실시예에서, 이상에서 더 상세히 기술한 바와 같이, 디스플레이 영역(1030)이 GUI 작업공간(1020) 상에서 디스플레이 장치들 간에 횡단될 수 있도록 탐색 순서부여 방식(navigation ordering scheme)이 논리적 배열에서 디스플레이 장치들(1025 및 1035)을 서로 연결시킨다. 그에 부가하여, 탐색 순서부여 방식은 GUI 작업공간(1020)을 분할하는 공통의 경계들(1055 및 1056)을 표시한다. 통상적으로, 디스플레이 영역(1010)이 비의도적인 창-상태 변경 없이 디스플레이 장치들(1025 및 1035) 사이를 횡단할 수 있도록, 도크-타겟 영역들이 공통의 경계들(1055 및 1056) 상에 구축되어 있지 않다.
포착 단계에서 디스플레이 영역(1010)이 최대화된 상태로 존재한다. 커서 도구(1030)에 의해 헤더(1090)가 선택될 수 있으며, 그에 의해 디스플레이 영역(1010)을 포착한다. 제1 드래그 단계에서, 디스플레이 영역(1010)이 도크-타겟 영역으로부터 위쪽으로 또는 아래쪽으로 이동된다. 이 경우에, 헤더(1090)가 디스플레이 장치들(1025 및 1035)에 걸쳐 뻗어 있는 상부 도크-타겟 영역(1050)으로부터 수직으로 이동된다. 커서 도구(1030)가 상부 도크-타겟 영역(1050)을 빠져 나갈 때, 디스플레이 영역(1010)은 복원된 상태로 된다. 그에 따라, 제2 드래그 단계에 나타낸 바와 같이, 디스플레이 영역(1010)이 디스플레이 장치들(1025 및 1035)을 가로질러 그렇지만 디스플레이 영역(1010)의 창 상태에 영향을 미치는 공통의 경계들(1055 및 1056)을 갖는 동일한 GUI 작업공간(1020) 내에서 횡단될 수 있다. 전환 단계에서, 헤더(1090)가 포착된 채로 있는 동안 커서 도구가 디스플레이 장치(1035)의 상부 도크-타겟 영역(1050)에 들어갈 수 있다. 그 결과, 디스플레이 영역이 디스플레이 장치(1035)의 스크린 영역을 거의 채우는 최대화된 상태로 전환된다.
이제 도 11을 참조하면, 본 발명의 일 실시예에 따른, 디스플레이 영역(1180)의 창 상태들의 전환을 트리거하는 것을 용이하게 해주는 도크-타겟 영역들(1105, 1125, 1140, 및 1150)을 구비한 예시적인 GUI 디스플레이(1100)을 나타내는 개략도가 도시되어 있다. 먼저, 상부 도크-타겟 영역(1105)은 상부 경계(1115) 및 상부 경계(1115)에 대해 거의 평행하게 떨어져 있는 관계(parallel-spaced relation)로 있는 제1 트리거 라인(trigger line)(1110)에 의해 정의되는 것으로 나타내어져 있다. 하부 도크-타겟 영역(1140)은 하부 경계(1135) 및 하부 경계(1135)에 대해 거의 평행하게 떨어져 있는 관계로 있는 제2 트리거 라인(1145)에 의해 정의되는 것으로 나타내어져 있다. 예시적인 실시예에서, 상부 도크-타겟 영역(1105) 및 하부 도크-타겟 영역(1140) 내의 스크린 영역이 최대화된 상태의 구성 설정들에 매핑된다.
우측 도크-타겟 영역(1125)은 우측 경계(1130) 및 우측 경계(1130)에 대해 거의 평행하게 떨어져 있는 관계로 있는 제3 트리거 라인(1120)에 의해 정의되는 것으로 나타내어져 있다. 좌측 도크-타겟 영역(1160)은 좌측 경계(1160) 및 좌측 경계(1160)에 대해 거의 평행하게 떨어져 있는 관계로 있는 제4 트리거 라인(1155)에 의해 정의되는 것으로 나타내어져 있다. 예시적인 실시예에서, 우측 도크-타겟 영역(1125) 및 좌측 도크-타겟 영역(1150) 내의 스크린 영역이 반폭-최대화된 상태의 구성 설정들에 매핑된다.
디스플레이 영역(1180)이 원래의 상태로 GUI 작업공간 상에 제시된다. 원래의 상태에서, 디스플레이 영역(1180)의 속성들은 창 폭(1191) 및 창 높이(1190)를 포함한다. 그에 부가하여, 디스플레이 영역은 헤더(1175) 또는 도구모음 영역도 포함한다. 헤더(1175)는 버튼들(1170) 및 수직으로 최대화된 상태 또는 반폭-최대화된 상태로의 전환을 호출하는 숨겨진 작동 장치(도시 생략)를 포함할 수 있다. 숨겨진 작동 장치는 또한 디스플레이 영역(1180)의 다른 경계들에 위치될 수 있다. 그에 따라, 사용자로부터 작동 이벤트들을 수신하는 데 버튼들(1170) 내의 새로운 눈에 보이는 버튼이 필요하지 않다.
GUI 작업공간은, 통상적으로 도 2의 GUI 작업공간 컴포넌트(240)에 의해 측정되는 스크린 파라미터들을 포함한다. 한 경우에, 스크린 파라미터들은 수평 경계들(1115 및 1135) 사이에서 측정된 스크린 높이(1195), 및 수직 경계들(1130 및 1160) 사이에서 측정된 스크린 폭(1196)을 포함한다.
본 발명이 모든 점에서 제한적인 것이 아니라 예시적인 것으로 보아야 하는 특정의 실시예들에 관해 기술되어 있다. 대안의 실시예들이 본 발명의 범위를 벗어나지 않고 본 발명과 관련된 기술 분야의 당업자에게는 명백하게 될 것이다.
이상으로부터, 본 발명이 이 시스템 및 방법에 본질적이고 또 명백한 다른 이점들과 함께 이상에서 기술한 모든 목적들을 달성하도록 잘 구성되어 있다는 것을 잘 알 것이다. 어떤 특징들 및 서브컴비네이션들이 유용하고 또 다른 특징들 및 서브컴비네이션들을 참조하지 않고 이용될 수 있다는 것을 잘 알 것이다. 이것은 청구항들에서 고려되고 있으며 또 청구항들의 범위 내에 속한다.

Claims (20)

  1. 실행 시에, 스크린 높이 및 스크린 폭을 갖는 GUI(graphical user interface) 상에서 디스플레이 영역을 배열하는 방법을 수행하는 컴퓨터-실행가능 명령어들이 구현되어 있는 하나 이상의 컴퓨터-판독가능 매체로서,
    상기 방법은,
    상기 GUI 작업공간 상에 제시되는 상기 디스플레이 영역을 크기 조정하는 하나 이상의 표시들을 수신하는 단계(405) - 상기 디스플레이 영역은 창 높이 및 창 폭에 의해 특징지워지고, 상기 하나 이상의 표시들은 상기 디스플레이 영역을 크기 조정하기 위해 수직으로 최대화된 상태를 선택함 -,
    상기 수직으로 최대화된 상태에 관련된 구성 설정들을 상기 디스플레이 영역에 적용하는 단계(430) - 상기 수직으로 최대화된 상태의 구성 설정들은 수직 치수(vertical dimension) 및 수평 치수(horizontal dimension)를 포함하고, 상기 수직 치수는 대략 상기 스크린 높이에 대응하고, 상기 수평 치수는 상기 스크린 폭보다 작음 -, 및
    상기 창 높이가 상기 수직으로 최대화된 상태의 상기 수직 치수에 따라 상기 GUI 작업공간 상에 렌더링되도록, 상기 디스플레이 영역을 상기 수직으로 최대화된 상태로 자동으로 전환시키는 단계(455)를 포함하는 것인 하나 이상의 컴퓨터-판독가능 매체.
  2. 제1항에 있어서,
    상기 GUI 작업공간은 상기 디스플레이 영역을 크기 조정하는 상기 하나 이상의 표시들을 수신함으로써 일련의 창 상태들(window states) 중 하나의 창 상태를 선택하는 것을 용이하게 해주는 작동 장치들을 포함하고,
    상기 수직으로 최대화된 상태에 매핑되는 상기 작동 장치들은 숨겨져 있는(hidden) 것인 하나 이상의 컴퓨터-판독가능 매체.
  3. 제2항에 있어서,
    상기 GUI 작업공간 상에 제시되는 상기 디스플레이 영역을 크기 조정하는 하나 이상의 표시들을 수신하는 단계는 상기 디스플레이 영역의 경계에 근접해 있는 숨겨진 작동 장치에서의 커서 도구에 의한 선택을 검출하는 단계를 포함하는 하나 이상의 컴퓨터-판독가능 매체.
  4. 제1항에 있어서,
    상기 GUI 작업공간 상에 제시되는 상기 디스플레이 영역을 크기 조정하는 하나 이상의 표시들을 수신하는 단계는,
    커서 도구로 상기 디스플레이 영역의 경계를 포착하는 표시를 수신하는 단계, 및
    상기 커서 도구의 도크-타겟 영역 내로의 수직 움직임을 검출하는 단계를 포함하는 하나 이상의 컴퓨터-판독가능 매체.
  5. 제1항에 있어서,
    상기 GUI 작업공간 상에 제시되는 상기 디스플레이 영역을 크기 조정하는 하나 이상의 표시들을 수신하는 단계는, 상기 일련의 창 상태들 중 하나의 창 상태로의 전환을 호출하도록 구성되어 있는 특정의 키스트로크 시퀀스(keystroke sequence)를 수신하는 단계를 포함하는 하나 이상의 컴퓨터-판독가능 매체.
  6. 제1항에 있어서,
    상기 디스플레이 영역을 상기 수직으로 최대화된 상태로 자동으로 전환시키는 단계는,
    상기 디스플레이 영역의 상기 창 폭을 결정하고 상기 수평 치수를 상기 창 폭에 맞추는 단계, 및
    상기 수직으로 최대화된 상태의 상기 수평 치수에 따라 상기 GUI 작업공간 상에 상기 디스플레이 영역을 렌더링하는 단계를 포함하는 하나 이상의 컴퓨터-판독가능 매체.
  7. GUI(graphical user interface) 작업공간 상의 하나 이상의 도크-타겟 영역들(dock-target regions)을 이용하여 디스플레이 영역을 반폭-최대화된 상태(semi-maximized state)와 복원된 상태(restored state) 사이에서 전환시키는 컴퓨터화된 방법으로서 - 상기 GUI 작업 공간은 상기 GUI 작업공간의 수평 경계들 사이에서 측정된 스크린 높이 및 상기 GUI 작업공간의 수직 경계들 사이에서 측정된 스크린 폭을 가짐 - ,
    상기 방법은,
    상기 GUI 작업공간 내에서의 커서 도구의 움직임을 추적하는 단계(305) - 상기 GUI 작업공간은 적어도 하나의 디스플레이 영역을 제시함 -,
    상기 커서 도구로 상기 적어도 하나의 디스플레이 영역을 포착하는 표시를 수신하는 단계(310) - 상기 적어도 하나의 디스플레이 영역은 원래의 상태로 존재함 -,
    상기 GUI 작업공간의 상기 수평 경계들 또는 상기 수직 경계들 중 적어도 하나의 경계에 인접하여 하나 이상의 도크-타겟 영역들을 구성하는 단계(315) - 상기 하나 이상의 도크-타겟 영역들 각각은 일련의 창 상태들 중 하나의 창 상태와 연관되어 있음 -,
    상기 적어도 하나의 디스플레이 영역이 포착되어 있는 동안 상기 추적된 움직임을 이용하여 상기 커서 도구가 상기 하나 이상의 도크-타겟 영역들 내에 들어갔는지 여부를 판정하는 단계(330), 및
    상기 커서 도구가 상기 하나 이상의 도크-타겟 영역들 내에 들어간 것으로 판정한 것에 수반하여, 상기 적어도 하나의 디스플레이 영역을 상기 원래의 상태로부터 트리거된 상태로 자동으로 전환시키는 단계(340) - 상기 트리거된 상태는 상기 하나 이상의 들어간 도크-타겟 영역들과 연관되어 있는 상기 일련의 창 상태들 중 하나의 창 상태에 대응함 -
    를 포함하는 컴퓨터화된 방법.
  8. 제7항에 있어서,
    상기 적어도 하나의 디스플레이 영역을 상기 원래의 상태로부터 트리거된 상태로 자동으로 전환시키는 단계는,
    상기 하나 이상의 들어간 도크-타겟 영역들에 매핑되는 구성 설정들을 결정하는 단계 - 상기 일련의 창 상태들 각각은 대응하는 구성 설정들을 가짐 -,
    상기 매핑된 구성 설정들을 상기 적어도 하나의 디스플레이 영역에 적용하는 단계, 및
    상기 트리거된 상태에 부합하는 상기 적어도 하나의 디스플레이 영역을 적어도 일시적으로 저장하는 단계를 포함하는 컴퓨터화된 방법.
  9. 제8항에 있어서,
    상기 일련의 창 상태들은 반폭-최대화된 상태를 포함하고,
    상기 반폭-최대화된 상태는,
    상기 GUI 작업공간의 스크린 파라미터들 중 상기 스크린 높이에 대응하는 수직 치수, 및
    상기 GUI 작업공간의 스크린 파라미터들 중 상기 스크린 폭의 비율에 대응하는 수평 치수를 포함하는 구성 설정들을 갖는 컴퓨터화된 방법.
  10. 제9항에 있어서,
    상기 GUI 작업공간의 상기 수평 경계들 또는 상기 수직 경계들 중 적어도 하나의 경계에 인접하여 하나 이상의 도크-타겟 영역들을 구성하는 단계는,
    상기 GUI 작업공간의 상기 수평 경계들 중 상부 경계에 상부 도크-타겟 영역을 구성하는 단계, 및
    상기 GUI 작업공간의 상기 수평 경계들 중 하부 경계에 하부 도크-타겟 영역을 구성하는 단계를 포함하며,
    상기 커서 도구가 상기 상부 도크-타겟 영역 또는 상기 하부 도크-타겟 영역 내에 들어간 것으로 판정한 것에 수반하여, 상기 적어도 하나의 디스플레이 영역을 상기 원래의 상태로부터 최대화된 상태로 자동으로 전환시키고,
    상기 최대화된 상태는,
    (1) 상기 GUI 작업공간의 스크린 파라미터들 중 상기 스크린 높이에 대응하는 수직 치수, 및
    (2) 상기 GUI 작업공간의 스크린 파라미터들 중 상기 스크린 폭에 대응하는 수평 치수를 포함하는 구성 설정들을 갖는 컴퓨터화된 방법.
  11. 제9항에 있어서,
    상기 커서 도구의 움직임에 따라 상기 적어도 하나의 포착된 디스플레이 영역을 이동시키는 단계를 더 포함하며,
    상기 적어도 하나의 포착된 디스플레이 영역은 창 높이 및 창 폭에 의해 정의되는 경계를 포함하고,
    상기 경계는 상기 적어도 하나의 포착된 디스플레이 영역을 이동시키는 단계 동안에 상기 GUI 작업공간에서 눈에 보이는(visible) 것인 컴퓨터화된 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 디스플레이 영역을 상기 원래의 상태로부터 트리거된 창 상태로 자동으로 전환시키는 단계에 수반하여, 상기 창 높이를 상기 반폭-최대화된 상태의 상기 수직 치수로 일시적으로 조정하고 상기 창 폭을 상기 반폭-최대화된 상태의 상기 수평 치수로 일시적으로 조정하는 단계를 더 포함하는 컴퓨터화된 방법.
  13. 제7항에 있어서,
    상기 추적된 움직임을 이용하여 상기 커서 도구가 상기 하나 이상의 도크-타겟 영역들을 빠져 나갔는지 여부를 판정하는 단계, 및
    상기 커서 도구가 상기 하나 이상의 도크-타겟 영역들을 빠져 나간 것으로 판정한 것에 수반하여, 상기 적어도 하나의 디스플레이 영역을 상기 트리거된 상태로부터 상기 원래의 상태로 자동으로 복원시키는 단계를 더 포함하는 컴퓨터화된 방법.
  14. 제7항에 있어서,
    상기 GUI 작업공간의 상기 수평 경계들 또는 상기 수직 경계들 중 적어도 하나의 경계에 인접하여 하나 이상의 도크-타겟 영역들을 구성하는 단계는,
    상기 GUI 작업공간의 상기 수직 경계들 중 우측 경계에 우측 도크-타겟 영역을 구성하는 단계, 및
    상기 GUI 작업공간의 상기 수직 경계들 중 좌측 경계에 좌측 도크-타겟 영역을 구성하는 단계를 포함하며,
    상기 커서 도구가 상기 우측 도크-타겟 영역 또는 상기 좌측 도크-타겟 영역 내에 들어간 것으로 판정한 것에 수반하여, 상기 적어도 하나의 디스플레이 영역을 상기 원래의 상태로부터 반폭-최대화된 상태로 자동으로 전환시키는 컴퓨터화된 방법.
  15. 제7항에 있어서,
    공간-탐색 발견적 학습법(spatial-navigation heuristics)에 따라 관리되는 복수의 디스플레이 장치들 상에 상기 GUI 작업공간을 제시하는 단계를 더 포함하며,
    상기 관리는,
    상기 복수의 디스플레이 장치들의 상기 수평 경계들 및 상기 수직 경계들 중 적어도 하나의 경계에 인접하여 하나 이상의 도크-타겟 영역들을을 구성하는 것,
    상기 GUI 작업공간을 분할하는 상기 복수의 디스플레이 장치들의 공통의 경계들을 식별하는 것, 및
    상기 식별된 공통의 경계들에 인접해 있는 상기 하나 이상의 도크-타겟 영역들을 디스에이블시켜 상기 복수의 디스플레이 장치들 사이에서 상기 적어도 하나의 디스플레이 영역을 이동시키는 것을 용이하게 해주는 것을 포함하는 컴퓨터화된 방법.
  16. 제8항에 있어서,
    상기 적어도 하나의 디스플레이 영역을 포착하는 표시를 제공하는 입력 장치의 유형을 식별하는 단계를 더 포함하며,
    상기 하나 이상의 도크-타겟 영역들 내의 스크린 영역은 상기 식별된 입력 장치의 유형에 따라 구축되는 컴퓨터화된 방법.
  17. 제8항에 있어서,
    상기 커서 도구가 상기 하나 이상의 도크-타겟 영역들 내에 들어간 것으로 판정한 것에 수반하여, 일련의 허용된 창 크기들을 결정하기 위해 상기 적어도 하나의 디스플레이 영역 상에서 제시되는 애플리케이션과 상호작용하는 단계,
    상기 일련의 허용된 창 크기들을 상기 트리거된 상태에 대응하는 상기 구성 설정들과 비교하는 단계, 및
    상기 구성 설정들이 상기 일련의 허용된 창 크기들과 상충하는 경우, 상기 적어도 하나의 디스플레이 영역을 상기 일련의 허용된 창 크기들 중 하나로 자동으로 전환시키는 단계를 더 포함하는 컴퓨터화된 방법.
  18. 커서 도구를 이용하여 디스플레이 영역을 드래그함으로써 GUI(graphical user interface) 작업공간 상에서 디스플레이 영역을 배열하는 특징들을 생성하도록 구성된 사용자 인터페이스를 하나 이상의 디스플레이 장치들 상에 제시하는 컴퓨터-실행가능 명령어들이 구현되어 있는 하나 이상의 컴퓨터-판독가능 매체로서,
    상기 사용자 인터페이스는,
    수평 경계들 및 수직 경계들을 갖는 GUI 작업공간(1100) - 상기 수평 경계들 사이에서 측정된 스크린 높이(1195), 및 상기 수직 경계들 사이에서 측정된 스크린 폭(1196)을 포함하는 스크린 파라미터들은 상기 GUI 작업공간으로부터 도출되고, 상기 수직 경계들은 좌측 경계(1160) 및 우측 경계(1130)를 포함하며, 상기 수평 경계들은 상부 경계(1115) 및 하부 경계(1135)를 포함함 -,
    상기 상부 경계 및 상기 상부 경계에 대해 거의 평행하게 떨어져 있는 관계(parallel-spaced relation)로 있는 제1 트리거 라인(trigger line)(1110)에 의해 정의되는 상부 도크-타겟 영역(1105),
    상기 하부 경계 및 상기 하부 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제2 트리거 라인(1145)에 의해 정의되는 하부 도크-타겟 영역(1140),
    상기 우측 경계 및 상기 우측 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제3 트리거 라인(1120)에 의해 정의되는 우측 도크-타겟 영역(1125),
    상기 좌측 경계 및 상기 좌측 경계에 대해 거의 평행하게 떨어져 있는 관계로 있는 제4 트리거 라인(1155)에 의해 정의되는 좌측 도크-타겟 영역(1150), 및
    상기 GUI 작업공간 상에 원래의 상태로 제시되는 디스플레이 영역(1180)
    을 포함하며,
    상기 상부 도크-타겟 영역 및 상기 하부 도크-타겟 영역 내의 스크린 영역은 최대화된 상태의 구성 설정들에 매핑되고,
    상기 우측 도크-타겟 영역 및 상기 좌측 도크-타겟 영역 내의 스크린 영역은 반폭-최대화된 상태의 구성 설정들에 매핑되는 하나 이상의 컴퓨터-판독가능 매체.
  19. 제18항에 있어서,
    상기 디스플레이 영역을 드래그하는 것에 수반하여, 상기 커서 도구가 상기 제1 트리거 라인 또는 상기 제2 트리거 라인을 횡단하는 경우, 상기 디스플레이 영역이 상기 최대화된 상태와 복원된 상태 사이에서 자동으로 조정되고,
    상기 최대화된 상태가 상기 스크린 높이에 대응하는 수직 치수 및 상기 스크린 폭에 대응하는 수평 치수를 포함하는 구성 설정들을 가지며,
    상기 복원된 상태의 크기가 상기 원래의 상태에 따라 정해지는 하나 이상의 컴퓨터-판독가능 매체.
  20. 제18항에 있어서,
    상기 디스플레이 영역을 드래그하는 것에 수반하여, 상기 커서 도구가 상기 제3 트리거 라인 또는 상기 제4 트리거 라인을 횡단하는 경우, 상기 디스플레이 영역이 상기 반폭-최대화된 상태와 복원된 상태 사이에서 자동으로 조정되고,
    상기 반폭-최대화된 상태가 상기 스크린 높이에 대응하는 수직 치수 및 상기 스크린 폭의 비율에 대응하는 수평 치수를 포함하는 구성 설정들을 가지며,
    상기 복원된 상태의 크기가 상기 원래의 상태에 따라 정해지는 하나 이상의 컴퓨터-판독가능 매체.
KR1020157007302A 2008-02-01 2009-01-08 향상된 창 상태를 이용한 디스플레이 영역의 배열 KR101608183B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/024,706 US8356258B2 (en) 2008-02-01 2008-02-01 Arranging display areas utilizing enhanced window states
US12/024,706 2008-02-01
PCT/US2009/030483 WO2009099697A1 (en) 2008-02-01 2009-01-08 Arranging display areas utilizing enhanced window states

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020107016613A Division KR101608095B1 (ko) 2008-02-01 2009-01-08 향상된 창 상태를 이용한 디스플레이 영역의 배열

Publications (2)

Publication Number Publication Date
KR20150038724A true KR20150038724A (ko) 2015-04-08
KR101608183B1 KR101608183B1 (ko) 2016-04-01

Family

ID=40932968

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157007302A KR101608183B1 (ko) 2008-02-01 2009-01-08 향상된 창 상태를 이용한 디스플레이 영역의 배열
KR1020107016613A KR101608095B1 (ko) 2008-02-01 2009-01-08 향상된 창 상태를 이용한 디스플레이 영역의 배열

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020107016613A KR101608095B1 (ko) 2008-02-01 2009-01-08 향상된 창 상태를 이용한 디스플레이 영역의 배열

Country Status (9)

Country Link
US (2) US8356258B2 (ko)
EP (1) EP2238528B1 (ko)
JP (1) JP5466652B2 (ko)
KR (2) KR101608183B1 (ko)
CN (1) CN101932993B (ko)
BR (1) BRPI0907249A2 (ko)
RU (1) RU2493581C2 (ko)
TW (2) TWI539359B (ko)
WO (1) WO2009099697A1 (ko)

Families Citing this family (157)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092190B2 (en) 2010-10-01 2015-07-28 Z124 Smartpad split screen
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US10313505B2 (en) 2006-09-06 2019-06-04 Apple Inc. Portable multifunction device, method, and graphical user interface for configuring and displaying widgets
US7940250B2 (en) 2006-09-06 2011-05-10 Apple Inc. Web-clip widgets on a portable multifunction device
US8788954B2 (en) 2007-01-07 2014-07-22 Apple Inc. Web-clip widgets on a portable multifunction device
US8519964B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface supporting user navigations of graphical objects on a touch screen display
US9933937B2 (en) 2007-06-20 2018-04-03 Apple Inc. Portable multifunction device, method, and graphical user interface for playing online videos
US9772751B2 (en) 2007-06-29 2017-09-26 Apple Inc. Using gestures to slide between user interfaces
US8619038B2 (en) 2007-09-04 2013-12-31 Apple Inc. Editing interface
US9619143B2 (en) * 2008-01-06 2017-04-11 Apple Inc. Device, method, and graphical user interface for viewing application launch icons
US11126321B2 (en) 2007-09-04 2021-09-21 Apple Inc. Application menu user interface
US8726190B2 (en) * 2007-09-28 2014-05-13 Adobe Systems Incorporated Automatically transformed graphical user interface
US8356258B2 (en) 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
JP2009245423A (ja) * 2008-03-13 2009-10-22 Panasonic Corp 情報機器およびウインドウ表示方法
US9372591B2 (en) * 2008-04-10 2016-06-21 Perceptive Pixel, Inc. Methods of interfacing with multi-input devices and multi-input display systems employing interfacing techniques
US8874491B2 (en) 2008-06-30 2014-10-28 Nokia Corporation Task history user interface using a clustering algorithm
US8296728B1 (en) * 2008-08-26 2012-10-23 Adobe Systems Incorporated Mobile device interaction using a shared user interface
US20100064251A1 (en) * 2008-09-05 2010-03-11 International Business Machines Corporation Toggling window display state by screen in a multi-screened desktop environment
US20100107100A1 (en) 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US8584031B2 (en) 2008-11-19 2013-11-12 Apple Inc. Portable touch screen device, method, and graphical user interface for using emoji characters
US8453057B2 (en) * 2008-12-22 2013-05-28 Verizon Patent And Licensing Inc. Stage interaction for mobile device
KR101641063B1 (ko) * 2009-03-26 2016-07-22 삼성전자주식회사 단말 제어 장치 및 방법
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US8970448B2 (en) * 2009-06-18 2015-03-03 Hiperwall, Inc. Systems, methods, and devices for manipulation of images on tiled displays
US9141260B2 (en) * 2009-10-08 2015-09-22 Red Hat, Inc. Workspace management tool
US9152299B2 (en) * 2009-10-08 2015-10-06 Red Hat, Inc. Activity management tool
KR101636570B1 (ko) * 2009-10-28 2016-07-20 엘지전자 주식회사 출력표시영역 제어 장치 및 방법
US8736561B2 (en) 2010-01-06 2014-05-27 Apple Inc. Device, method, and graphical user interface with content display modes and display rotation heuristics
US8780130B2 (en) 2010-11-30 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for binding attributes between visual components
US9715332B1 (en) 2010-08-26 2017-07-25 Cypress Lake Software, Inc. Methods, systems, and computer program products for navigating between visual components
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US20110239114A1 (en) * 2010-03-24 2011-09-29 David Robbins Falkenburg Apparatus and Method for Unified Experience Across Different Devices
US10788976B2 (en) 2010-04-07 2020-09-29 Apple Inc. Device, method, and graphical user interface for managing folders with multiple pages
US8881061B2 (en) 2010-04-07 2014-11-04 Apple Inc. Device, method, and graphical user interface for managing folders
US20120249463A1 (en) * 2010-06-04 2012-10-04 Smart Technologies Ulc Interactive input system and method
US9001149B2 (en) 2010-10-01 2015-04-07 Z124 Max mode
US20120218202A1 (en) 2010-10-01 2012-08-30 Sanjiv Sirpal Windows position control for phone applications
US9372618B2 (en) * 2010-10-01 2016-06-21 Z124 Gesture based application management
US10740117B2 (en) 2010-10-19 2020-08-11 Apple Inc. Grouping windows into clusters in one or more workspaces in a user interface
US9542202B2 (en) 2010-10-19 2017-01-10 Apple Inc. Displaying and updating workspaces in a user interface
US9658732B2 (en) 2010-10-19 2017-05-23 Apple Inc. Changing a virtual workspace based on user interaction with an application window in a user interface
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US9244606B2 (en) 2010-12-20 2016-01-26 Apple Inc. Device, method, and graphical user interface for navigation of concurrently open software applications
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
WO2012089157A1 (zh) * 2010-12-31 2012-07-05 联想(北京)有限公司 电子设备及其对象处理方法
US9477932B2 (en) * 2011-01-17 2016-10-25 General Electric Company System and method for providing visualization of a parameter on multiple branches of a distribution network
JP2012156797A (ja) * 2011-01-26 2012-08-16 Sony Corp 画像処理装置及び画像処理方法
US10152192B2 (en) 2011-02-21 2018-12-11 Apple Inc. Scaling application windows in one or more workspaces in a user interface
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US9703444B2 (en) * 2011-03-31 2017-07-11 Microsoft Technology Licensing, Llc Dynamic distribution of client windows on multiple monitors
EP2691836A4 (en) * 2011-03-31 2014-10-22 Smart Technologies Ulc MANIPULATION OF GRAPHIC OBJECTS IN A MULTICACTILE INTERACTIVE SYSTEM
US10146423B1 (en) * 2011-04-07 2018-12-04 Wells Fargo Bank, N.A. System and method for generating a position based user interface
CN102339204A (zh) * 2011-04-13 2012-02-01 南昊(北京)科技有限公司 交互系统的显示
US8713473B2 (en) * 2011-04-26 2014-04-29 Google Inc. Mobile browser context switching
KR101229629B1 (ko) * 2011-05-13 2013-02-04 주식회사 케이티 애플리케이션 간의 콘텐츠 전달 방법 및 이를 실행하는 장치
KR101229699B1 (ko) * 2011-05-12 2013-02-05 주식회사 케이티 애플리케이션 간의 콘텐츠 이동 방법 및 이를 실행하는 장치
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
GB2492945A (en) * 2011-06-27 2013-01-23 Promethean Ltd Applying settings on an interactive display surface
CN102866907B (zh) * 2011-07-06 2015-11-25 腾讯科技(深圳)有限公司 桌面切换方法和装置
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10031636B2 (en) 2011-09-08 2018-07-24 Microsoft Technology Licensing, Llc Remoting desktop displays using move regions
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US8907906B2 (en) 2011-09-27 2014-12-09 Z124 Secondary single screen mode deactivation
US9360940B2 (en) * 2011-11-14 2016-06-07 Google Inc. Multi-pane interface
US20130143657A1 (en) * 2011-11-14 2013-06-06 Amazon Technologies, Inc. Input Mapping Regions
US20130159565A1 (en) * 2011-12-14 2013-06-20 Motorola Mobility, Inc. Method and apparatus for data transfer of touch screen events between devices
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9696880B2 (en) * 2011-12-26 2017-07-04 Inadev Corporation Screen management system
US9928562B2 (en) * 2012-01-20 2018-03-27 Microsoft Technology Licensing, Llc Touch mode and input type recognition
US9645699B2 (en) * 2012-02-10 2017-05-09 Apple Inc. Device, method, and graphical user interface for adjusting partially off-screen windows
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
CN103365563A (zh) * 2012-04-06 2013-10-23 精英电脑股份有限公司 保持窗口应用程序完整可视范围的方法
KR101413286B1 (ko) * 2012-05-02 2014-07-01 주식회사 팬택 전자 장치 및 이를 위한 잠금 해제 장치와 방법
KR102016975B1 (ko) * 2012-07-27 2019-09-02 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US9612713B2 (en) * 2012-09-26 2017-04-04 Google Inc. Intelligent window management
TWI489370B (zh) * 2012-10-16 2015-06-21 智邦科技股份有限公司 呈現界面工具集的方法及系統
EP2741201A3 (en) 2012-12-06 2017-05-17 Samsung Electronics Co., Ltd Display device and method of controlling the same
US10715817B2 (en) * 2012-12-19 2020-07-14 Nvidia Corporation Apparatus and method for enhancing motion estimation based on user input
CN104063192B (zh) * 2013-03-19 2017-05-24 联想(北京)有限公司 一种显示方法以及一种电子设备
US9535565B2 (en) * 2013-05-13 2017-01-03 Microsoft Technology Licensing, Llc Smart insertion of applications into layouts
TWI493433B (zh) * 2013-08-28 2015-07-21 Acer Inc 被遮蔽畫面投影方法及應用該方法之可攜式電子裝置
US9798443B1 (en) * 2013-09-10 2017-10-24 Amazon Technologies, Inc. Approaches for seamlessly launching applications
US10250735B2 (en) 2013-10-30 2019-04-02 Apple Inc. Displaying relevant user interface objects
CN103868515A (zh) * 2013-12-25 2014-06-18 沈阳美行科技有限公司 一种放大图和缩小地图的自由移动的方法
CN104750352A (zh) * 2013-12-31 2015-07-01 环达电脑(上海)有限公司 菜单窗口的还原控制方法
USD774530S1 (en) 2014-01-22 2016-12-20 Google Inc. Display screen or portion thereof with graphical user interface morphing window controls
US10139993B2 (en) * 2014-01-22 2018-11-27 Google Llc Enhanced window control flows
US9792267B2 (en) * 2014-03-31 2017-10-17 NIIT Technologies Ltd Simplifying identification of potential non-visibility of user interface components when responsive web pages are rendered by disparate devices
US10402034B2 (en) * 2014-04-02 2019-09-03 Microsoft Technology Licensing, Llc Adaptive user interface pane manager
CN105359094A (zh) 2014-04-04 2016-02-24 微软技术许可有限责任公司 可扩展应用表示
EP3129846A4 (en) 2014-04-10 2017-05-03 Microsoft Technology Licensing, LLC Collapsible shell cover for computing device
EP3129847A4 (en) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Slider cover for computing device
US11514228B2 (en) 2014-05-23 2022-11-29 Microsoft Technology Licensing, Llc Guides on a content generation system
US9648062B2 (en) * 2014-06-12 2017-05-09 Apple Inc. Systems and methods for multitasking on an electronic device with a touch-sensitive display
US9619120B1 (en) 2014-06-30 2017-04-11 Google Inc. Picture-in-picture for operating systems
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US9304235B2 (en) 2014-07-30 2016-04-05 Microsoft Technology Licensing, Llc Microfabrication
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US10254942B2 (en) * 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) * 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US20160034157A1 (en) * 2014-07-31 2016-02-04 Microsoft Corporation Region-Based Sizing and Positioning of Application Windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US9414417B2 (en) 2014-08-07 2016-08-09 Microsoft Technology Licensing, Llc Propagating communication awareness over a cellular network
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
US10209849B2 (en) 2015-01-21 2019-02-19 Microsoft Technology Licensing, Llc Adaptive user interface pane objects
US10018844B2 (en) 2015-02-09 2018-07-10 Microsoft Technology Licensing, Llc Wearable image display system
US9429692B1 (en) 2015-02-09 2016-08-30 Microsoft Technology Licensing, Llc Optical components
US9535253B2 (en) 2015-02-09 2017-01-03 Microsoft Technology Licensing, Llc Display system
US10317677B2 (en) 2015-02-09 2019-06-11 Microsoft Technology Licensing, Llc Display system
US9372347B1 (en) 2015-02-09 2016-06-21 Microsoft Technology Licensing, Llc Display system
US11086216B2 (en) 2015-02-09 2021-08-10 Microsoft Technology Licensing, Llc Generating electronic components
US9513480B2 (en) 2015-02-09 2016-12-06 Microsoft Technology Licensing, Llc Waveguide
US9827209B2 (en) 2015-02-09 2017-11-28 Microsoft Technology Licensing, Llc Display system
CN106201157B (zh) * 2015-05-05 2020-02-21 阿里巴巴集团控股有限公司 应用窗口的调节方法、装置
JP6620927B2 (ja) * 2015-09-30 2019-12-18 富士通クライアントコンピューティング株式会社 表示制御装置、表示制御方法及び表示制御プログラム
US20170205990A1 (en) * 2016-01-14 2017-07-20 Lenovo (Beijing) Limited Method, system, and apparatus for controlling display regions for an electronic device
US10748312B2 (en) 2016-02-12 2020-08-18 Microsoft Technology Licensing, Llc Tagging utilizations for selectively preserving chart elements during visualization optimizations
US10402470B2 (en) 2016-02-12 2019-09-03 Microsoft Technology Licensing, Llc Effecting multi-step operations in an application in response to direct manipulation of a selected object
US10347017B2 (en) * 2016-02-12 2019-07-09 Microsoft Technology Licensing, Llc Interactive controls that are collapsible and expandable and sequences for chart visualization optimizations
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
US11816325B2 (en) 2016-06-12 2023-11-14 Apple Inc. Application shortcuts for carplay
US10318125B2 (en) * 2016-08-29 2019-06-11 Sap Se Graphical user interface magnetic panel
US20180107358A1 (en) * 2016-10-17 2018-04-19 International Business Machines Corporation Multiple-display unification system and method
US10331293B2 (en) * 2017-02-22 2019-06-25 International Business Machines Coporation Automated resizing of application windows based on interactive states
DK180117B1 (en) 2017-05-15 2020-05-15 Apple Inc. SYSTEMS AND METHODS FOR INTERACTING WITH MULTIPLE APPLICATIONS THAT ARE SIMULTANEOUSLY DISPLAYED ON AN ELECTRONIC DEVICE WITH A TOUCHSENSITIVE DISPLAY
US11301124B2 (en) * 2017-08-18 2022-04-12 Microsoft Technology Licensing, Llc User interface modification using preview panel
US11237699B2 (en) 2017-08-18 2022-02-01 Microsoft Technology Licensing, Llc Proximal menu generation
JP7051391B2 (ja) * 2017-11-22 2022-04-11 日本光電工業株式会社 生体情報モニタ、及び生体情報システム
US10558857B2 (en) * 2018-03-05 2020-02-11 A9.Com, Inc. Visual feedback of process state
US11966578B2 (en) 2018-06-03 2024-04-23 Apple Inc. Devices and methods for integrating video with user interface navigation
US11199944B2 (en) * 2018-09-24 2021-12-14 Salesforce.Com, Inc. System and method for navigation within widget-sized browser panels
US11893095B2 (en) 2019-03-18 2024-02-06 Bank Of America Corporation Graphical user interface environment providing a unified enterprise digital desktop platform
US11016643B2 (en) 2019-04-15 2021-05-25 Apple Inc. Movement of user interface object with user-specified content
US11675476B2 (en) 2019-05-05 2023-06-13 Apple Inc. User interfaces for widgets
CN110196674B (zh) * 2019-05-07 2020-11-20 珠海格力电器股份有限公司 一种终端交互方法、装置、介质及终端
CN110830645B (zh) * 2019-09-24 2021-05-18 华为技术有限公司 一种操作方法和电子设备及计算机存储介质
US11868160B2 (en) * 2022-02-09 2024-01-09 Microsoft Technology Licensing, Llc Just-in-time snap layouts
US11816314B1 (en) * 2022-06-09 2023-11-14 Rubrik, Inc. Customizable dashboard interaction for a user interface

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0827700B2 (ja) * 1990-12-31 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ表示制御システム
US5227771A (en) * 1991-07-10 1993-07-13 International Business Machines Corporation Method and system for incrementally changing window size on a display
US6204845B1 (en) * 1994-12-16 2001-03-20 International Business Machines Corporation Ergonomic viewable object processor
US5704050A (en) * 1995-06-29 1997-12-30 International Business Machine Corp. Snap control for relocating elements of a graphical user interface
US5841420A (en) 1995-08-18 1998-11-24 International Business Machines Corporation Method and system in a data processing system windowing environment for displaying previously obscured information
US5699535A (en) * 1996-03-29 1997-12-16 International Business Machines Corporation Method, memory and apparatus for automatically resizing a plurality of windows displayed on a computer display
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US5767850A (en) 1996-06-24 1998-06-16 Intel Corporatoin Relocatable menu icon for accessing an application in a graphical user interface
US6008809A (en) * 1997-09-22 1999-12-28 International Business Machines Corporation Apparatus and method for viewing multiple windows within a dynamic window
US6091395A (en) * 1997-12-15 2000-07-18 International Business Machines Corporation Computer system and method of manipulating a graphical user interface component on a computer display through collision with a pointer
US6480207B1 (en) * 1999-08-30 2002-11-12 International Business Machines Corporation Method, apparatus and computer program product for implementing graphical user interface (GUI) window control
US6636244B1 (en) * 1999-09-13 2003-10-21 International Business Machines Corporation Pointing device selection method
US6396520B1 (en) * 2000-01-05 2002-05-28 Apple Computer, Inc. Method of transition between window states
US7149968B1 (en) 2000-01-21 2006-12-12 Siemens Aktiengesellschaft Method for the simultaneous non-overlapping representation of at least two data visualization windows in a display area of a monitor of a data processing installation
US6825860B1 (en) * 2000-09-29 2004-11-30 Rockwell Automation Technologies, Inc. Autoscaling/autosizing user interface window
US7181699B2 (en) * 2001-06-13 2007-02-20 Microsoft Corporation Dynamic resizing of dialogs
US20030107604A1 (en) * 2001-12-12 2003-06-12 Bas Ording Method and system for automatic window resizing in a graphical user interface
US7444599B1 (en) * 2002-03-14 2008-10-28 Apple Inc. Method and apparatus for controlling a display of a data processing system
US7369102B2 (en) * 2003-03-04 2008-05-06 Microsoft Corporation System and method for navigating a graphical user interface on a smaller display
US20050022135A1 (en) * 2003-07-23 2005-01-27 De Waal Abraham B. Systems and methods for window alignment grids
US7817163B2 (en) 2003-10-23 2010-10-19 Microsoft Corporation Dynamic window anatomy
US7370284B2 (en) * 2003-11-18 2008-05-06 Laszlo Systems, Inc. User interface for displaying multiple applications
US7360168B2 (en) * 2004-02-12 2008-04-15 International Business Machines Corporation Automatically scaling the information and controls in navigation tabs per available window area
TWI256020B (en) 2004-09-13 2006-06-01 Jiunn-Sheng Yan Editing method of electronic book
US7552397B2 (en) * 2005-01-18 2009-06-23 Microsoft Corporation Multiple window behavior system
US7886233B2 (en) * 2005-05-23 2011-02-08 Nokia Corporation Electronic text input involving word completion functionality for predicting word candidates for partial word inputs
US7437678B2 (en) * 2005-10-27 2008-10-14 International Business Machines Corporation Maximizing window display area using window flowing
KR100818918B1 (ko) * 2006-02-14 2008-04-04 삼성전자주식회사 윈도우의 배치를 관리하는 장치 및 그 방법
EP1847924A1 (en) * 2006-04-20 2007-10-24 International Business Machines Corporation Optimal display of multiple windows within a computer display
US8443298B2 (en) * 2006-06-30 2013-05-14 International Business Machines Corporation Method and apparatus for repositioning a horizontally or vertically maximized display window
US20080005692A1 (en) 2006-06-30 2008-01-03 Hoblit Robert S Method and apparatus for resizing a display window along a dimension
US8464177B2 (en) 2006-07-26 2013-06-11 Roy Ben-Yoseph Window resizing in a graphical user interface
US10503342B2 (en) * 2006-08-04 2019-12-10 Apple Inc. User interface spaces
US9116593B2 (en) * 2007-07-06 2015-08-25 Qualcomm Incorporated Single-axis window manager
US7949954B1 (en) 2007-08-17 2011-05-24 Trading Technologies International, Inc. Dynamic functionality based on window characteristics
US20090106704A1 (en) * 2007-10-18 2009-04-23 Sony Ericsson Mobile Communications Ab Method, apparatus, and consumer product for creating shortcut to interface element
US7961202B2 (en) * 2007-10-26 2011-06-14 Mitel Networks Corporation Method and apparatus for maintaining a visual appearance of at least one window when a resolution of the screen changes
US20090122018A1 (en) * 2007-11-12 2009-05-14 Leonid Vymenets User Interface for Touchscreen Device
US8356258B2 (en) * 2008-02-01 2013-01-15 Microsoft Corporation Arranging display areas utilizing enhanced window states
US9495471B2 (en) * 2008-12-04 2016-11-15 International Business Machines Corporation Optimize view elements sizes to maximize most data viewed in a multiple view elements GUI

Also Published As

Publication number Publication date
TW200939105A (en) 2009-09-16
EP2238528B1 (en) 2019-07-03
TW201506756A (zh) 2015-02-16
RU2010132252A (ru) 2012-02-10
US8356258B2 (en) 2013-01-15
TWI539359B (zh) 2016-06-21
KR101608183B1 (ko) 2016-04-01
WO2009099697A1 (en) 2009-08-13
JP5466652B2 (ja) 2014-04-09
US9239667B2 (en) 2016-01-19
RU2493581C2 (ru) 2013-09-20
BRPI0907249A2 (pt) 2015-07-14
EP2238528A1 (en) 2010-10-13
KR20100121470A (ko) 2010-11-17
US20130104075A1 (en) 2013-04-25
EP2238528A4 (en) 2014-03-19
CN101932993A (zh) 2010-12-29
TWI469032B (zh) 2015-01-11
KR101608095B1 (ko) 2016-03-31
JP2011511369A (ja) 2011-04-07
US20090199128A1 (en) 2009-08-06
CN101932993B (zh) 2013-04-10

Similar Documents

Publication Publication Date Title
KR101608095B1 (ko) 향상된 창 상태를 이용한 디스플레이 영역의 배열
US20240152223A1 (en) Systems and Methods for Interacting with Multiple Applications that are Simultaneously Displayed on an Electronic Device with a Touch-Sensitive Display
US9886179B2 (en) Anchored approach to scrolling
US11150780B2 (en) Updating display of workspaces in a user interface for managing workspaces in response to user input
KR102004553B1 (ko) 사용자 인터페이스에서의 작업 공간 관리
KR101600642B1 (ko) 드래그 동작을 이용한 메뉴의 액세싱
US10152192B2 (en) Scaling application windows in one or more workspaces in a user interface
US9639238B2 (en) Modification of a characteristic of a user interface object
US9292196B2 (en) Modifying the presentation of clustered application windows in a user interface
US20120144331A1 (en) Method for Arranging Application Windows on a Display
KR102428753B1 (ko) 터치 감응형 디스플레이를 갖는 전자 디바이스 상에 동시에 디스플레이되는 다수의 애플리케이션들과 상호작용하기 위한 시스템들 및 방법들
US20220391158A1 (en) Systems and Methods for Interacting with Multiple Display Devices
KR20160031397A (ko) 어플리케이션 선택 화면을 통해 어플리케이션들을 실행하는 방법 및 장치
CN115617226A (zh) 图标管理方法及装置
CN106126107B (zh) 电子设备和控制方法
AU2013216607B2 (en) Managing workspaces in a user interface

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 5