@@ -29,7 +29,6 @@ fn main() -> Result<(), Box<dyn Error>> {
29
29
log:: trace!( "Logger initialized." ) ;
30
30
31
31
let display = Display :: connect_to_env ( ) ?;
32
- let mut extension = backend:: EncodingFormat :: Png ;
33
32
34
33
let mut cursor_overlay: i32 = 0 ;
35
34
if args. is_present ( "cursor" ) {
@@ -111,14 +110,32 @@ fn main() -> Result<(), Box<dyn Error>> {
111
110
backend:: capture_output_frame ( display, cursor_overlay, output, None ) ?
112
111
} ;
113
112
113
+ let extension = if args. is_present ( "extension" ) {
114
+ let ext = args. value_of ( "extension" ) . unwrap ( ) . trim ( ) ;
115
+ match ext {
116
+ "jpeg" | "jpg" => backend:: EncodingFormat :: Jpg ,
117
+ "png" => backend:: EncodingFormat :: Png ,
118
+ "ppm" => backend:: EncodingFormat :: Ppm ,
119
+ _ => {
120
+ log:: error!( "Invalid extension provided.\n Valid extensions:\n 1) jpeg\n 2) jpg\n 3) png\n 4) ppm" ) ;
121
+ exit ( 1 ) ;
122
+ }
123
+ }
124
+ } else {
125
+ backend:: EncodingFormat :: Png
126
+ } ;
127
+
128
+ if extension != backend:: EncodingFormat :: Png {
129
+ log:: debug!( "Using custom extension: {:#?}" , extension) ;
130
+ }
131
+
114
132
if args. is_present ( "stdout" ) {
115
133
let stdout = stdout ( ) ;
116
134
let writer = BufWriter :: new ( stdout. lock ( ) ) ;
117
135
backend:: write_to_file ( writer, extension, frame_copy) ?;
118
136
} else {
119
- let path: String ;
120
- if args. is_present ( "file" ) {
121
- path = args. value_of ( "file" ) . unwrap ( ) . trim ( ) . to_string ( ) ;
137
+ let path = if args. is_present ( "file" ) {
138
+ args. value_of ( "file" ) . unwrap ( ) . trim ( ) . to_string ( )
122
139
} else {
123
140
let time = match SystemTime :: now ( ) . duration_since ( UNIX_EPOCH ) {
124
141
Ok ( n) => n. as_secs ( ) . to_string ( ) ,
@@ -128,28 +145,15 @@ fn main() -> Result<(), Box<dyn Error>> {
128
145
}
129
146
} ;
130
147
131
- if args. is_present ( "extension" ) {
132
- let ext = args. value_of ( "extension" ) . unwrap ( ) . trim ( ) ;
133
- match ext {
134
- "jpeg" | "jpg" => {
135
- extension = backend:: EncodingFormat :: Jpg ;
136
- log:: debug!( "Using custom extension: {:#?}" , extension) ;
137
- }
138
- "png" => { }
139
- _ => {
140
- log:: error!( "Invalid extension provided.\n Valid extensions:\n 1) jpeg\n 2) jpg\n 3) png" ) ;
141
- exit ( 1 ) ;
142
- }
143
- }
148
+ time + match extension {
149
+ backend:: EncodingFormat :: Png => "-wayshot.png" ,
150
+ backend:: EncodingFormat :: Jpg => "-wayshot.jpg" ,
151
+ backend:: EncodingFormat :: Ppm => "-wayshot.ppm" ,
144
152
}
145
- path = time
146
- + match extension {
147
- backend:: EncodingFormat :: Png => "-wayshot.png" ,
148
- backend:: EncodingFormat :: Jpg => "-wayshot.jpg" ,
149
- } ;
150
- }
153
+ } ;
151
154
152
155
backend:: write_to_file ( File :: create ( path) ?, extension, frame_copy) ?;
153
156
}
157
+
154
158
Ok ( ( ) )
155
159
}
0 commit comments