summaryrefslogtreecommitdiff
path: root/TODO
blob: 937cc5d6529bd08c94fc4dbfd80443a475a95cf8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
- When failing from the command line, print failure on stdout rather
  than displaying an alert.

- Keyboard shortcuts
  	   zoom in
	   zoom out
	   ...	   	

- Icon
  - Set the image as icon when one is loaded

- Recent files

- Full screen view

- Statusbar
  - Size, position, color

- One-instance
  - Make it one-instance with d-bus so that if you try to open the
    same image twice, you will get the old window.

    - Own the "siv.gnome.org" name, have a method to open a new
      window (or present an existing one).

    - On startup: 
      	 if (!own_name())
	    get_name().open (filename);
         else
	    open (filename);

    - Look at evince.

  - "Open a copy"

  - At that point, caching the meta data should be feasible (though it
    should still deal with the case where someone presses Ctrl-C).

- Metadata
  - Keep track of when files are used
  - Limit size to 10000 most recently used files

Done:

- Find out why it's so slow when loading huge images

- Icon

- If more than one instance of the application is
  open, then things go haywrite.
    
  Either only allow one open instance, or monitor the metadata file.

  Or only write out the ones we have changed - ie., write-out
  consists of reading the file into hash table, then modifying, then
  writing out.

  In fact, maybe we should just never cache the table in memory.
  Just read it every time we need data from it.

  If people put .gnome2 on NFS, then they lose.

- Set mimetypes in open dialog

- Dragging

- Remember position of empty window

- .desktop file

- Make sure filenames are escaped if they contains [ or ]

- About box

- Build system

- Meta data

- Save adjustment positions

- Open