KR102113371B1 - 창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤 - Google Patents

창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤 Download PDF

Info

Publication number
KR102113371B1
KR102113371B1 KR1020157032167A KR20157032167A KR102113371B1 KR 102113371 B1 KR102113371 B1 KR 102113371B1 KR 1020157032167 A KR1020157032167 A KR 1020157032167A KR 20157032167 A KR20157032167 A KR 20157032167A KR 102113371 B1 KR102113371 B1 KR 102113371B1
Authority
KR
South Korea
Prior art keywords
application window
application
divider control
window
user interface
Prior art date
Application number
KR1020157032167A
Other languages
English (en)
Other versions
KR20150143630A (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 KR20150143630A publication Critical patent/KR20150143630A/ko
Application granted granted Critical
Publication of KR102113371B1 publication Critical patent/KR102113371B1/ko

Links

Images

Classifications

    • 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
    • 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]
    • 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

Landscapes

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

Abstract

애플리케이션 창 분할기 컨트롤이 사용자 인터페이스에서 제1 애플리케이션 창과 제2 애플리케이션 창에 의해 공유된다. 사용자 인터페이스의 축을 따라 상기 애플리케이션 창 분할기 컨트롤을 이동시키는 수신된 지향성 명령에 기초하여, 제1 애플리케이션 창과 제2 애플리케이션 창의 배치가 사용자 인터페이스의 축을 따라 일정하게 이격된 지점들의 범위에 걸쳐 위치될 수 있다. 배치 조정은 또한 사용자 인터페이스의 다른 애플리케이션 창에도 또한 영향을 줄 수 있다. 애플리케이션 창 분할기 컨트롤은 소정의 조건이 만족된 때 축을 따라 "자기" 지점을 제공하도록 또한 스냅될 수 있다.

Description

창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤{APPLICATION WINDOW DIVIDER CONTROL FOR WINDOW LAYOUT MANAGEMENT}
본 발명은 창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤에 관한 것이다.
대응하는 사용자 인터페이스를 포함한 컴퓨터 운영체제는 사용자 인터페이스를 통해 사용자에게 프리젠테이션하기 위한 애플리케이션 창을 사용자가 조정할 수 있게 한다. 그러나, 이러한 사용자 지향적 조정은, 특히 사용자 인터페이스가 보다 현대적이고 유연하게 됨에 따라 불편한 제한을 가져온다.
여기에서 설명하고 청구되는 구현예는 사용자 인터페이스에서 제1 애플리케이션 창과 제2 애플리케이션 창에 의해 공유되는 애플리케이션 창 분할기 컨트롤을 제공함으로써 전술한 문제점들을 해결한다. 사용자 인터페이스의 축을 따라 상기 애플리케이션 창 분할기 컨트롤을 이동시키는, 수신된 지향성 명령(directional instruction)에 기초하여, 상기 제1 애플리케이션 창과 상기 제2 애플리케이션 창의 배치가 사용자 인터페이스의 축을 따라 일정하게 이격된 지점들의 범위에 걸쳐 위치될 수 있다. 배치 조정은 또한 사용자 인터페이스의 다른 애플리케이션 창에도 영향을 줄 수 있다. 애플리케이션 창 분할기 컨트롤은 소정의 조건이 만족될 때 축을 따라 "자기(magnetic)" 지점을 제공하도록 또한 스냅(snap)될 수 있다.
이 요약은 뒤의 상세한 설명 부분에서 더 구체적으로 설명하는 개념들의 선택을 간단한 형태로 소개하기 위해 제공된다. 이 요약은 청구된 발명내용의 핵심적인 특징 또는 본질적인 특징을 식별하기 위한 것으로 의도되지 않고, 또한 청구된 발명내용의 범위를 제한하기 위해 사용되는 것으로 의도되지 않는다.
다른 구현예가 또한 여기에서 설명 및 인용된다.
도 1은 예시적인 사용자 인터페이스 화면에서 애플리케이션 창 분할기 컨트롤을 공유하는 2개의 애플리케이션 창을 나타낸다.
도 2는 예시적인 사용자 인터페이스에서 애플리케이션 창 분할기 컨트롤을 공유하는 2개의 애플리케이션 창의 개략도를 나타낸다.
도 3은 예시적인 사용자 인터페이스에서 애플리케이션 창 분할기 컨트롤을 공유하는 2개의 애플리케이션 창 및 제3 애플리케이션 창의 개략도이다.
도 4는 애플리케이션 창 분할기 컨트롤을 구현하는 사용자 인터페이스 동작의 예시적인 시퀀스를 보인 도이다.
도 5는 예시적인 사용자 인터페이스의 자기 지점에서 애플리케이션 창 분할기 컨트롤을 공유하는 2개의 애플리케이션 창의 개략도이다.
도 6은 애플리케이션 창 분할기 컨트롤을 이용하여 2개의 애플리케이션 창의 배치를 조정하는 예시적인 동작을 보인 도이다.
도 7은 예시적인 사용자 인터페이스의 자기 지점에 대하여 애플리케이션 창 분할기 컨트롤을 동작시키는 예시적인 동작을 보인 도이다.
도 8은 본 발명의 기술을 구현하는데 유용한 예시적인 시스템을 보인 도이다.
애플리케이션 창의 론칭(launching)은, 비제한적인 예를 들자면, 애플리케이션을 초기에 실행하는 단계와, 이미 실행중인 애플리케이션의 새로운 또는 숨겨진 애플리케이션 창으로 전환하는 단계를 포함한다. 또한, 애플리케이션 창은, 비제한적인 예를 들자면, 운영체제 컴포넌트, 운영체제 유틸리티 및 특수 용도 애플리케이션 프로그램(예를 들면, 웹 브라우저 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램)의 창을 포함할 수 있다.
도 1은 예시적인 사용자 인터페이스 화면(104)에서 애플리케이션 창 분할기 컨트롤(110)을 공유하는 2개의 애플리케이션 창(100, 102)을 보인 도이다. 창 관리 시스템(106)은 전형적으로 운영체제 또는 사용자 인터페이스 환경의 컴포넌트이지만 또한 독립 애플리케이션일 수 있다. 창 관리 시스템(106)은 애플리케이션 창(100, 102)의 디스플레이, 배치, 레이아웃, 외관 및 기타의 양태뿐만 아니라 다른 창 및 사용자 인터페이스 특성과 동작을 관리한다.
애플리케이션 창(100)은 웹 검색 엔진으로부터의 검색 결과를 디스플레이하는 검색 결과 창을 제시한다. 개별적인 검색 결과(예를 들면, 검색 결과(108))는 브라우저로 내비게이션가능한 링크와 함께 대표되는 텍스트 및/또는 하나 이상의 이미지를 포함하는데, 이러한 링크는 상기 브라우저로 내비게이션가능한 링크에 의해 식별된 웹사이트로의 내비게이션을 위해 사용자에 의해 선택될 수 있다. 애플리케이션 창(102)은 콜로라도주 덴버의 4일간의 날씨 예보를 포함한, 날씨 애플리케이션 또는 웹사이트로부터의 결과를 제시한다. 창 경계 컨트롤(110)은 도시된 경우에 있어서 애플리케이션 창(100)의 디스플레이된 영역과 애플리케이션 창(102)의 디스플레이된 영역을 나누어서 애플리케이션 창들을 분리한다. 일부 구현예에 있어서, 창 경계 컨트롤(110)은 하나의 창 또는 2개의 창 모두의 크기 및/또는 위치를 변경하기 위해 사용자에 의해 조작될 수 있다.
애플리케이션 창(100, 102)은 중첩되지 않는 창으로서 도 1에 도시되어 있다. 그러나, 본 발명의 기술은 중첩되지 않는 창 환경으로 제한되지 않는다. 예를 들면, 그러한 환경에서, 중첩하는 창 환경 내의 각 애플리케이션 창은 잠재적으로 중첩하는 창(예를 들면, 창들의 z 방향 배열)의 위치, 크기 및 앞뒤 배열(집합적으로 "배치"라고 함)을 변경하기 위해 사용자에 의해 조작될 수 있는 창 경계 컨트롤에 의해 결합될 수 있다. 창 관리 시스템(106)은 애플리케이션 창(100, 102)을 통해서 및 다른 사용자 인터페이스 컴포넌트(예를 들면, 키보드 인터페이스, 터치스크린 인터페이스, 음성 인터페이스 및 포인팅 장치)를 통해서 입력을 수신하고, 애플리케이션 창(100, 102), 창 경계 컨트롤(110), 및 다른 애플리케이션 창 및 컨트롤을 사용자 인터페이스를 통해 디스플레이한다.
창 경계 컨트롤(110)은 2개의 별개의 애플리케이션 창(100, 102) 사이 또는 애플리케이션 창과 사용자 인터페이스의 빈 공간 사이의 분할기를 나타내며, 따라서 "애플리케이션 창 분할기 컨트롤"이라고도 부른다. 애플리케이션 창 분할기 컨트롤은 (빈 공간과 관련하여) 애플리케이션 창의 크기 또는 애플리케이션 창(100, 102)의 상대적 크기의 변화를 창 관리 시스템(106)에 전달하기 위해 사용자 인터페이스를 통해 조작될 수 있다. 따라서, 애플리케이션 창 분할기 컨트롤의 기능은 하나의 애플리케이션 창 또는 다른 애플리케이션 창의 컴포넌트이기보다는 하나 이상의 애플리케이션 창의 외부 경계를 제공하는 창 관리 시스템 컨트롤을 나타내고, 일부 구성에서 사용자 인터페이스 및 창 관리 시스템(106)의 일부로서 2개 이상의 애플리케이션 창에 의해 공유될 수 있다.
일 구현예에 있어서, 2개 이상의 애플리케이션 창 분할기 컨트롤이 함께 합병되어 단일의 애플리케이션 창 분할기 컨트롤을 형성할 수 있다. 예를 들면, 2개의 애플리케이션 창이 사용자 인터페이스의 수평축을 따라 제시되고 빈 공간에 의해 분리될 수 있다. 이 시나리오에서, 각각의 애플리케이션은 애플리케이션 창과 빈 공간 사이에서 애플리케이션 창 분할기 컨트롤과 함께 디스플레이된다. 만일 애플리케이션 창 분할기 컨트롤 중의 하나가 다른 애플리케이션 창 분할기 컨트롤로 드래그되면, 빈 공간은 확장된 애플리케이션 창으로 채워지고 2개의 애플리케이션 창 분할기 컨트롤이 사용자 인터페이스 내에서 단일의 애플리케이션 창 분할기 컨트롤로 합병된다. 또한, 2개의 애플리케이션 창 분할기 컨트롤은 그 다음에 자신들 사이의 빈 공간이 최소의 빈 공간 폭으로 좁아질 때 단일 애플리케이션 창 분할기 컨트롤로 "스냅"(snap)될 수 있다.
비록 도 1에서는 중첩되지 않는 창 환경을 도시하고 있지만, 중첩하는 창 환경이 하나의 애플리케이션 창을 다른 애플리케이션 창으로부터 분할하는, 또는 사용자 인터페이스 내의 빈 공간에 대하여 애플리케이션 창 또는 애플리케이션 창에 의해 부분적으로 폐색된 다른 애플리케이션 창을 분할하는/결합하는 창 관리 시스템 컨트롤로서 애플리케이션 창 분할기를 또한 사용할 수 있다.
사용자는 애플리케이션 창 분할기 컨트롤을 선택하고(예를 들면, 터치스크린, 포인팅 장치, 키보드 입력을 통해), 사용자 인터페이스의 수평 범위를 따른 광범위의 비교적 연속적인 위치들을 따라 상기 애플리케이션 창 분할기 컨트롤을 좌우로 드래그할 수 있다. 예를 들면, 사용자는 애플리케이션 창 분할기 컨트롤 포커스를 제공할 수 있고(예를 들면, 애플리케이션 창 분할기 컨트롤 포커스를 선택함으로써), 그 다음에 사용자는 애플리케이션 창 분할기 컨트롤이 축을 따라 원하는 위치에 있게 될 때까지 키보드 입력(예를 들면, 화살표 키)을 누르거나 다른 방식으로 작동시킴으로써 애플리케이션 창 분할기 컨트롤을 이동시킬 수 있다. 일 구현예에 있어서, 상기 비교적 연속적인 위치들은 수평축을 따라 밀접하게 및 일정하게 이격된 지점들을 포함한다(예를 들면, 각 지점은 소수 개의 화소에 의해 또는 어떤 다른 시각적으로 연속적인 간격으로 인접 지점으로부터 분리된다). 대안적인 구현예는 사용자 인터페이스의 수직 범위를 따라 또는 어떤 다른 축을 따라 비교적 연속적인 창 분할기 컨트롤을 제공할 수 있다는 것을 이해할 것이다. 사용자 인터페이스는 복수의 애플리케이션 창 분할기 컨트롤을 또한 포함할 수 있고, 그중 일부는 다른 축에서 교차할 수 있다.
일 구현예에 있어서, 수평 방향에서 애플리케이션 창 분할기 컨트롤의 사용자 유도 움직임에 응답해서, 사용자 인터페이스는 애플리케이션 창(100, 102)의 연속적인 상대적 크기를 제안하는 시각적 큐(cue)를 제공한다. 예를 들면, 애플리케이션 창 분할기 컨트롤 자체가 움직이거나, 적어도 하나의 애플리케이션 창이 동적으로 크기 조정되는 것으로 나타나거나, 또는 어떤 다른 사용자 친화적 크기 조정 제안이 사용자 인터페이스에서 애니메이션화될 수 있다. 일 구현예에 있어서, 애플리케이션 창은 크기 조정 중에 지향성 명령의 개시시에 또는 그 부근에서 포착된 각 창의 스냅샷으로서 표시될 수 있다. 다른 구현예에 있어서, 애플리케이션 창은 크기 조정 중에 라이브(live) 애플리케이션 창으로서 또는 다른 창 플레이스홀더 표시로서 표시될 수 있다.
사용자가 크기 조정을 수행할 때(예를 들면, 사용자의 터치를 제거하는 것, 포인팅 장치 버튼을 선택해제하는 것 등), 양측의 애플리케이션 창은 애플리케이션 창 분할기 컨트롤의 최종 위치에 의해 지정된 상대적 크기로 제자리에 스냅된다. 다른 구현예에 있어서, 수평 방향으로 애플리케이션 창 분할기 컨트롤의 사용자 유도 움직임에 응답하여, 애플리케이션 창(100, 102)의 인접 측면이 애플리케이션 창 분할기 컨트롤과 시각적 일치성을 갖고 움직인다. 예를 들면, 애플리케이션 창 분할기는 연속적으로 이동하고 양측의 애플리케이션 창(100, 102)은 동적으로 크기 조정된다. 사용자가 크기 조정을 수행할 때(예를 들면, 사용자의 터치를 제거하는 것, 포인팅 장치 버튼을 선택해제하는 것 등), 양측의 애플리케이션 창은 애플리케이션 창 분할기 컨트롤의 최종 위치에 의해 지정된 상대적 크기로 남는다.
도 2는 예시적인 사용자 인터페이스(206)에서 애플리케이션 창 분할기 컨트롤(204)을 공유하는 2개의 애플리케이션 창(예를 들면, 애플리케이션 A(애플리케이션 A)용의 애플리케이션 창(200)과 애플리케이션 B(애플리케이션 B)용의 애플리케이션 창(202))의 개략도이다. 애플리케이션 창 분할기 컨트롤(204)은 애플리케이션 창(200, 202)에 의해 공유되지만 어느 하나의 애플리케이션 창의 컴포넌트는 아니다. 애플리케이션 창 분할기 컨트롤(204)은 창 관리 시스템(208)의 컨트롤이고, 창 관리 시스템(208)은 애플리케이션 창(200, 202)의 디스플레이, 배치, 레이아웃, 외관 및 기타의 양태뿐만 아니라 다른 창 및 사용자 인터페이스 특성과 동작을 관리한다. 창 관리 시스템(208)은 사용자 입력(예를 들면, 드래그와 같은 지향성 명령)의 수신, 애플리케이션 창(200, 202)의 상호 크기 조정, 및 사용자 인터페이스(206) 내에서 애플리케이션 창(200, 202)의 프리젠테이션을 포함한, 애플리케이션 창 분할기 컨트롤(204)의 사용자 조작을 관리한다.
도 2에 도시된 바와 같이, 애플리케이션 창 분할기 컨트롤(204)은 사용자가 제공한 지향성 명령에 응답하여 사용자 인터페이스(206)의 수평축을 따라 이동할 수 있다. 지향성 명령의 완료시에(예를 들면, 사용자는 손가락을 터치스크린에서 밀어올림으로써 애플리케이션 창 분할기 컨트롤의 드래그를 수행한다), 애플리케이션 창(200, 202)은 지향성 명령의 종점(예를 들면, 지향성 명령의 완료시에 축을 따른 애플리케이션 창 분할기 컨트롤(204)의 위치)에 따라 자신들의 배치를 조정한다. 도 2에서, 이러한 배치 조정은 애플리케이션 창 분할기 컨트롤(204)의 최종 위치에 기초한 애플리케이션 창(200, 202)의 보충적 크기 조정을 가져올 것이다.
도 3은 예시적인 사용자 인터페이스(306)에서 애플리케이션 창 분할기 컨트롤(304)을 공유하는 2개의 애플리케이션 창(예를 들면, 애플리케이션 B용의 애플리케이션 창(300)과 애플리케이션 C용의 애플리케이션 창(302)) 및 제3 애플리케이션 창(애플리케이션 A용의 애플리케이션 창(310))의 개략도이다. 애플리케이션 창 분할기 컨트롤(304)은 애플리케이션 창(300, 302)에 의해 공유되지만 어느 하나의 애플리케이션 창의 컴포넌트는 아니다. 다른 애플리케이션 창 분할기 컨트롤(305)이 또한 사용자 인터페이스(306)에 제공되고, 애플리케이션 창(310, 300)에 의해 공유된다. 애플리케이션 창 분할기 컨트롤(304, 305)은 창 관리 시스템(308)의 컨트롤이고, 창 관리 시스템(308)은 애플리케이션 창(300, 302, 310)의 디스플레이, 배치, 레이아웃, 외관 및 기타의 양태뿐만 아니라 다른 창 및 사용자 인터페이스 특성과 동작을 관리한다. 창 관리 시스템(308)은 사용자 입력(예를 들면, 드래그와 같은 지향성 명령)의 수신, 애플리케이션 창 분할기 컨트롤(304)에 기초한 애플리케이션 창(300, 302)의 상호 크기 조정, 애플리케이션 창 분할기 컨트롤(305)에 기초한 애플리케이션 창(300, 310)의 상호 크기 조정 및 사용자 인터페이스(306) 내에서 애플리케이션 창(300, 302, 310)의 프리젠테이션을 포함한, 애플리케이션 창 분할기 컨트롤(304, 305)의 사용자 조작을 관리한다.
도 3에 도시된 바와 같이, 애플리케이션 창 분할기 컨트롤(304, 305)은 사용자가 제공한 지향성 명령에 응답하여 사용자 인터페이스(306)의 수평축을 따라 이동할 수 있다. 애플리케이션 창 분할기 컨트롤(304)과 관련한 지향성 명령의 완료시에(예를 들면, 사용자는 손가락을 터치스크린에서 밀어올림으로써 애플리케이션 창 분할기 컨트롤의 드래그를 수행한다), 창 관리 시스템(308)은 지향성 명령의 종점(예를 들면, 지향성 명령의 완료시에 축을 따른 애플리케이션 창 분할기 컨트롤(304)의 위치)에 따라 애플리케이션 창(300, 302)의 배치를 조정한다. 도 3에서, 이러한 배치 조정은 애플리케이션 창 분할기 컨트롤(304)의 최종 위치에 기초한 애플리케이션 창(300, 302)의 보충적 크기 조정을 가져올 것이다. 애플리케이션 창(300, 310)에 대한 유사한 행동이 애플리케이션 창 분할기 컨트롤(305)에 제공된 지향성 명령에 응답하여 발생할 것이다. 또한, 각각의 애플리케이션 창 분할기 컨트롤(304, 305)은 자신이 공유(예를 들면, 분할)하지 않는 애플리케이션 창의 배치에 영향을 줄 수 있다. 예를 들면, 일부 환경에서, 애플리케이션 창 분할기 컨트롤(304)에 대한 지향성 명령은 뒤에서 설명하는 바와 같이 애플리케이션 창(310)에 대한 배치 조정을 야기할 수 있다.
도 4는 애플리케이션 창 분할기 컨트롤(400)을 구현하는 사용자 인터페이스 동작의 예시적인 시퀀스를 보인 도이다. 402에서, 사용자 인터페이스는 애플리케이션 A, 애플리케이션 B 및 애플리케이션 C용의 애플리케이션 창을 제시한다. 지향성 명령이 애플리케이션 창 분할기 컨트롤(400)에 제공되어 애플리케이션 창 분할기 컨트롤(400)을 애플리케이션 B 및 애플리케이션 A 쪽으로 좌측 방향으로 이동시킴으로써 애플리케이션 B용의 애플리케이션 창의 배치(예를 들면, 크기)를 조정하고(예를 들면, 그 폭을 감소시킴) 애플리케이션 C용의 애플리케이션 창의 배치(예를 들면, 크기)를 조정한다(예를 들면, 그 폭을 증가시킴). 404에서, 애플리케이션 B용의 애플리케이션 창의 배치가 최소 크기 조건(412)을 만족시켰다. 즉, 애플리케이션 B용의 애플리케이션 창의 폭이 정적으로 또는 동적으로 결정될 수 있는 소정의 폭 역치까지 감소하면, 애플리케이션 B용의 애플리케이션 창의 폭은 감소를 계속하지 않는다.
그 대신에, 406에 나타낸 바와 같이, 계속되는 지향성 명령은 애플리케이션 A용의 애플리케이션 창이 그 배치를 조정(예를 들면, 그 폭을 감소시킴)하게 하고, 한편, 애플리케이션 B용의 애플리케이션 창의 폭은 그 최소 크기 조건(412)을 유지한다. 애플리케이션 A용의 애플리케이션 창의 배치가 그 최소 크기 조건(414)을 만족시킨 때, 애플리케이션 A용의 애플리케이션 창의 폭이 또한 감소를 정지한다.
따라서, 지향성 명령의 연속은 애플리케이션 A 및 애플리케이션 B용의 애플리케이션 창의 폭을 각각 그 최소 크기 조건(414, 412)까지 감소시킨다. 그러므로, 408에서, 지향성 명령의 연속은 애플리케이션 A용의 애플리케이션 창이 사용자 인터페이스로부터 제거되게 한다. 일 구현예에 있어서, 애플리케이션 A용의 애플리케이션 창은 (예를 들면, 지향성 명령의 방향으로) 사용자 인터페이스의 좌측 가장자리 밖으로 밀려지는 것으로 나타나도록 애니메이션화된다.
416에서, 지향성 명령은 애플리케이션 B용의 애플리케이션 창이 사용자 인터페이스로부터 제거되도록 계속된다. 일 구현예에 있어서, 애플리케이션 B용의 애플리케이션 창은 (예를 들면, 지향성 명령의 방향으로) 사용자 인터페이스의 좌측 가장자리 밖으로 밀려지는 것으로 나타나도록 애니메이션화된다.
도 4의 동작 흐름의 각 단계에서, 지향성 명령이 완료될 수 있다(예를 들면, 사용자가 터치스크린에서 손가락을 밀어올림으로써, 사용자가 포인팅 장치의 눌러진 버튼으로부터 손가락을 제거함으로써, 사용자가 지향성 명령을 완료하기 위한 적당한 키보드 입력을 제공함으로써). 지향성 명령이 완료된 때 애플리케이션 창 분할기 컨트롤이 위치되어 있는 사용자 인터페이스의 축을 따르는 임의의 지점에서, 창 관리 시스템은 대응하는 애플리케이션 창 분할기 컨트롤의 배치에 따라서 애플리케이션 창의 배치를 제공한다.
일 구현예에 있어서, 창 관리 시스템은 사용자가 하나 이상의 크기 조정 동작을 취소(undo)할 수 있게 하기 위해 이전의 창 크기 및 배치를 기록한다.
도 5는 예시적인 사용자 인터페이스(508)의 자기 지점(magnetic point)(506)에서 애플리케이션 창 분할기 컨트롤(504)을 공유하는 2개의 애플리케이션 창(500, 502)의 개략도이다. 애플리케이션 창 분할기 컨트롤(504)은 애플리케이션 창(500, 502)에 의해 공유되지만 어느 하나의 애플리케이션 창의 컴포넌트는 아니다. 애플리케이션 창 분할기 컨트롤(504)은 창 관리 시스템(512)의 컨트롤이고, 창 관리 시스템(512)은 애플리케이션 창(500, 502)의 디스플레이, 배치, 레이아웃, 외관 및 기타의 양태뿐만 아니라 다른 창 및 사용자 인터페이스 특성과 동작을 관리한다. 창 관리 시스템(512)은 사용자 입력(예를 들면, 드래그와 같은 지향성 명령)의 수신, 애플리케이션 창(500, 502)의 상호 크기 조정, 및 사용자 인터페이스(508) 내에서 애플리케이션 창(500, 502)의 프리젠테이션을 포함한, 애플리케이션 창 분할기 컨트롤(504)의 사용자 조작을 관리한다.
도 5에 도시된 바와 같이, 애플리케이션 창 분할기 컨트롤(504)은 사용자가 제공한 지향성 명령에 응답하여 사용자 인터페이스(508)의 수평축을 따라 이동할 수 있다. 지향성 명령의 완료에 기초하여(예를 들면, 사용자는 손가락을 터치스크린에서 밀어올림으로써 애플리케이션 창 분할기 컨트롤의 드래그를 수행한다), 애플리케이션 창(500, 502)은 지향성 명령의 종점(예를 들면, 지향성 명령의 완료시에 축을 따른 애플리케이션 창 분할기 컨트롤(504)의 위치)에 따라 자신들의 배치를 조정한다. 도 5에서, 이러한 배치 조정은 애플리케이션 창 분할기 컨트롤(504)의 최종 위치에 기초한 애플리케이션 창(500, 502)의 보충적 크기 조정을 가져올 것이다.
또한, 도 5는 사용자 인터페이스(508)의 수평축을 따라 3개의 "자기" 지점을 도시하고 있다. 그러나, 임의 수의 자기 지점도 가능하다. 각각의 자기 지점은 지향성 명령 중에 애플리케이션 창 분할기 컨트롤(504)의 이동이 속도 조건(예를 들면, 이동이 속도 역치 이하로 느리다) 및/또는 거리 조건(예를 들면, 이동이 애플리케이션 창 분할기(504)를 자기 지점으로부터 소정의 거리 역치(510) 이내로 가져온다)을 만족시킨다. 예를 들면, 애플리케이션 창 분할기 컨트롤(504)이 사용자 인터페이스(508)의 수평축을 따라 좌측에서 우측으로 이동할 때, 사용자는 자기 지점(506) 부근에서 이동을 느리게 할 수 있고, 이것에 의해 애플리케이션 창 분할기 컨트롤(504)이 504'로 표시된 그 위치에 스냅될 수 있다.
자기 지점의 위치는 보여지는 애플리케이션 창의 경우 정적으로 또는 지향성 명령 중에 동적으로 결정될 수 있다. 예를 들면, 정적으로 결정된 자기 지점은 2개의 애플리케이션 창이 가시적일 때 수평축의 중앙에 위치될 수 있고, 또는 자기 지점은 3개의 애플리케이션 창이 가시적일 때 수평축을 따라 1/3 지점에 위치될 수 있다. 이와 대조적으로, 일부 자기 지점의 위치는 지향성 명령 중에 동적으로 결정될 수 있다. 예를 들면, 지향성 명령의 개시에 응답하여, 창 관리 시스템은 축을 따르는 임의 자기 지점의 위치를 계산할 수 있고, 일부 구현예에 있어서, 위치는 지향성 명령이 실행을 계속할 때 애플리케이션 창 배치 선호도 및 다른 제약에 종속되어 동적으로 갱신될 수 있다. 궁극적으로, 지향성 명령이 수행될 때, 애플리케이션 창 분할기 컨트롤은 자기 지점의 동적으로 계산된 위치에 스냅될 것이다.
용어 "스냅"은 애플리케이션 창 분할기 컨트롤(504)이 초기에 자기 지점(506)과 정렬되지 않지만 애플리케이션 창 분할기 컨트롤(504)의 이동이 자기 지점(506)과 관련된 속도 조건 및 거리 조건을 만족시킬 때 축을 따라 자기 지점(506)과 정렬되도록 애플리케이션 창 분할기 컨트롤(504)을 이동시키는 것을 묘사한다. 시각적으로, 일 구현예에 있어서, 이러한 스냅 동작은 자기 지점(506)과 정렬하도록 애플리케이션 창 분할기 컨트롤(504)에 의한 비교적 빠른 이동 또는 점프로서 나타난다. 그러나, 대안적인 구현예에 있어서, 스냅 동작은 사용자 인터페이스(508)를 통하여 다른 방법(예를 들면, 창 경계의 스냅핑, 애플리케이션 창의 고스트 이미지의 빠른 이동 등)으로 제공될 수 있다.
각종 유형의 자기 지점을 이용할 수 있다는 것을 이해하여야 한다. 일 예로서, 자기 지점은 애플리케이션 창의 일정한 수평 및/또는 크기를 유지하도록 배치될 수 있다(예를 들면, 3개의 창이 각각 동일한 폭을 갖는다). 다른 예로서, 사용자 인터페이스 내에서 축을 따르는 자기 지점의 배치에 있어서 최소 및 최대 창 크기, 사용자가 규정하는 크기 선호도, 및 시스템이 규정하는 창 선호도를 또한 고려할 수 있다.
일 구현예에 있어서, 하나 이상의 애플리케이션 창 분할기 컨트롤이 더블 클릭을 통해, 더블 탭을 통해, 또는 애플리케이션 창 분할기 컨트롤 중 하나에서 또는 상기 하나의 애플리케이션 창 분할기 컨트롤과 관련한 키 조합을 통해 적당한 자기 지점에 자동으로 스냅될 수 있다. 이러한 사용자 입력은 애플리케이션 창 배치 선호도 및 다른 제약에 종속하여 가장 가까운 자기 지점에 스냅되도록 적당한 방향으로 이동하게끔 하나 이상의 애플리케이션 창 분할기 컨트롤을 지시할 수 있다. 일 구현예에 있어서, 동일한 애플리케이션 창 분할기 컨트롤에서의 사용자 입력의 반복은 사용자 인터페이스 내에서 가시적 애플리케이션 창의 애플리케이션 창 분할기 컨트롤이 애플리케이션 창 배치 선호도 및 다른 제약에 종속하여 가장 가까운 자기 지점에 스냅되도록 적당한 방향으로 이동하게 한다.
도 6은 애플리케이션 창 분할기 컨트롤을 이용하여 2개의 애플리케이션 창의 배치를 조정하는 예시적인 동작(600)을 보인 도이다. 제시 동작(602)은 사용자 인터페이스에서 2개의 애플리케이션 창에 의해 공유되는 애플리케이션 창 분할기 컨트롤을 제시한다. 일 구현예에 있어서, 애플리케이션 창 분할기 컨트롤은 2개의 애플리케이션 창을 분리, 즉 2개의 애플리케이션 창 간의 경계로서 작용한다. 명령 동작(604)은 애플리케이션 창 분할기 컨트롤과 관련한 지향성 명령(예를 들면, 드래그 행동)을 수신한다. 조정 동작(606)은 애플리케이션 창 분할기 컨트롤에 인가된 지향성 명령에 기초하여 2개의 애플리케이션 창의 상대적 배치를 조정한다. 예를 들면, 애플리케이션 창 분할기 컨트롤이 이동할 때 또는 그 이동이 완료된 후에 사용자 인터페이스에서 하나의 애플리케이션 창은 더 좁아지고 다른 애플리케이션 창은 더 넓어진다.
결정 동작(608)은 애플리케이션 창 중의 하나가 최소 크기 조건을 만족시키는 크기로 되었는지 결정한다(주: 다른 애플리케이션 창들은 다른 최소 크기 조건을 가질 수 있다). 만일 아니면, 조정 동작(606)이 지향성 명령 처리를 계속한다. 만일 결정 동작(608)에서 애플리케이션 창 중의 하나가 최소 크기 조건을 만족시켰다고 결정하면, 그 애플리케이션 창은 좁아지는 것을 정지하고, 다른 결정 동작(610)에서 다른 애플리케이션 창이 사용자 인터페이스 내에서 지향성 명령의 방향으로 위치하고 있는지 결정한다. 만일 아니면, 최소 크기 조건을 만족시키는 애플리케이션 창이 제거 동작(612)에서 사용자 인터페이스로부터 제거된다. 그렇지 않으면, 다른 조정 동작(614)에서 지향성 명령에 기초하여 다른 애플리케이션 창의 배치를 조정한다. 일 구현예에 있어서, 조정 동작(614)의 시각적 효과는 제1의 최소 창을 그 최소 폭으로 동결하고 다음 창이 좁아지도록 다음 창의 측면을 밀기 시작하는 것과 유사하다.
다음 창이 또한 그 최소 폭 조건을 만족시키는 폭에 도달할 수 있다는 것을 이해하여야 한다. 따라서, 만일 지향성 명령이 동일 방향으로 계속되면, 다음 최소 창이 상기 제거 동작(612)과 관련하여 설명한 것과 유사한 방식으로 사용자 인터페이스로부터 제거될 수 있다. 또한, 다음 최소 창의 제거 후에, 동일 방향의 계속되는 지향성 명령에 종속하여, 제1의 최소 창이 상기 제거 동작(612)과 관련하여 설명한 것과 유사한 방식으로 제거될 수 있다.
도 7은 예시적인 사용자 인터페이스의 자기 지점에 대하여 애플리케이션 창 분할기 컨트롤을 동작시키는 예시적인 동작(700)을 보인 도이다. 제시 동작(702)은 사용자 인터페이스에서 2개의 애플리케이션 창에 의해 공유되는 애플리케이션 창 분할기 컨트롤을 제시한다. 일 구현예에 있어서, 애플리케이션 창 분할기 컨트롤은 2개의 애플리케이션 창을 분리, 즉 2개의 애플리케이션 창 간의 경계로서 작용한다. 명령 동작(704)은 애플리케이션 창 분할기 컨트롤과 관련한 지향성 명령(예를 들면, 드래그 행동)을 수신한다. 조정 동작(706)은 애플리케이션 창 분할기 컨트롤에 인가된 지향성 명령에 기초하여 2개의 애플리케이션 창의 상대적 배치를 조정한다.
결정 동작(708)은 애플리케이션 창 분할기 컨트롤의 이동이 사용자 인터페이스의 축을 따라 위치된 자기 지점과 관련하여 속도 조건 및/또는 거리 조건을 만족시키는지 결정한다. 예를 들면, 결정 동작(708)은 애플리케이션 창 분할기 컨트롤의 이동 속도가 소정의 속도 역치 이하인 것을 결정할 수 있다. 다른 예로서, 결정 동작(708)은 애플리케이션 창 분할기 컨트롤과 자기 지점 간의 거리가 소정의 거리 역치 이하인 것을 결정할 수 있다. 또 다른 예로서, 결정 동작(708)은 스냅 동작(710)으로 진행하기 위해 속도 조건과 거리 조건 둘 다를 테스트한다. 만일 상기 결정 동작(708)에서 적당한 조건이 만족되지 않으면, 조정 동작(706)이 2개의 애플리케이션 창의 상대적 배치를 조정하기 위해 계속된다.
만일 결정 동작(708)에서 적당한 조건 또는 조건들이 만족되면, 스냅 동작(710)이 애플리케이션 창 분할기 컨트롤을 사용자 인터페이스의 자기 지점에 스냅한다. 일 구현예에 있어서, 스냅 동작(710)은 자기 지점과 정렬되지 않은 위치로부터 자기 지점과 정렬되는 위치로 축을 따라 애플리케이션 창 분할기 컨트롤에 의한 빠른 이동을 제공한다.
상기 지향성 명령, 자기 지점 및 애플리케이션 창 분할기 컨트롤은 비제한적인 예로서 수평축 또는 수직축을 포함한 사용자 인터페이스의 임의의 축을 따라 수행, 조작 또는 배치될 수 있다.
도 8은 본 발명의 기술을 구현하는데 유용한 예시적인 시스템을 보인 도이다. 본 발명의 기술을 구현하는 도 8의 예시적인 하드웨어 및 운용 환경은 게이밍 콘솔 또는 컴퓨터(20) 형태의 범용 컴퓨팅 장치, 모바일 전화기, 개인용 정보 단말기(PDA), 셋톱박스 또는 다른 유형의 컴퓨팅 장치와 같은 컴퓨팅 장치를 포함한다. 도 8의 구현예에 있어서, 예를 들면, 컴퓨터(20)는 처리 장치(21), 시스템 메모리(22), 및 시스템 메모리를 포함한 각종 시스템 컴포넌트를 처리 장치(21)에 작용적으로 결합하는 시스템 버스(23)를 포함한다. 단지 하나의 처리 장치 또는 2개 이상의 처리 장치(21)가 있을 수 있고, 컴퓨터(20)의 프로세서는 단일의 중앙 처리 장치(CPU), 또는 일반적으로 병렬 처리 환경이라고 부르는 복수의 처리 장치를 포함한다. 컴퓨터(20)는 전통적 컴퓨터, 분산형 컴퓨터, 또는 임의의 다른 유형의 컴퓨터일 수 있고, 구현예는 특정 유형의 컴퓨터로 제한되지 않는다.
시스템 버스(23)는 메모리 버스 또는 메모리 제어기, 주변 버스, 스위칭 패브릭, 점대점 접속, 및 각종 버스 구조 중 임의의 구조를 이용하는 로컬 버스를 포함한 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리는 단순히 메모리라고도 부르며, 읽기 전용 메모리(ROM)(24) 및 랜덤 액세스 메모리(RAM)(25)를 포함한다. 예를 들면 시동 중에 컴퓨터(20) 내의 요소들 간에 정보를 전송하는데 도움을 주는 기본 루틴을 포함한 기본 입출력 시스템(BIOS)(26)이 ROM(24)에 저장된다. 컴퓨터(20)는 또한 도시를 생략한 하드 디스크로부터 판독하고 하드 디스크에 기입하는 하드 디스크 드라이브(27), 착탈식 자기 디스크(29)로부터 판독하고 착탈식 자기 디스크(29)에 기입하는 자기 디스크 드라이브(28), 및 CD ROM, DVD 또는 다른 광학 매체와 같은 착탈식 광 디스크(31)로부터 판독하고 상기 광 디스크(31)에 기입하는 광 디스크 드라이브(30)를 포함한다.
하드 디스크 드라이브(27), 자기 디스크 드라이브(28) 및 광 디스크 드라이브(30)는 각각 하드 디스크 드라이브 인터페이스(32), 자기 디스크 드라이브 인터페이스(33) 및 광 디스크 드라이브 인터페이스(34)에 의해 시스템 버스(23)에 접속된다. 상기 드라이브들 및 이들의 관련된 유형적 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(20)의 다른 데이터의 비휘발성 저장을 제공한다. 이 기술에 숙련된 사람이라면 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM) 등과 같은, 컴퓨터에 의해 접근 가능한 데이터를 저장할 수 있는 임의 유형의 유형적적 컴퓨터 판독가능 매체가 예시적인 운영 환경에서 사용될 수 있다는 것을 이해할 것이다.
운영체제(35), 하나 이상의 애플리케이션 프로그램(36), 다른 프로그램 모듈(37) 및 프로그램 데이터(38)를 포함한 다수의 프로그램 모듈이 하드 디스크, 자기 디스크(29), 광 디스크(31), ROM(24), 또는 RAM(25)에 저장될 수 있다. 사용자는 키보드(40) 및 포인팅 장치(42)와 같은 입력 장치를 통하여 퍼스널 컴퓨터(20)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시 생략됨)는 마이크로폰(예를 들면, 음성 입력용), 카메라(예를 들면, 자연적 사용자 인터페이스(NUI)용), 조이스틱, 게임 패드, 위성 접시, 스캐너 등을 포함할 수 있다. 상기 및 다른 입력 장치들은 가끔 시스템에 결합된 직렬 포트 인터페이스(46)를 통해 처리 장치(21)에 접속되지만, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스에 의해 접속될 수도 있다. 모니터(47) 또는 다른 유형의 디스플레이 장치가 또한 비디오 어댑터(48)와 같은 인터페이스를 통해 시스템 버스(23)에 접속된다. 모니터 외에, 컴퓨터는 전형적으로 스피커 및 프린터와 같은 다른 주변 출력 장치(도시 생략됨)를 포함한다.
컴퓨터(20)는 원격 컴퓨터(49)와 같은 하나 이상의 원격 컴퓨터에 대한 논리 접속을 이용하여 네트워크 환경에서 동작할 수 있다. 이러한 논리 접속은 컴퓨터(20) 또는 컴퓨터(20)의 일부에 결합된 통신 장치에 의해 달성되고, 구현예는 특정 유형의 통신 장치로 제한되지 않는다. 원격 컴퓨터(49)는 다른 컴퓨터, 서버, 라우터, 네트워크 PC, 클라이언트, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 전형적으로 컴퓨터(20)와 관련하여 전술한 요소들의 일부 또는 전부를 포함하지만, 도 8에서는 단지 메모리 스토리지 장치(50)만이 도시되어 있다. 도 8에 도시된 논리 접속은 근거리 통신망(LAN)(51) 및 광역 통신망(WAN)(52)을 포함한다. 이러한 네트워크 환경은 오피스 네트워크, 기업 광역 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이고, 이들은 모두 네트워크 유형이다.
LAN 네트워크 환경에서 사용될 때, 컴퓨터(20)는 통신 장치의 일종인 네트워크 인터페이스 또는 어댑터(53)를 통해 로컬 네트워크(51)에 접속된다. WAN 네트워크 환경에서 사용될 때, 컴퓨터(20)는 전형적으로 모뎀(54), 네트워크 어댑터, 일 유형의 통신 장치, 또는 광역 통신망(52)을 통해 통신을 확립하는 임의의 다른 유형의 통신 장치를 포함한다. 내장형 또는 외장형일 수 있는 모뎀(54)은 직렬 포트 인터페이스(46)를 통해 시스템 버스(23)에 접속된다. 네트워크 환경에 있어서, 퍼스널 컴퓨터(20)와 관련하여 도시된 프로그램 엔진 또는 그 일부는 원격 메모리 스토리지 장치에 저장될 수 있다. 도시된 네트워크 접속들은 단순히 예이고, 컴퓨터들 간에 통신 링크를 확립하기 위한 다른 수단 및 통신 장치를 이용할 수 있다는 것을 이해할 것이다.
예시적인 구현예에 있어서, 창 관리 시스템, 자기 지점, 애플리케이션 창 분할기 컨트롤을 제공하는 소프트웨어 또는 펌웨어 명령어 및 데이터, 및 다른 명령어 및 데이터가 메모리(22) 및/또는 스토리지 장치(29 또는 31)에 저장되고 처리 장치(21)에 의해 처리될 수 있다. 사용자 인터페이스 데이터, 속도 역치, 거리 역치 및 다른 데이터는 영구적 데이터 저장장치로서 메모리(22) 및/또는 스토리지 장치(29 또는 31)에 저장될 수 있다.
일부 실시형태는 제조 물품을 포함할 수 있다. 제조 물품은 로직을 저장하기 위한 유형적 기억 매체를 포함할 수 있다. 기억 매체의 예로는 휘발성 메모리 또는 비휘발성 메모리, 착탈식 또는 비착탈식 메모리, 소거식 또는 비소거식 메모리, 기입형 또는 재기입형 메모리 등을 포함한, 전자 데이터를 저장할 수 있는 하나 이상 유형의 컴퓨터 판독가능 기억 매체를 포함할 수 있다. 로직의 예로는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 기계 프로그램, 운영체제 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 기능, 방법, 절차, 소프트웨어 인터페이스, 애플리케이션 프로그램 인터페이스(API), 명령어 집합, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그멘트, 컴퓨터 코드 세그멘트, 워드, 값, 기호, 또는 이들의 임의 조합과 같은 각종 소프트웨어 요소를 포함할 수 있다. 일 실시형태에 있어서, 예를 들면, 제조 물품은 컴퓨터에 의해 실행될 때 컴퓨터로 하여금 전술한 실시형태에 따른 방법 및/또는 동작을 수행하게 하는 실행가능한 컴퓨터 프로그램 명령어를 저장할 수 있다. 실행가능한 컴퓨터 프로그램 명령어는 소스 코드, 컴파일드 코드, 인터프리티드 코드, 실행 코드, 정적 코드, 동적 코드 등과 같은 임의의 적당한 유형의 코드를 포함할 수 있다. 실행가능한 컴퓨터 프로그램 명령어는 소정의 기능을 수행하도록 컴퓨터에게 지시하는 미리 규정된 컴퓨터 언어, 방식 또는 구문에 따라 구현될 수 있다. 명령어는 임의의 적당한 고급, 저급, 객체 지향형, 비주얼, 컴파일드 및/또는 인터프리티드 프로그래밍 언어를 이용하여 구현될 수 있다.
여기에서 설명한 구현예들은 하나 이상의 컴퓨터 시스템에서 논리적 단계로서 구현된다. 논리적 동작은 (1) 하나 이상의 컴퓨터 시스템에서 실행하는 프로세서 구현 단계들의 시퀀스로서, 및 (2) 하나 이상의 컴퓨터 시스템 내의 상호접속된 기계 또는 회로 모듈로서 구현될 수 있다. 구현은 이용하는 컴퓨터 시스템의 성능 필요조건에 의존하는 선택의 문제이다. 따라서, 여기에서 설명한 구현예를 구성하는 논리적 동작들은 동작, 단계, 오브젝트 또는 모듈로서 다양하게 인용된다. 또한, 논리적 동작들은 명시적으로 다른 방식으로 청구되지 않는 한 또는 특정의 순서가 고유적으로 청구범위 언어(claim language)에 의해 필요하지 않는 한 임의의 순서로 수행될 수 있다는 것을 이해하여야 한다.
상기의 명세, 예 및 데이터는 예시적인 구현예의 구조 및 용도의 완전한 설명을 제공한다. 많은 구현예가 청구된 발명의 정신 및 범위로부터 벗어나지 않고 이루어질 수 있기 때문에, 뒤에 첨부된 특허 청구범위에 의해 본 발명이 규정된다. 또한, 다른 예의 구조적 특징이 인용된 특허 청구범위로부터 벗어나지 않고 다른 구현예와 결합될 수 있다.

Claims (23)

  1. 사용자 인터페이스에서 제1 애플리케이션의 제1 애플리케이션 창(application window) 및 제2 애플리케이션의 제2 상이한 애플리케이션 창에 의해 공유되는 애플리케이션 창 분할기 컨트롤을 제시하는 동작; 및
    상기 애플리케이션 창 분할기 컨트롤을 상기 사용자 인터페이스의 축을 따라 종점까지 이동시키는 상기 애플리케이션 창 분할기 컨트롤에 적용되는 수신된 지향성 명령(directional instruction)에 응답하여, 상기 축을 따른 지점들의 범위로부터 선택된 스냅핑 지점까지 상기 애플리케이션 창 분할기 컨트롤을 스냅(snap)시키는 동작을 포함하고, 상기 스냅핑 지점은 상기 종점에 기초하여 선택되는 것인, 방법.
  2. 제1항에 있어서,
    상기 제1 애플리케이션 창은 최소 크기 조건과 연관지어지며,
    상기 방법은,
    상기 스냅시키는 동작이 상기 최소 크기 조건을 만족시키도록 상기 제1 애플리케이션 창의 폭을 감소시킬 때 상기 제1 애플리케이션 창을 상기 사용자 인터페이스로부터 제거하는 동작
    을 더 포함하는 방법.
  3. 제2항에 있어서,
    상기 제1 애플리케이션 창은, 상기 지향성 명령의 방향으로 상기 제1 애플리케이션을 상기 사용자 인터페이스 밖으로 밀어내는 애니메이션과 함께, 상기 사용자 인터페이스로부터 제거되는 것인 방법.
  4. 제1항에 있어서,
    상기 제시하는 동작은 또한 상기 애플리케이션 창 분할기 컨트롤을 공유하지 않는 제3 애플리케이션 창을 제시하고, 상기 제3 애플리케이션 창은 상기 지향성 명령의 방향으로 상기 제1 애플리케이션 창과 상기 사용자 인터페이스의 가장자리 사이에 배치되며,
    상기 방법은,
    상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 최소 크기 조건을 만족시키도록 상기 제1 애플리케이션 창의 배치를 조정하는 동작과;
    상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 배치가 상기 제1 애플리케이션 창의 상기 최소 크기 조건을 만족시킨 후에 상기 제3 애플리케이션 창의 배치를 조정하는 동작
    을 더 포함하는 것인 방법.
  5. 제4항에 있어서,
    상기 제3 애플리케이션 창은 최소 크기 조건과 연관지어지며,
    상기 방법은,
    상기 제3 애플리케이션 창의 배치를 조정하는 동작이 상기 제3 애플리케이션 창의 최소 크기 조건을 만족시키도록 상기 제3 애플리케이션 창의 폭을 감소시킬 때 상기 제3 애플리케이션 창을 상기 사용자 인터페이스로부터 제거하는 동작
    을 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 제3 애플리케이션 창은, 상기 지향성 명령의 방향으로 상기 제3 애플리케이션을 상기 사용자 인터페이스 밖으로 밀어내는 애니메이션과 함께, 상기 사용자 인터페이스로부터 제거되는 것인, 방법.
  7. 제1항에 있어서,
    상기 애플리케이션 창 분할기 컨트롤을 스냅시키는 동작은,
    상기 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 또는 속도 조건을 만족시키는 경우 상기 스냅핑 지점까지 상기 애플리케이션 창 분할기 컨트롤을 스냅시키는 동작
    을 더 포함하는 것인, 방법.
  8. 제7항에 있어서,
    상기 스냅시키는 동작은,
    상기 애플리케이션 창 분할기 컨트롤이 상기 스냅핑 지점과 정렬되지 않지만 상기 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 및 속도 조건을 만족시키는 경우, 상기 축을 따라 상기 스냅핑 지점과 정렬되도록 상기 애플리케이션 창 분할기 컨트롤을 이동시키는 동작
    을 포함하는 것인, 방법.
  9. 컴퓨터 프로세스를 컴퓨터 시스템 상에서 실행하기 위한 컴퓨터 실행가능 명령어를 인코딩한 유형물의 하나 이상의 컴퓨터 판독가능 저장 매체에 있어서, 상기 컴퓨터 프로세스는,
    사용자 인터페이스에서 제1 애플리케이션의 제1 애플리케이션 창(application window) 및 제2 상이한 애플리케이션의 제2 애플리케이션 창에 의해 공유되는 애플리케이션 창 분할기 컨트롤을 제시하는 동작과:
    상기 애플리케이션 창 분할기 컨트롤을 상기 사용자 인터페이스의 축을 따라 종점까지 이동시키는 상기 애플리케이션 창 분할기 컨트롤에 적용되는 수신된 지향성 명령(directional instruction)에 응답하여, 상기 축을 따른 지점들의 범위로부터 선택된 스냅핑 지점까지 상기 애플리케이션 창 분할기 컨트롤을 스냅시키는 동작을 포함하고, 상기 스냅핑 지점은 상기 종점에 기초하여 선택되는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  10. 제9항에 있어서,
    상기 제1 애플리케이션 창은 최소 크기 조건과 연관지어지며,
    상기 컴퓨터 프로세스는,
    상기 스냅시키는 동작이 상기 최소 크기 조건을 만족시키도록 상기 제1 애플리케이션 창의 폭을 감소시킬 때 상기 제1 애플리케이션 창을 상기 사용자 인터페이스로부터 제거하는 동작
    을 더 포함하는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  11. 제9항에 있어서,
    상기 제시하는 동작은 또한 상기 애플리케이션 창 분할기 컨트롤을 공유하지 않는 제3 애플리케이션 창을 제시하고, 상기 제3 애플리케이션 창은 상기 지향성 명령의 방향으로 상기 제1 애플리케이션 창과 상기 사용자 인터페이스의 가장자리 사이에 배치되며,
    상기 스냅시키는 동작은,
    상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 최소 크기 조건을 만족시키도록 상기 제1 애플리케이션 창의 배치를 조정하는 동작과;
    상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 배치가 상기 제1 애플리케이션 창의 상기 최소 크기 조건을 만족시킨 후에 상기 제3 애플리케이션 창의 배치를 조정하는 동작
    을 더 포함하는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  12. 제11항에 있어서,
    상기 제3 애플리케이션 창은 최소 크기 조건과 연관지어지며,
    상기 컴퓨터 프로세스는,
    상기 제3 애플리케이션 창의 배치를 조정하는 동작이 상기 제3 애플리케이션 창의 최소 크기 조건을 만족시키도록 상기 제3 애플리케이션 창의 폭을 감소시킬 때 상기 제3 애플리케이션 창을 상기 사용자 인터페이스로부터 제거하는 동작
    을 더 포함하는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  13. 제12항에 있어서,
    상기 제3 애플리케이션 창은, 상기 지향성 명령의 방향으로 상기 제3 애플리케이션을 상기 사용자 인터페이스 밖으로 밀어내는 애니메이션과 함께, 상기 사용자 인터페이스로부터 제거되는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  14. 제9항에 있어서,
    상기 애플리케이션 창 분할기 컨트롤을 스냅시키는 동작은,
    상기 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 또는 속도 조건을 만족시키는 경우 상기 스냅핑 지점까지 상기 애플리케이션 창 분할기 컨트롤을 스냅시키는 동작
    을 더 포함하는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  15. 제14항에 있어서,
    상기 스냅시키는 동작은,
    상기 애플리케이션 창 분할기 컨트롤이 상기 스냅핑 지점과 정렬되지 않지만 상기 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 및 속도 조건을 만족시키는 경우, 상기 축을 따라 상기 스냅핑 지점과 정렬되도록 상기 애플리케이션 창 분할기 컨트롤을 이동시키는 동작
    을 포함하는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  16. 제14항에 있어서,
    상기 스냅핑 지점은 상기 지향성 명령 동안 동적으로 계산되는 것인, 하나 이상의 컴퓨터 판독가능 저장 매체.
  17. 시스템에 있어서,
    사용자 인터페이스를 제시하는 컴퓨팅 장치와;
    제1 애플리케이션의 제1 애플리케이션 창(application window) 및 제2 상이한 애플리케이션의 제2 애플리케이션 창에 의해 공유되는 보여지는 애플리케이션 창 분할기 컨트롤을, 상기 보여지는 애플리케이션 창 분할기 컨트롤을 종점까지 이동시키는 상기 보여지는 애플리케이션 창 분할기 컨트롤에 적용되는 수신된 지향성 명령(directional instruction)에 응답하여, 사용자 인터페이스의 축을 따른 지점들의 범위로부터 선택된 스냅핑 지점까지 스냅시키도록 구성된 창 관리 시스템
    을 포함하고,
    상기 창 관리 시스템은 또한, 상기 스냅핑 지점을 상기 지향성 명령의 상기 종점에 기초하여 선택하도록 구성되는 것인, 시스템.
  18. 제17항에 있어서,
    상기 창 관리 시스템은 또한, 상기 제1 애플리케이션 창을 스냅시키는 동작이 최소 크기 조건을 만족시키도록 상기 제1 애플리케이션 창의 폭을 감소시킬 때 상기 제1 애플리케이션 창을 상기 사용자 인터페이스로부터 제거하도록 구성되는 것인, 시스템.
  19. 제17항에 있어서,
    상기 창 관리 시스템은 또한, 상기 보여지는 애플리케이션 창 분할기 컨트롤을 공유하지 않는 제3 애플리케이션 창을 제시하도록 구성되고,
    상기 제3 애플리케이션 창은 상기 지향성 명령의 방향으로 상기 제1 애플리케이션 창과 상기 사용자 인터페이스의 가장자리 사이에 배치되며,
    상기 제1 애플리케이션 창의 배치는 상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 최소 크기 조건을 만족시키도록 조정되고,
    상기 제3 애플리케이션 창의 배치는 상기 지향성 명령에 응답하여, 상기 제1 애플리케이션 창의 배치가 상기 제1 애플리케이션 창의 상기 최소 크기 조건을 만족시킨 후에 조정되는 것인, 시스템.
  20. 제17항에 있어서,
    상기 창 관리 시스템은 또한, 상기 보여지는 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 또는 속도 조건을 만족시키는 경우 상기 축을 따라 상기 스냅핑 지점까지 상기 보여지는 애플리케이션 창 분할기 컨트롤을 스냅(snap)시키도록 구성되고,
    상기 보여지는 애플리케이션 창 분할기 컨트롤은 상기 보여지는 애플리케이션 창 분할기 컨트롤이 상기 스냅핑 지점과 정렬되지 않지만 상기 보여지는 애플리케이션 창 분할기 컨트롤의 이동이 상기 스냅핑 지점에 대한 거리 조건 및 속도 조건을 만족시키는 경우, 상기 축을 따라 상기 스냅핑 지점과 정렬되도록 이동함으로써 상기 스냅핑 지점까지 스냅하는 것인, 시스템.
  21. 제1항에 있어서,
    상기 애플리케이션 창 분할기 컨트롤은 상기 제1 애플리케이션 창 및 상기 제2 애플리케이션 창에 대한 경계(boundary)를 제공하는 것인, 방법.
  22. 제1항에 있어서,
    상기 스냅핑 지점은 상기 사용자 인터페이스의 상기 축을 따라 일정하게 이격된 지점들의 범위로부터 선택되는 것인, 방법.
  23. 제1항에 있어서,
    상기 지향성 명령의 완료에 대한 수용(committal)을 나타내는 입력을 검출하는 동작을 더 포함하고, 상기 스냅시키는 동작은 상기 입력의 검출에 응답하여 수행되는 것인, 방법.
KR1020157032167A 2013-04-15 2013-09-18 창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤 KR102113371B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/863,369 US11294529B2 (en) 2013-04-15 2013-04-15 Application window divider control for window layout management
US13/863,369 2013-04-15
PCT/US2013/060247 WO2014171963A1 (en) 2013-04-15 2013-09-18 Application window divider control for window layout management

Publications (2)

Publication Number Publication Date
KR20150143630A KR20150143630A (ko) 2015-12-23
KR102113371B1 true KR102113371B1 (ko) 2020-05-20

Family

ID=49484417

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157032167A KR102113371B1 (ko) 2013-04-15 2013-09-18 창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤

Country Status (19)

Country Link
US (3) US11294529B2 (ko)
EP (1) EP2987077B1 (ko)
JP (1) JP6216440B2 (ko)
KR (1) KR102113371B1 (ko)
CN (2) CN105190544A (ko)
AU (1) AU2013386836B2 (ko)
BR (1) BR112015025939B1 (ko)
CA (1) CA2908006C (ko)
CL (1) CL2015003057A1 (ko)
HK (1) HK1214872A1 (ko)
IL (1) IL241765B (ko)
MX (1) MX2015014579A (ko)
MY (1) MY180954A (ko)
NZ (1) NZ712845A (ko)
PH (1) PH12015502311A1 (ko)
RU (1) RU2656993C2 (ko)
SG (2) SG11201508348WA (ko)
WO (1) WO2014171963A1 (ko)
ZA (1) ZA201507206B (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
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
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9158383B2 (en) 2012-03-02 2015-10-13 Microsoft Technology Licensing, Llc Force concentrator
US9075566B2 (en) 2012-03-02 2015-07-07 Microsoft Technoogy Licensing, LLC Flexible hinge spine
US20130300590A1 (en) 2012-05-14 2013-11-14 Paul Henry Dietz Audio Feedback
US11294529B2 (en) 2013-04-15 2022-04-05 Microsoft Technology Licensing, Llc Application window divider control for window layout management
US9594603B2 (en) 2013-04-15 2017-03-14 Microsoft Technology Licensing, Llc Application-to-application launch windowing
US10754536B2 (en) 2013-04-29 2020-08-25 Microsoft Technology Licensing, Llc Content-based directional placement application launch
US10691291B2 (en) * 2013-05-24 2020-06-23 Samsung Electronics Co., Ltd. Method and apparatus for displaying picture on portable device
KR102220085B1 (ko) * 2013-10-18 2021-02-26 삼성전자주식회사 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치
JP5924554B2 (ja) * 2014-01-06 2016-05-25 コニカミノルタ株式会社 オブジェクトの停止位置制御方法、操作表示装置およびプログラム
US9606710B1 (en) * 2014-03-31 2017-03-28 Amazon Technologies, Inc. Configuring movement-based user interface control
US10437447B1 (en) 2014-03-31 2019-10-08 Amazon Technologies, Inc. Magnet based physical model user interface control
US9648062B2 (en) * 2014-06-12 2017-05-09 Apple Inc. Systems and methods for multitasking on an electronic device with a touch-sensitive display
EP3108354A2 (en) * 2014-06-12 2016-12-28 Apple Inc. Systems and methods for multitasking on an electronic device with a touch-sensitive display
US10324733B2 (en) 2014-07-30 2019-06-18 Microsoft Technology Licensing, Llc Shutdown notifications
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US9787576B2 (en) 2014-07-31 2017-10-10 Microsoft Technology Licensing, Llc Propagating routing awareness for autonomous networks
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
KR102328823B1 (ko) 2014-11-12 2021-11-19 삼성전자 주식회사 화면 내 빈 영역 활용 방법 및 장치
US10018844B2 (en) 2015-02-09 2018-07-10 Microsoft Technology Licensing, Llc Wearable image display system
EP3889748A1 (en) * 2015-06-07 2021-10-06 Apple Inc. Device, method, and graphical user interface for manipulating application windows
US20160364126A1 (en) * 2015-06-11 2016-12-15 Sap Se Dynamic adaptive user interface control
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
US10748312B2 (en) 2016-02-12 2020-08-18 Microsoft Technology Licensing, Llc Tagging utilizations for selectively preserving chart elements during visualization optimizations
KR102328102B1 (ko) 2017-03-08 2021-11-17 삼성전자주식회사 전자 장치 및 전자 장치의 화면 표시방법
US11966578B2 (en) 2018-06-03 2024-04-23 Apple Inc. Devices and methods for integrating video with user interface navigation
CN110046010A (zh) * 2019-02-19 2019-07-23 阿里巴巴集团控股有限公司 界面处理方法、装置及系统
CN111814087B (zh) * 2019-04-25 2023-03-14 厦门雅基软件有限公司 Web窗口的动态布局方法、装置、电子设备及可读存储介质
CN111611035B (zh) * 2020-04-29 2022-05-31 浙江大华技术股份有限公司 自定义窗口分割布局方法、装置、计算机设备和存储介质
CN113703903A (zh) * 2021-09-10 2021-11-26 广州朗国电子科技股份有限公司 一种分屏显示方法及装置
CN114595020B (zh) * 2022-02-25 2023-12-19 深圳盛显科技有限公司 基于钩子技术的分屏显示方法、装置、系统及存储介质
CN116048341B (zh) * 2022-07-28 2023-09-15 荣耀终端有限公司 一种多屏协同方法及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101099317B1 (ko) * 2005-04-29 2011-12-26 마이크로소프트 코포레이션 윈도우 관리 모드를 제공하는 시스템 및 방법
US20120054674A1 (en) * 2010-08-31 2012-03-01 Blackboard Inc. Smart docking for windowing systems
US20120166980A1 (en) 2009-05-24 2012-06-28 International Business Machines Corporation Automatic Sash Configuration in a GUI Environment
WO2012166182A1 (en) 2011-05-27 2012-12-06 Microsoft Corporation Multi-application environment

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US5920315A (en) * 1996-07-17 1999-07-06 International Business Machines Corporation Multi-pane window with recoiling workspaces
US5771042A (en) * 1996-07-17 1998-06-23 International Business Machines Corporation Multi-size control for multiple adjacent workspaces
US6166736A (en) * 1997-08-22 2000-12-26 Natrificial Llc Method and apparatus for simultaneously resizing and relocating windows within a graphical display
US6008809A (en) * 1997-09-22 1999-12-28 International Business Machines Corporation Apparatus and method for viewing multiple windows within a dynamic window
US6473102B1 (en) * 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
US6195094B1 (en) * 1998-09-29 2001-02-27 Netscape Communications Corporation Window splitter bar system
US6661436B2 (en) * 2000-12-07 2003-12-09 International Business Machines Corporation Method for providing window snap control for a split screen computer program GUI
US20020191028A1 (en) 2001-06-19 2002-12-19 Senechalle David A. Window manager user interface
US7549127B2 (en) * 2002-08-01 2009-06-16 Realnetworks, Inc. Method and apparatus for resizing video content displayed within a graphical user interface
US7480872B1 (en) 2003-04-06 2009-01-20 Apple Inc. Method and apparatus for dynamically resizing windows
US7839419B2 (en) 2003-10-23 2010-11-23 Microsoft Corporation Compositing desktop window manager
US8276095B2 (en) * 2004-02-20 2012-09-25 Advanced Intellectual Property Group, Llc System for and method of generating and navigating within a workspace of a computer application
US20060020903A1 (en) * 2004-07-26 2006-01-26 Shih-Yang Wang Window split system and method
US20060053384A1 (en) * 2004-09-07 2006-03-09 La Fetra Frank E Jr Customizable graphical user interface for utilizing local and network content
JP4238222B2 (ja) * 2005-01-04 2009-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト編集システム、オブジェクト編集方法及びオブジェクト編集プログラム
US7890882B1 (en) * 2006-04-20 2011-02-15 Adobe Systems Incorporated Content and proximity based window layout optimization
US8381130B2 (en) * 2006-11-29 2013-02-19 Yahoo! Inc. Method and user interface tool for navigation through grid of scheduled items
US20080163104A1 (en) * 2006-12-30 2008-07-03 Tobias Haug Multiple window handler on display screen
JP4982505B2 (ja) * 2007-01-25 2012-07-25 シャープ株式会社 マルチウィンドウ管理装置及びプログラム、記憶媒体、並びに情報処理装置
TWI381304B (zh) * 2008-04-22 2013-01-01 Htc Corp 使用者介面顯示區域的調整方法、裝置及儲存媒體
US8063454B2 (en) 2008-08-13 2011-11-22 Micron Technology, Inc. Semiconductor structures including a movable switching element and systems including same
US20110119597A1 (en) 2009-05-09 2011-05-19 Vivu, Inc. Method and apparatus for capability-based multimedia interactions
EP3338852B1 (en) 2010-05-05 2023-01-04 ElectroPhysiology Frontiers S.p.A. Anchored cardiac ablation catheter
US20120299968A1 (en) * 2011-05-27 2012-11-29 Tsz Yan Wong Managing an immersive interface in a multi-application immersive environment
KR101859100B1 (ko) * 2011-07-19 2018-05-17 엘지전자 주식회사 휴대 전자기기 및 이의 제어방법
KR101888457B1 (ko) * 2011-11-16 2018-08-16 삼성전자주식회사 복수 개의 어플리케이션을 실행하는 터치스크린을 가지는 장치 및 그 제어 방법
US20130254708A1 (en) * 2012-03-26 2013-09-26 Ipplex Holdings Corporation Communication Room Management Systems
KR102069014B1 (ko) * 2012-09-25 2020-02-12 삼성전자 주식회사 휴대단말기의 분리화면 제어장치 및 방법
US10152459B2 (en) * 2013-02-20 2018-12-11 Google Llc Intelligent window placement with multiple windows using high DPI screens
US11294529B2 (en) 2013-04-15 2022-04-05 Microsoft Technology Licensing, Llc Application window divider control for window layout management
US10754536B2 (en) * 2013-04-29 2020-08-25 Microsoft Technology Licensing, Llc Content-based directional placement application launch

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101099317B1 (ko) * 2005-04-29 2011-12-26 마이크로소프트 코포레이션 윈도우 관리 모드를 제공하는 시스템 및 방법
US20120166980A1 (en) 2009-05-24 2012-06-28 International Business Machines Corporation Automatic Sash Configuration in a GUI Environment
US20120054674A1 (en) * 2010-08-31 2012-03-01 Blackboard Inc. Smart docking for windowing systems
WO2012166182A1 (en) 2011-05-27 2012-12-06 Microsoft Corporation Multi-application environment

Also Published As

Publication number Publication date
EP2987077A1 (en) 2016-02-24
KR20150143630A (ko) 2015-12-23
CA2908006A1 (en) 2014-10-23
MX2015014579A (es) 2016-03-04
SG11201508348WA (en) 2015-11-27
EP2987077B1 (en) 2020-07-29
US20140310646A1 (en) 2014-10-16
US20240061543A1 (en) 2024-02-22
AU2013386836B2 (en) 2020-01-16
CA2908006C (en) 2022-04-12
CN105190544A (zh) 2015-12-23
BR112015025939B1 (pt) 2021-11-30
JP6216440B2 (ja) 2017-10-18
HK1214872A1 (zh) 2016-08-05
US20220214776A1 (en) 2022-07-07
RU2015144183A (ru) 2017-04-18
MY180954A (en) 2020-12-14
CN113821290A (zh) 2021-12-21
RU2656993C2 (ru) 2018-06-07
US11294529B2 (en) 2022-04-05
PH12015502311A1 (en) 2016-02-10
ZA201507206B (en) 2017-11-29
NZ712845A (en) 2020-01-31
JP2016518658A (ja) 2016-06-23
BR112015025939A8 (pt) 2020-01-14
AU2013386836A1 (en) 2015-10-22
WO2014171963A1 (en) 2014-10-23
IL241765B (en) 2020-03-31
SG10201707722WA (en) 2017-11-29
US11836327B2 (en) 2023-12-05
BR112015025939A2 (pt) 2017-07-25
CL2015003057A1 (es) 2016-08-19

Similar Documents

Publication Publication Date Title
KR102113371B1 (ko) 창 레이아웃 관리를 위한 애플리케이션 창 분할기 컨트롤
AU2017200737B2 (en) Multi-application environment
JP5734037B2 (ja) 情報処理装置およびその制御方法およびプログラム
US9423951B2 (en) Content-based snap point
US10579218B2 (en) Application producing apparatus, system, method, and non-transitory computer readable medium
US20160077685A1 (en) Operating System Virtual Desktop Techniques
US9207849B2 (en) Start and application navigation
US20140096047A1 (en) Electronic apparatus, method of executing application, and computer readable recording medium
US9058101B2 (en) Display control device and display control method
US20170287444A1 (en) Display control device, display control method, and display control program
GB2530078A (en) Launching applications through an application selection screen
US20180121063A1 (en) Techniques for displaying layouts and transitional layouts of sets of content items in response to user touch inputs
EP2987076B1 (en) Application-to-application launch windowing
US20110316877A1 (en) Display area control apparatus, display area control method, and integrated circuit
US20220121355A1 (en) Terminal, method for controlling same, and recording medium in which program for implementing the method is recorded
US20210389849A1 (en) Terminal, control method therefor, and recording medium in which program for implementing method is recorded
CN115309319B (zh) 一种图片预览方法、装置、电子设备及存储介质
US20130275912A1 (en) Electronic apparatus and object processing method thereof
KR20210046633A (ko) 단말기, 이의 제어 방법 및 상기 방법을 구현하기 위한 프로그램을 기록한 기록 매체

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant